以下是另一种与平行于WCS平面的UCS平面兼容的方法:
- [color=GREEN];; Line to Double-Line - Lee Mac[/color]
- ([color=BLUE]defun[/color] c:l2dl ( [color=BLUE]/[/color] dis enx hed idx lst sel tmp vec )
- ([color=BLUE]if[/color] ([color=BLUE]minusp[/color] ([color=BLUE]setq[/color] dis ([color=BLUE]getvar[/color] 'offsetdist))) ([color=BLUE]setq[/color] dis 1.0))
- ([color=BLUE]initget[/color] 6)
- ([color=BLUE]if[/color] ([color=BLUE]setq[/color] tmp ([color=BLUE]getdist[/color] ([color=BLUE]strcat[/color] [color=MAROON]"\nSpecify line separation <"[/color] ([color=BLUE]rtos[/color] dis) [color=MAROON]">: "[/color])))
- ([color=BLUE]setvar[/color] 'offsetdist ([color=BLUE]setq[/color] dis tmp))
- )
- ([color=BLUE]setq[/color] dis ([color=BLUE]/[/color] dis 2.0))
- ([color=BLUE]if[/color] ([color=BLUE]setq[/color] sel ([color=BLUE]ssget[/color] [color=MAROON]"_:L"[/color] '((0 . [color=MAROON]"LINE"[/color]))))
- ([color=BLUE]repeat[/color] ([color=BLUE]setq[/color] idx ([color=BLUE]sslength[/color] sel))
- ([color=BLUE]setq[/color] enx ([color=BLUE]entget[/color] ([color=BLUE]ssname[/color] sel ([color=BLUE]setq[/color] idx ([color=BLUE]1-[/color] idx))))
- hed ([color=BLUE]cons[/color] '(0 . [color=MAROON]"LINE"[/color]) (LM:defaultprops enx))
- lst ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( k ) ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] k enx))) '(10 11))
- vec ([color=BLUE]apply[/color] '[color=BLUE]mapcar[/color] ([color=BLUE]cons[/color] '[color=BLUE]-[/color] lst))
- lst ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( x ) ([color=BLUE]trans[/color] x 0 vec)) lst)
- )
- ([color=BLUE]repeat[/color] 2
- ([color=BLUE]entmake[/color] ([color=BLUE]append[/color] hed ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( a b ) ([color=BLUE]cons[/color] a ([color=BLUE]trans[/color] ([color=BLUE]cons[/color] ([color=BLUE]+[/color] dis ([color=BLUE]car[/color] b)) ([color=BLUE]cdr[/color] b)) vec 0))) '(10 11) lst)))
- ([color=BLUE]setq[/color] dis ([color=BLUE]-[/color] dis))
- )
- ([color=BLUE]entdel[/color] ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] -1 enx)))
- )
- )
- ([color=BLUE]princ[/color])
- )
- [color=GREEN];; Default Properties - Lee Mac[/color]
- [color=GREEN];; Returns a list of DXF properties for the supplied DXF data,[/color]
- [color=GREEN];; substituting default values for absent DXF groups[/color]
- ([color=BLUE]defun[/color] LM:defaultprops ( enx )
- ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( x ) ([color=BLUE]cond[/color] (([color=BLUE]assoc[/color] ([color=BLUE]car[/color] x) enx)) ( x )))
- '(
- (006 . [color=MAROON]"BYLAYER"[/color])
- (008 . [color=MAROON]"0"[/color])
- (039 . 0.0)
- (048 . 1.0)
- (062 . 256)
- (370 . -1)
- )
- )
- )
- ([color=BLUE]princ[/color])
|