偏移到图层
大家好,有人知道可以偏移到当前层或所选层的lisp吗?
提前感谢! 我相信OFFSET命令已经做到了这一点。
命令:偏移
指定偏移距离或[通过/擦除/层] 是的,这是另一个线程中的一个:
;Offset to current layer...excellent program.
(DeFun C:OSET1 (/ LAYER ECHO TEMP
ENTITY)
(SetQ LAYER (GetVar "CLayer")
ECHO (GetVar "CmdEcho"))
(SetVar "CmdEcho" 0)
(While
(ProgN
(SetQ TEMP (GetString (StrCat
"\nDestination layer? <"LAYER">:")))
(Cond
((Eq TEMP "") Nil)
((TblSearch "LAYER" TEMP) (SetQ
LAYER TEMP) Nil)
(T (PrinC "\nLayer not found."))
)))
(InitGet (+ 2 4) "Through")
(SetQ TEMP (GetDist (StrCat
"\nOffset distance or Through <"
(If DIST (RToS DIST) "Through")
">: ")))
(Cond
((Eq TEMP "Through") (SetQ DIST Nil))
(TEMP (SetQ DIST TEMP))
)
(SetQ TEMP (If DIST "\nSide to offset?"
"\nThrough point: "))
(While
(And
(SetQ ENTITY (EntSel
"\nSelect object to offset: "))
(SetQ PT (GetPoint TEMP))
)
(Command ".OFFSET" (If DIST DIST "T")
ENTITY PT "")
(SetQ ENTITY (EntLast)
ENTITY (EntGet ENTITY)
ENTITY (SubSt (Cons 8 LAYER)
(Assoc 8 ENTITY) ENTITY))
(EntMod ENTITY)
)
(SetVar "CmdEcho" ECHO)
(PrinC)
) 谢谢大家 Express Tools的偏移量
是的,我喜欢这个工具-也适用于多个偏移:眨眼: 有没有办法将一个对象偏移到源层,但将原始对象更改到不同的层,所有这些都在同一个运动中?
这有可能吗?
我喜欢GhostRider建议的代码,我一直在调整它以尝试这些结果,但我不是程序员,所以我没有运气也就不足为奇了。 下面是一个非常简单的示例:
(defun c:myoffset ( / ent off )
(if
(and
(setq ent (car (entsel "\nSelect object to offset: ")))
(setq off (getdist "\nSpecify offset distance: "))
)
(if (vl-cmdf "_.offset" "_L" "_S" off ent "\\" "")
(entmod (subst '(8 . "YourLayerHere") (assoc 8 (setq ent (entget ent))) ent))
)
)
(princ)
)
杰出的工作完美!
谢谢李!
页:
[1]
2