偏移到不同距离
大家好,我正在寻找多偏移的自动化。
我有一条多段线,我必须将这条多段线偏移到多个距离。。。
例如:偏移到20比偏移到35和偏移到56(震源线的所有方向偏移)
可以创建lisp或类似(宏,…)的东西吗在中,我可以输入不同的值,然后当我单击线条和方向时,脚本将线条偏移到所有值。。。
Thx(很抱歉我的英语不好:-) 你提到普林还是莱恩??? 过去有一个设置,允许您在同一个命令中停留任意长的时间,这可能会满足您的需要。然而,我认为该命令是重复的,已经停止。由于您使用的是旧版本,您可以尝试一下,它可能仍然对您可用。 我说的是折线对不起。
这是一个运行良好的代码。。。
但是现在我想把一个负值。。。
例如,将ed var从15更改为-15。。。使线偏移另一边。。。
(defun C:dof()
(setq ad 9)
(setq zd 10)
(setq ed 15)
(while (setq obj (car (entsel "\nSelect object:")))
(setq ps (getpoint "\nSide to offset:"))
(if ps
(progn
(command "_offset" ad obj ps "")
(command "_offset" zd obj ps "")
(command "_offset" ed obj ps "")
)
)
)
(princ)
)
不知道是否可能 您可以考虑使用MLine。使用预设的偏移值创建多线样式。多线将分解为一组标准线。 是的,但我必须从多段线开始。。。
是否可以将多段线转换为多线,然后将多线转换为多段线。。。
该操纵器的目的是将现有绘图转换为cnc刀具的多路径。
正如我之前所说的,有负值偏移的解决方案吗 好吧
这就是我要做的
(defun C:dof()
(setq ad 9)
(setq zd 10)
(setq ed 15)
(while (setq obj (car (entsel "\nSelect object:")))
(setq psp (getpoint "\nSide to offset positif:"))
(setq psn (getpoint "\nSide to offset negatif:"))
(if psp
(progn
(command "_offset" ad obj psp "")
(command "_offset" zd obj psp "")
(command "_offset" ed obj psn "")
)
)
)
(princ)
)
我为偏移量定义了2点。。。一个正信号(psp)和一个负信号(psn)。点击更多,但效果很好。。。
我的最后一个问题:任何人都可以告诉我,我如何把我的每一个偏移线在一个特定的层。。。? 可能
(defun c:test (/ ss e p d)
(if (and (setq ss
(car (entsel "\n Select on entity :")
)
)
(member (cdr (assoc 0 (setq e (entget ss))))
'("LINE" "SPLINE" "LWPOLYLINE")
)
(setq p (getpoint "\n Specify side offset :"))
)
(while
(setq d (getdist "\n Specify offset distance :"))
(command "_.offset" d ss p "")
)
(princ)
)
(princ)
)
塔瓦特 -哦,现在我明白你的意思了^^你可以用vla偏移来抵消负距离(但有时它不喜欢你想做的^^)。
语法:vla offset vlaLine distance
所以你可以试试这样的东西(只是为了表演^^):
(defun C:dof(/ lstDis obj)
(setq lstDIS '(9 10 -15))
(while (setq obj (car (entsel "\nSelect object:")))
(foreach dis lstDIS
(vla-offset (vlax-ename->vla-object obj) dis)
)
)
(princ)
)
-下一步:在代码中,您可以在一个命令之前使用(setvar“clayer”“此处为您的层”)将每一行*放在一个特定的层中 你可以做一个小的子程序并从中构建。。。
(defun _offsetLots (entity point offsetlist)
(foreach offset offsetlist (command "_.offset" offset entity "_non" point ""))
)
致电:
(_offsetLots (entsel) (getpoint) '(1. 2. 3. 4. 5.))
页:
[1]
2