cadman2009 发表于 2022-7-6 12:08:45

按脚本文件分类

你好
我想制作一个脚本文件,用于绘制许多线条和文本,该文件的一部分必须使用hatch命令,然后在许多闭合多段线内进行图案填充,我的问题是,我想编写许多命令,在不拾取对象的情况下,为我制作。
请告诉我,如何使用脚本命令在多边形内进行图案填充,而无需拾取选择对象。

Lee Mac 发表于 2022-7-6 12:27:33

您可以在脚本中调用LISP函数,只需创建一个LISP来填充多段线。
 
如果他们有一些定义性的特征,例如,都在同一层上,等等,这会有所帮助。
 

Lee Mac 发表于 2022-7-6 12:53:01

例如:
 

(defun hpoly (/ *error* vl ov i ss ent)

(defun *error* (msg)
   (and ov (mapcar 'setvar vl ov))
   (or (wcmatch (strcase msg) "*BREAK,*CANCEL*,*EXIT*")
   (princ (strcat "\n** Error: " msg " **")))
   (princ))

(setq vl '("CMDECHO" "OSMODE") ov (mapcar 'getvar vl))
(mapcar 'setvar vl '(0 0))

(if (setq i -1 ss (ssget "_X" '((0 . "*POLYLINE") (8 . "0") (-4 . "&") (70 . 1))))
   (while (setq ent (ssname ss (setq i (1+ i))))
   (command "_.-bhatch" "_P" "_USER" 45 5.0 "_N" "_S" ent "" "")))

(mapcar 'setvar vl ov)
(princ))

 
以上内容将填充所有闭合多段线/LW多段线。
 
您可以在脚本中调用它(只要在Startup Suite或ACADDOC.lsp中加载),如下所示:
 

open "C:\\Documents.... ..dwg" (hpoly) save....

 
希望这有帮助,
 

cadman2009 发表于 2022-7-6 13:06:27

 
谢谢你,李,我用它,然后写信告诉你发生了什么。

Lee Mac 发表于 2022-7-6 13:18:20

 
欢迎您,Cadman,但也要试着理解代码中每一行都在做什么,以便您将来可以编写自己的代码。
 
页: [1]
查看完整版本: 按脚本文件分类