Haggbakk 发表于 2022-7-6 14:44:51

LISP和对象类型#039;Sol公司

你好
我使用Tekla Structures和AutoCAD2008。将图形从TS导出到AutoCAD时,实体图案填充生成为对象类型“Solid”。我使用Qselect查找图形中的所有实体,并将其颜色更改为253。这是可行的,但需要时间。
 
我正在寻找一个Lisp程序,可以为我做到这一点。我在这个论坛和其他论坛上搜索过,但没有找到任何可以找到“Solid”对象类型的lisp。
 
很遗憾,我的Lisp知识不存在,但我想了解更多。有人有好的lisp网页可以推荐吗?
 
提前感谢!

MiGo 发表于 2022-7-6 14:57:50

我不知道整个lisp(正在尝试),但作为所有实体的快速选择,这一行非常有用。
 
(setq ss(ssget“all”((0。“solid”)))

lpseifert 发表于 2022-7-6 15:12:55

http://www.afralisp.net/
 
这是一个快速的

(defun c:solid253 (/ ss)
(setq ss (ssget "x" '((0 . "solid"))))
(command "change" ss "" "p" "c" "253" "")
)

MiGo 发表于 2022-7-6 15:19:19

现在我对这方面也有点陌生,但这对我来说很管用
 

(defun c:solchg ()
(setq ss (ssget "all" '((0 . "solid"))))
(if (/= (sslength ss) nil)
   (command "Chprop" ss "" "c" "253" "")
   (princ "\nNo SOLIDS FOUND!")
)
(princ)
)

SolidColorCHG。lsp

MiGo 发表于 2022-7-6 15:30:10

它似乎选择了图纸空间和模型空间中的所有实体。如果你的空间中没有固体,那么它就不会工作。隐马尔可夫模型。。。

Haggbakk 发表于 2022-7-6 15:43:56

很抱歉反应太晚,尽管金融危机,我还有很多工作要做眨眼:
 
它非常适合我!非常感谢您的链接。现在我将有很多空闲时间享受外面阳光明媚的天气。

Lee Mac 发表于 2022-7-6 15:54:53

我认为MiGo的代码可以更简洁地重新编写为:
 

(defun c:solchg (/ ss)
(if (setq ss (ssget "X" '((0 . "SOLID"))))
   (command "Chprop" ss "" "c" "253" "")
   (princ "\n<!> No SOLIDS FOUND! <!>"))
(princ))

 
或在VLA中:
 

(defun c:solchg(/ ss sel)
(vl-load-com)
(if (setq ss (ssget "X" '((0 . "SOLID"))))
   (progn
   (vlax-for Obj(setq sel (vla-get-ActiveSelectionSet
                              (vla-get-ActiveDocument
                                  (vlax-get-acad-object))))
       (vla-put-color Obj 253))
   (vla-delete sel))
   (princ "\n<!> No Solids Found <!>"))
(princ))

 
正在忘乎所以。。。
页: [1]
查看完整版本: LISP和对象类型#039;Sol公司