YZ 发表于 2022-7-6 17:16:15

在50+Dra中更改图层颜色

我们刚刚发现,一系列图表中的房屋线条混合太多,因此我需要修改该层的颜色,以便在我们的CTB文件中绘制更厚的图。
 
三层受到影响:房屋、棚屋和车库。
 
它们需要从白色变成青色。
 
几乎有100个图形文件,大多在同一文件夹中。
 
有人能告诉我这种重复性任务是否是LISP例程可以实现的吗?(尽管我有个人资料,但我可以在办公室访问完整版本)
 
谢谢

ska67can 发表于 2022-7-6 17:37:57

下面是我在Excel中使用的vba例程:
 
Sub DbxEx()
Dim oDbx As AxDbDocument    'Add Reference to ObjectDbx Library
Dim fPath, fName As String
Dim oLay As AcadLayer
fPath = "C:\Documents and Settings\user\Desktop\New Folder\" 'Change Directory to Suit
fName = Dir(fPath & "*.dwg", vbNormal)
Do Until fName = ""
   Set oDbx = AcadApplication.GetInterfaceObject("ObjectDBX.AxDbDocument.17")'Change to match Your Version

   oDbx.Open (fPath & fName)

   For Each oLay In oDbx.Layers
       If oLay.Name = "HOUSE" Or oLay.Name = "SHED" Or oLay.Name = "GARAGE" Then
         oLay.color = acWhite
       End If
   Next oLay

   oDbx.SaveAs (fPath & fName)

   Set oDbx = Nothing

   fName = Dir()

Loop
End Sub
 
ska公司

CmdrDuh 发表于 2022-7-6 17:48:32

脚本文件也可以做到这一点,并且比试图制作一个程序来实现它更容易编写和运行。然而,也就是说,我们可以在VBA或LISP中实现,这是您想要的

Rsteel13 发表于 2022-7-6 18:02:45

我有以下Lisp例程,我想应用于保存在指定文件夹中的任何DXF。我找到了几个批处理例程,但似乎不能完全适合它。建议在LISP例程中创建上面的VBA代码。
 
现在,我正在做的是打开文件,然后单击我为下面的例程创建的按钮。我得到了自动将文件保存为DWG的例程(我不想替换DXF文件),然后关闭它。这样我就可以手动打开下一个DXF文件。
 
有什么想法吗?
 
 
谢谢
罗伯特

YZ 发表于 2022-7-6 18:21:09

谢谢ska。
 
 
谢谢你。脚本文件就可以了。请原谅我的无知,但我认为这就是Lisp程序的惯例。因此,我可能会以一种令人困惑的方式使用术语。
页: [1]
查看完整版本: 在50+Dra中更改图层颜色