将外部参照 (xref) 附着到图形。 支持的平台:仅窗口 签名工 务 局: RetVal = object.AttachExternalReference(PathName, Name, InsertionPoint, XScale, YScale, ZScale, Rotation, Overlay [, Password])
RemarksLike objects, attached objects can be nested. If another person is editing the drawing to be referenced, the drawing attached is based on the most recently saved version. BlockExternalReference If the referenced file is missing or corrupt, its data is not displayed in the current drawing. ExamplesVBA: Sub Example_AttachExternalReference() ' This example displays all the blocks in the current drawing ' before and after adding an external reference. ' ' This example uses the "city map.dwg" found in the Sample ' directory. If you do not have this drawing, or if it is ' in a different directory, insert a valid path and file name ' for the PathName variable below. Dim InsertPoint(0 To 2) As Double Dim insertedBlock As AcadExternalReference Dim tempBlock As AcadBlock Dim msg As String, PathName As String ' Define external reference to be inserted InsertPoint(0) = 1: InsertPoint(1) = 1: InsertPoint(2) = 0 PathName = "c:\program files\autocad\sample\city map.dwg" ' Display current Block information for this drawing GoSub ListBlocks ' Add the external reference to the drawing Set insertedBlock = ThisDrawing.ModelSpace.AttachExternalReference(PathName, "XREF_IMAGE", InsertPoint, 1, 1, 1, 0, False) ThisDrawing.Application.ZoomAll ' Display new Block information for this drawing GoSub ListBlocks Exit Sub ListBlocks: msg = vbCrLf ' Reset message For Each tempBlock In ThisDrawing.Blocks msg = msg & tempBlock.name & vbCrLf ' Add Block to list Next MsgBox "The current blocks in this drawing are: " & msg Return End Sub Visual LISP: (vl-load-com) (defun c:Example_AttachExternalReference() ;; This example displays all the blocks in the current drawing ;; before and after adding an external reference. ;; ;; This example uses the "STAIR1.dwg" found in the Sample ;; directory. If you do not have this drawing, or if it is ;; in a different directory, insert a valid path and file name ;; for the PathName variable below. (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; Define external reference to be inserted (setq InsertPoint (vlax-3d-point 1 1 0)) (setq pathName (findfile ".\\Sample\\Sheet Sets\\Architectural\\Res\\STAIR1.dwg")) ;; Display current Block information for this drawing (setq msg "") (vlax-for tempBlock (vla-get-Blocks doc) (setq msg (strcat msg (vla-get-Name tempBlock) "\n")) ;; Add Block to list ) (alert (strcat "The current blocks in this drawing are: " msg)) ;; Add the external reference to the drawing (setq modelSpace (vla-get-ModelSpace doc)) (setq insertedBlock (vla-AttachExternalReference modelSpace pathName "XREF_IMAGE" InsertPoint 1 1 1 0 :vlax-false)) (vla-ZoomAll acadObj) ;; Display new Block information for this drawing (setq msg "") (vlax-for tempBlock (vla-get-Blocks doc) (setq msg (strcat msg (vla-get-Name tempBlock) "\n")) ;; Add Block to list ) (alert (strcat "The current blocks in this drawing are: " msg)) ) |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 苏公网安备32011402011833)
GMT+8, 2025-1-8 19:41
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.