CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

ActiveX 开发指南

关于附着外部参照 (VBA/ActiveX)

2023-1-4 19:32| 发布者: admin| 查看: 471| 评论: 0|来自: AutoCAD

摘要: 附着外部参照会将一个图形(参照文件或外部参照)链接到当前图形。

附着外部参照会将一个图形(参照文件或外部参照)链接到当前图形。

当图形参照外部参照时,AutoCAD 仅将外部参照定义附着到图形,这与常规块不同,常规块的定义和块的内容与当前图形一起存储。AutoCAD 读取参照图形以确定要在当前图形中显示的内容。如果参照文件丢失或损坏,则其数据不会显示在当前图形中。每次打开图形时,AutoCAD 都会从参照文件中加载所有图形和非图形(如图层、线型和文本样式)对象。如果 VISRETAIN 处于打开状态,AutoCAD 会将任何更新的外部参照相关图层信息存储在当前图形中。

您可以根据需要附着任意数量的外部参照副本,并且每个副本可以具有不同的位置、比例和旋转。还可以控制外部参照中定义的从属图层和线型特性。

要附着外部参照,请使用该方法。此方法要求您输入要参照的图形的路径和文件名、外部参照在当前图形中使用的名称、插入点、比例和外部参照的旋转信息。该方法返回新创建的对象。AttachExternalReferenceAttachExternalReferenceExternalReference

将外部参照附着到图形

本示例显示添加外部参照之前和之后当前绘图中的所有块。此示例使用示例目录中的3D House.dwg文件。如果没有此映像,或者它位于其他目录中,请为变量插入有效的路径和文件名。PathName

Sub Ch10_AttachingExternalReference()
 On Error GoTo ERRORHANDLER
 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/Autodesk/AutoCAD release/sample/3D House.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)
 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
 Next
 MsgBox "The current blocks in this drawing are: " & msg
 Return
 
ERRORHANDLER:
 MsgBox Err.Description
End Sub

路过

雷人

握手

鲜花

鸡蛋

最新评论

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-12 13:27

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部