使用VBA部分插入dwg
我通常使用宏将包含所有分层信息的dwg部分插入到dwg中,然后取消。这样可以防止dwg在获取所有分层数据时包含任何dwg图元。我的宏代码如下:^C^C_ i;无论什么图纸^C^C^C ^C_-清除;bn^C^C_-清除;bn^C^C_-清除;bn^C^C_qsave^M
我想在VBA中执行相同的任务,但无法编写代码来执行部分dwg安装。
帮助?。。。请
**** Hidden Message ***** 为什么要费心插入图纸,只需编写一个vba应用程序即可创建必要的图层 因为要重写我所有的分层,颜色,线型,情节/noplot等...因为我所有的AEC学科都需要一天的大部分时间。 您还可以插入一个只有层的空,然后删除块ref。
然后删除块(先删除块中的所有ent)。
至于您的图层需要一天时间。您可以制作一个包含所有图层信息的txt文件(几分钟的代码),然后阅读它。 从图形克隆到另一个图形:
Public Sub CloneLayers()
Dim pAxDoc As AxDbDocument
' Create an instance...
Set pAxDoc = New AxDbDocument
' Load in the drawing containg the layers...
pAxDoc.Open "C:\Temp\CloneLayersTest.dwg"
' Delcare an object array to hold the layers...
Dim pLayersToClone() As AcadLayer
Dim i As Integer
Dim pAxLayer As AcadLayer
i = -1
For Each pAxLayer In pAxDoc.Layers
i = i + 1
ReDim Preserve pLayersToClone(i)
Set pLayersToClone(i) = pAxLayer
Next
' Clone 'em!
pAxDoc.CopyObjects pLayersToClone, ThisDrawing.Layers
' Clean up
Set pAxDoc = Nothing
End Sub
确保设置对AutoCAD/ObjectDBX Common 16.0类型库的引用。干杯,格伦。 谢谢你的密码,格伦
代码1]
上面,显然,是对Glenn的子的快速编辑,以测试并查看它是否有效,它确实如此。 我可能会重命名一些东西以适应我的惯例,但它非常出色。 我也想这么做,但你抢先了我一步。 不客气,鲍勃。事实上,我已经做了几年同样的事情(导入页面设置)
这意味着,如果要在同一图形上连续两次运行代码以导入页面设置,然后启动页面设置对话框,您将看到重复项出现。在作为安全措施导入之前,我会删除所有页面设置<使用C#有一种更好的方法,但是先删除是可以的。如果需要的话,我可以解释更多。 感谢您的提示,绝对要知道。 当我开始深入研究C#时,只要我能找到时间,我可能会以更好的方式打击你。
页:
[1]