偏移线X 2和更改铺层
我有一个lisp将一条线偏移5mm,并更改图层。我想要它做的是将线偏移5mm和10mm,因此最终将有3条线。我希望两条偏移线位于同一层上,并且颜色和线型不同(5mm偏移线“青色”“awthidden2”(线型),10mm偏移线“红色”“连续”)。这是将一条线偏移5mm并更改图层的代码,我需要添加什么才能使其偏移10mm并更改图层和线型?(defun c:membrane (/ ent pt)
(while (and
(setq ent (car (entsel "\nSelect object to offset 5 or <exit>:")))
(setq pt (getpoint "\nSpecify point on side to offset:"))
)
(command "._offset" 5.00 ent "_non" pt "")
(command "._change" (entlast) "" "_P" "_LA" "Membrane" "")
)
(princ)
) 也许是这个?
(defun c:membrane (/ ent pt l1 l2)
(setq oldlay (getvar "clayer"))
(while (and
(setq ent (car (entsel "\nSelect object to offset 5 or <exit>:")))
(setq pt (getpoint "\nSpecify point on side to offset:"))
) ;_end and
(if (not (tblsearch "Layer" "Membrane"))
(command "-layer" "m" "Membrane" "")
(setvar "clayer" "Membrane")
) ;_end if
(command "._offset" 5.00 ent "_non" pt "")
(setq l1 (entlast))
(command "._offset" 10.00 l1 "_non" pt "")
(setq l2 (entlast))
(command "_chprop" l1 "" "c" "cyan" "lt" "awthidden2" "")
(command "_chprop" l2 "" "c" "red" "lt" "continuous" "")
) ;_end while
(setvar "clayer" oldlay)
(princ)
) ;_end defun
谢谢李,它没有100%的工作,它抵消了第一行5mm,然后第二个10mm,而不是前5和10mm,但我改变了它,它工作得很好。而且它没有改变图层,你知道为什么吗?非常感谢你的帮助。如果你来澳大利亚,啤酒我请客 当你说它没有改变图层。。。你的意思是当偏移时,线不在正确的层上吗?或者它没有重置回原始的当前层?
谢谢你的啤酒-我不知道你在澳大利亚-难怪你晚上这个时候总是很活跃。。。 当两条线偏移时,它们会改变颜色等,但不会改变图层。理想情况下,如果它们被改成“膜”,那就好了,但目前它们没有。是的,我在澳大利亚,我不是猫头鹰 非常抱歉,Gazzalp,我没有在我的机器上测试最后一个LISP,因为我没有必要的线型等。
无论如何,这应该有效:
(defun c:membrane (/ ent pt l1 l2)
(setq oldlay (getvar "clayer"))
(while (and
(setq ent (car (entsel "\nSelect object to offset 5 or <exit>:")))
(setq pt (getpoint "\nSpecify point on side to offset:"))
) ;_end and
(if (not (tblsearch "Layer" "Membrane"))
(command "-layer" "m" "Membrane" "")
) ;_end if
(command "._offset" 5.00 ent "_non" pt "")
(setq l1 (entlast))
(command "._offset" 10.00 ent "_non" pt "")
(setq l2 (entlast))
(command "_chprop" l1 "" "c" "cyan" "lt" "awthidden2" "la" "Membrane" "")
(command "_chprop" l2 "" "c" "red" "lt" "continuous" "la" "Membrane" "")
) ;_end while
(setvar "clayer" oldlay)
(princ)
) ;_end defun
好我突然想到了。。。 那更好了,谢谢李。你的下一个任务应该是你选择接受它,比如说我有一个horiz。直线,然后是一条45度角的直线,即:_/i希望能够在两条直线上使用该宏,并使新线彼此圆角。这有可能吗?我也有一些情况下,这种情况可能会持续相当多的角度变化,所以无论何时我偏移,它填充到它旁边的其他行(不确定这是否可行,特别是考虑到它的for sections;作为一个例子,第1节可能看起来像_/\ _并且我希望所有这些行都被填充,但这并不是说你可以把它写进程序中,每当添加这些新行时,它们都需要被填充(因为第二节可能需要这些线,我显然不能让它们倒圆角/连接到第1节),但可能会让它们一直偏移,直到我按enter键,然后当我按enter键时,之前所有倒圆角的线都连接在一起。对于这样一个简单的问题,有很多解释。。。 你能不能先发一份你想要的样品? 当然:顶部是线在偏移之前的样子,底部是我想要的样子(所以宏已经偏移了线,我想知道它是否也可以对它们进行圆角,就像我上传的图形中那样)
膜图纸 好的,圆角半径是多少?
页:
[1]
2