是的,这是另一个线程中的一个:
- ;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)
- )
|