以下情况可能会更好:
- ([color=BLUE]defun[/color] c:tfit ( [color=BLUE]/[/color] ln pl pt tx )
- ([color=BLUE]if[/color]
- ([color=BLUE]and[/color]
- ([color=BLUE]setq[/color] tx (LM:selectifobject [color=MAROON]"\nSelect text: "[/color] [color=MAROON]"TEXT"[/color]))
- ([color=BLUE]setq[/color] pl (LM:selectifobject [color=MAROON]"\nSelect polyline: "[/color] [color=MAROON]"LWPOLYLINE"[/color]))
- ([color=BLUE]setq[/color] pl ([color=BLUE]mapcar[/color] '[color=BLUE]cdr[/color] ([color=BLUE]vl-remove-if-not[/color] '([color=BLUE]lambda[/color] ( x ) ([color=BLUE]=[/color] 10 ([color=BLUE]car[/color] x))) ([color=BLUE]entget[/color] pl)))
- pl ([color=BLUE]mapcar[/color] '([color=BLUE]lambda[/color] ( x ) ([color=BLUE]apply[/color] '[color=BLUE]mapcar[/color] ([color=BLUE]cons[/color] x pl))) '([color=BLUE]min[/color] [color=BLUE]max[/color]))
- tx ([color=BLUE]entget[/color] tx)
- tb ([color=BLUE]textbox[/color] tx)
- vc ([color=BLUE]mapcar[/color] '[color=BLUE]-[/color] (avgpt pl) ([color=BLUE]mapcar[/color] '[color=BLUE]+[/color] ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] 10 tx)) (avgpt tb)))
- )
- )
- ([color=BLUE]entmod[/color]
- ([color=BLUE]subst[/color] '(72 . 1) ([color=BLUE]assoc[/color] 72 tx)
- ([color=BLUE]subst[/color] '(73 . 2) ([color=BLUE]assoc[/color] 73 tx)
- ([color=BLUE]subst[/color] ([color=BLUE]cons[/color] 11 ([color=BLUE]mapcar[/color] '[color=BLUE]+[/color] ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] 11 tx)) vc)) ([color=BLUE]assoc[/color] 11 tx)
- ([color=BLUE]subst[/color]
- ([color=BLUE]cons[/color] 40
- ([color=BLUE]*[/color] ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] 40 tx)) [highlight]0.9 [color=green];; Alter this to suit[/color][/highlight]
- ([color=BLUE]apply[/color] '[color=BLUE]min[/color]
- ([color=BLUE]mapcar[/color] '[color=BLUE]/[/color]
- ([color=BLUE]apply[/color] '[color=BLUE]mapcar[/color] ([color=BLUE]cons[/color] '[color=BLUE]-[/color] ([color=BLUE]reverse[/color] pl)))
- ([color=BLUE]apply[/color] '[color=BLUE]mapcar[/color] ([color=BLUE]cons[/color] '[color=BLUE]-[/color] ([color=BLUE]reverse[/color] ([color=BLUE]textbox[/color] tx))))
- )
- )
- )
- )
- ([color=BLUE]assoc[/color] 40 tx) tx
- )
- )
- )
- )
- )
- )
- ([color=BLUE]princ[/color])
- )
- ([color=BLUE]defun[/color] avgpt ( lst )
- (([color=BLUE]lambda[/color] ( len ) ([color=BLUE]mapcar[/color] '[color=BLUE]/[/color] ([color=BLUE]apply[/color] '[color=BLUE]mapcar[/color] ([color=BLUE]cons[/color] '[color=BLUE]+[/color] lst)) ([color=BLUE]list[/color] len len))) ([color=BLUE]length[/color] lst))
- )
-
- [color=GREEN];; Select if Object - Lee Mac[/color]
- [color=GREEN];; Continuously prompts the user for a selection of a specific object[/color]
- ([color=BLUE]defun[/color] LM:selectifobject ( msg obj [color=BLUE]/[/color] ent )
- ([color=BLUE]while[/color]
- ([color=BLUE]progn[/color] ([color=BLUE]setvar[/color] 'errno 0) ([color=BLUE]setq[/color] ent ([color=BLUE]car[/color] ([color=BLUE]entsel[/color] msg)))
- ([color=BLUE]cond[/color]
- ( ([color=BLUE]=[/color] 7 ([color=BLUE]getvar[/color] 'errno))
- ([color=BLUE]princ[/color] [color=MAROON]"\nMissed, try again."[/color])
- )
- ( ([color=BLUE]=[/color] 'ename ([color=BLUE]type[/color] ent))
- ([color=BLUE]if[/color] ([color=BLUE]/=[/color] obj ([color=BLUE]cdr[/color] ([color=BLUE]assoc[/color] 0 ([color=BLUE]entget[/color] ent))))
- ([color=BLUE]princ[/color] [color=MAROON]"\nInvalid Object Selected."[/color])
- )
- )
- )
- )
- )
- ent
- )
- ([color=BLUE]princ[/color])
|