Bryco 发表于 2006-6-21 07:18:59

使用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中执行相同的任务,但是haven#039;无法对其进行编码以进行部分dwg安装。
帮助?。。。请

超级粽子 发表于 2006-6-21 08:20:16

为什么要插入图形,只需编写vba应用程序来创建必要的图层

粽子没错 发表于 2006-6-21 08:36:17

因为重新编写我所有的图层、颜色、线型、绘图/非绘图等,对于我所有的AEC学科来说,这将占用一天的大部分时间。

诸葛晴 发表于 2006-6-21 09:57:13

您还可以插入一个只有层的空,然后删除blockref
然后删除块(首先删除块中的所有元素)
只要你的层需要一天的时间。你可以制作一个包含所有图层信息的txt文件(几分钟的代码),然后阅读。

两只老虎 发表于 2006-6-22 21:04:10

从图形克隆到另一个图形:
[代码0确保设置对AutoCAD/ObjectDBX Common 16.0类型库的引用。

黄骅百姓 发表于 2006-6-23 07:08:53

谢谢你的密码Glenn
Bryco,我最终采纳了你的建议,谢谢!

蓝天下的小伞 发表于 2006-6-23 12:41:55

才华横溢的格伦 非常感谢 本人'很长一段时间以来,我一直在寻找一种通过编程实现PSETUPIN的方法,但我已经放弃了 这个效果很好。

蒲飞 发表于 2006-6-23 15:15:17

那么你在鲍勃身上做得怎么样?

飞碟 发表于 2006-6-23 16:13:30

当前使用页面设置中的导入按钮 有了这个,我会这样做Public Sub CloneSetups()
    Dim pAxDoc As AxDbDocument
    ' Create an instance...
    Set pAxDoc = New AxDbDocument
    ' Load in the drawing containg the layers...
    pAxDoc.Open "p:\acad2k6\satblk\SNA-AZTU-PAGESETUPS.dwg"
   
    ' Delcare an object array to hold the layers...
    Dim pSetToClone() As AcadPlotConfiguration
    Dim i As Integer
    Dim pAxPSet As AcadPlotConfiguration
   
    i = -1
    For Each pAxPSet In pAxDoc.PlotConfigurations
      i = i + 1
      ReDim Preserve pSetToClone(i)
      Set pSetToClone(i) = pAxPSet
    Next
   
    ' Clone 'em!
    pAxDoc.CopyObjects pSetToClone, ThisDrawing.PlotConfigurations
   
    ' Clean up
    Set pAxDoc = Nothing
End Sub 显然,上述内容是对格伦&#039的快速编辑;s sub进行测试,看看它是否可以工作,它确实可以 我可能会重新命名一些东西,以符合我的惯例,但它35;039;s杰出。

中原一点粽 发表于 2006-6-23 16:27:55

我本来也会这么做的,但你抢先了我一步。
页: [1] 2
查看完整版本: 使用VBA部分插入dwg