Zykl0 发表于 2022-7-6 09:23:30

新手需要帮助加载纸条

你好
 
我找到了一个我想使用的脚本,但我不知道如何运行它,我在互联网上找不到任何东西。
 
脚本看起来像
 
Sub AllLayersToByLayer()
   Dim color As AcadAcCmColor
   Dim obj As AcadEntity
   
   Set color = New AcadAcCmColor
   With color
       .ColorMethod = acColorMethodByACI
       .ColorIndex = "256"
   End With
   
   For Each obj In ThisDrawing.ModelSpace
       obj.TrueColor = color
   Next obj
End Sub
 
我的问题是:
这是什么语言?
如何将其加载到autocad?
如何将其执行到lisp文件中?
 
我需要有人给我解释一下,假设我对编程几乎一无所知

Lee Mac 发表于 2022-7-6 09:46:55

在我看来像VBA。
 
SETBYLAYER命令对您可用吗?

rkmcswain 发表于 2022-7-6 09:49:46

这是VBA,不是autolisp。
如果您对VBA一无所知,那么加载它并不简单。
从这里开始了解更多信息:http://www.afralisp.net/visual-basic-for-applications/
 
这是一个简单的例程,可以很容易地用lisp编写,它是AutoCAD最新版本中的内置命令。(命令:SETBYLAYER-在R2008和更高版本中可用)

Lee Mac 发表于 2022-7-6 10:07:02

将VBA转换为LISP:
 

(defun c:test nil (vl-load-com)
(vlax-for object
   (vla-get-modelspace (vla-get-activedocument (vlax-get-acad-object)))
   (vla-put-color object acbylayer)
)
(princ)
)

Zykl0 发表于 2022-7-6 10:11:51

哇,非常感谢,我更喜欢Lisp程序

Lee Mac 发表于 2022-7-6 10:29:04

 
我也是。。。
页: [1]
查看完整版本: 新手需要帮助加载纸条