多重偏移,如何修复
伙计们,我得到了这段代码,要做多次偏移,效果很好,但我需要做一个补充,即最终对象的方向,代码不允许你选择它,每次代码在对象上方绘制偏移线,有可能修复它吗?指示终点偏移线的方向。。。
提前感谢。。。
(defun c:mo (/ plines ; selection set of polylines
ext ; extrnal point
dist ; distance to offset
poly ; a polyline from plines
plist ; the list of poly
del ; polyline to delete
int ; internal point
i
layer)
(command "undo" "begin")
(princ "select polylines")
(setq plines (ssget)
i 0
ext (getvar "limmax")
dist (getdist "distance = ")
)
(repeat (sslength plines)
(setq poly (ssname plines i))
(setq plist (entget poly))
(command "offset" dist poly ext "")
;(setq del (entlast)
;int (polar
;(cdr (assoc 10 (entget del)))
;(angle
;(cdr (assoc 10 (entget del)))
;(cdr (assoc 10 plist)))
;(* 2 (distance (cdr (assoc 10 plist))
;(cdr (assoc 10 (entget del)))))))
;(command "offset" dist poly int "")
;(entdel del)
(setq i (1+ i))
)
(command "undo" "end")
(if (= "Y"
(strcase (getstring "\ndelete initial polylines? (Y/N) = "))
)
(command "erase" plines "")
)
) 未经测试,但应修复问题。我更改了“ext”(添加getpoint)和“dist”(添加)
(defun c:mo (/ plines ; selection set of polylines
ext ; extrnal point
dist ; distance to offset
poly ; a polyline from plines
plist ; the list of poly
del ; polyline to delete
int ; internal point
i
layer)
(command "undo" "begin")
(princ "select polylines")
(setq plines (ssget)
i 0
ext (getpoint "\nSelect the offset direction")
dist (getdist "\ndistance = ")
)
(repeat (sslength plines)
(setq poly (ssname plines i))
(setq plist (entget poly))
(command "offset" dist poly ext "")
;(setq del (entlast)
;int (polar
;(cdr (assoc 10 (entget del)))
;(angle
;(cdr (assoc 10 (entget del)))
;(cdr (assoc 10 plist)))
;(* 2 (distance (cdr (assoc 10 plist))
;(cdr (assoc 10 (entget del)))))))
;(command "offset" dist poly int "")
;(entdel del)
(setq i (1+ i))
)
(command "undo" "end")
(if (= "Y"
(strcase (getstring "\ndelete initial polylines? (Y/N) = "))
)
(command "erase" plines "")
)
)
已测试!。。。谢谢CheSyn!。。。效果很好!!!。。。 大家好!
有没有办法在上面的代码中添加更改偏移对象层的功能??
提前感谢! 要更改新创建的多段线的图层(调整蓝色部分以适合您的情况):
...
(setq plist (entget poly))
(command "offset" dist poly ext "")
(command "_CHPROP" (entlast) "" "_LA" "NameOfTargetLayer" "")
...
哇,非常感谢!非常感谢你的帮助!完全按照需要工作! 不客气!
页:
[1]