为什么填充关联失败
本帖最后由 azbk00 于 2015-11-14 15:31 编辑我写了一个简单的填充多段线的lisp,明明在内部设置了(setvar "hpassoc" 1),但是填充出来以后我拉动矩形边框,填充却不能关联,而且在执行完以后还总是提示“未知的图案名”,请问是什么问题
(defun c:h(/ ss en ent ol);多段线填充
(setvar "cmdecho" 0)
(setvar "hpassoc" 1);设置填充关联
(setq OL (getvar "clayer"))
(setq en(entsel "\n请选择要填充的对象:"))
(setq ent (entget (car en)))
(setq ss (ssadd))
(ssadd (car en) ss)
(if (= (cdr (assoc 0 ent)) "LWPOLYLINE")
(progn
(YH_chlayer "hatch");自定义函数,切换到hatch图层
(command "hatch" "p" "ANGLE" 15 0 ss "")
)
(princ "\n选择的不是多段线:")
)
(setvar "clayer" OL)
(setvar "cmdecho" 1)
(princ)
)
command hatch的是不是选择集?把entsel改成ssget试试?还有clayer恢复,还是不要放在if里比较好吧 lostbalance 发表于 2015-11-14 12:18 static/image/common/back.gif
command hatch的是不是选择集?把entsel改成ssget试试?还有clayer恢复,还是不要放在if里比较好吧
嗯,我按照你的建议把程序改动了下,可问题依旧,填充还是不关联,最后还是提示“未知的图案名”,有办法解决吗? (command "bhatch" "p" "ANGLE" 15 0 "s" (car en) "" "") azbk00 发表于 2015-11-14 15:33 static/image/common/back.gif
嗯,我按照你的建议把程序改动了下,可问题依旧,填充还是不关联,最后还是提示“未知的图案名”,有办法 ...
command hatch那行改成(command "-hatch" "p" "ANGLE" 15 0 "s" ss "" "")就可以了
试了下发现hatch的参数设置很简单,就只能设置图案和边界,而-hatch的话,可以详细控制了 masterlong 发表于 2015-11-14 21:29 static/image/common/back.gif
(command "bhatch" "p" "ANGLE" 15 0 "s" (car en) "" "")
才知道还有bhatch,比hatch强多了,谢谢! lostbalance 发表于 2015-11-14 21:45 static/image/common/back.gif
command hatch那行改成(command "-hatch" "p" "ANGLE" 15 0 "s" ss "" "")就可以了
试了下发现hatch的参 ...
嗯,我一直以为命令前加“-”只是代表在命令行显示的意思,想不到参数设置还能不一样,拖大哥的福长见识了! azbk00 发表于 2015-11-15 12:23
嗯,我一直以为命令前加“-”只是代表在命令行显示的意思,想不到参数设置还能不一样,拖大哥的福长见识 ...
我也学到了
页:
[1]