imsujan 发表于 2022-7-5 16:14:02

支持Pr的双偏移

你好
任何一个都有一个支持“p”先前选择的例程。我只有一个例程支持上次创建的对象

tmelancon 发表于 2022-7-5 16:31:22

以下是我在办公室中需要偏移某些内容并将其添加到“结构”层时使用的内容。您可以根据需要修改它。也许这会让你开始。希望这有帮助。如果我能帮忙,我会再插话的。
 
(defun c:OFF (/ o s)
(setq o 0.0812)
(while (setq s (ssget "_+.:S:E:L" '((0 . "*LINE,CIRCLE,ARC,ELLIPSE"))))
   (foreach v (list o (- o))
   (vla-Offset (vlax-EName->vla-Object (ssname s 0)) v)
   (vla-put-layer (vlax-EName->vla-Object (entlast)) "STRUCTURE")
   )
   )
(princ)
) (vl-load-com)

imsujan 发表于 2022-7-5 16:53:52

对我来说,对图层的控制是额外的收获
如果该层不可用,希望该例程创建该层。我需要一个例程,需要之前选择的对象选项?

tmelancon 发表于 2022-7-5 17:05:00

imsujan,请参阅层控制的更新代码。如果层不存在,它就会创建它。我将尝试更新并测试“上一个选定对象”的代码
 
(defun c:OFFER (/ o s)
(setq o 0.0812)
(if (null(tblsearch "LAYER" "TESTER"))
   (command "._-layer" "N" "TESTER" "C" "7" "TESTER" "")
)
(while (setq s (ssget "_+.:S:E:L" '((0 . "*LINE,CIRCLE,ARC,ELLIPSE"))))
   (foreach v (list o (- o))
   (vla-Offset (vlax-EName->vla-Object (ssname s 0)) v)
   (vla-put-layer (vlax-EName->vla-Object (entlast)) "TESTER")
   )
   )
(princ)
) (vl-load-com)

imsujan 发表于 2022-7-5 17:25:34

非常感谢。
页: [1]
查看完整版本: 支持Pr的双偏移