下面是具体lisp例程中的快速解释。。。
- (defun c:drawlines ( / p ptlist pp )
- (setq p (getpoint "\nPick or specify start point : "))
- (setq ptlist (cons p ptlist))
- (setq pp p)
- (while (setq pp (getpoint pp "\nPick or specify next point <Exit> : "))
- (setq ptlist (cons pp ptlist))
- )
- (setq ptlist (reverse ptlist)) [color=red];;; Here ptlist has been generated ;;;[/color]
- (mapcar '(lambda ( a b ) (entmake (list '(0 . "LINE") (cons 10 a) (cons 11 b)))) ptlist (cdr ptlist))
- [color=red];;; Here is the code for drawing lines from list of points (every 2 consecutive points are connected with line entity) ;;;[/color]
- (princ)
- )
HTH,M.R。 |