例如:
- (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" [color=Red][b](hpoly)[/b][/color] save....
希望这有帮助,
李 |