这就是你要找的吗?未进行广泛测试
- (defun c:test (/ begpt endpt zbeg pt1 d2 zval pt2)
- (setvar "cmdecho" 0)
- (setq begpt (getpoint
- "\nPick start point of cross section location (in plan): "
- )
- endpt (getpoint begpt "\nPick endpoint of cross section: ")
- zbeg (getreal "Enter elevation of start point: ")
- pt1 (list 0 0 zbeg)
- )
- (command "line" begpt endpt "")
- (command "ucs" "ob" (entlast))
- (entdel (entlast))
- (while
- (setq d2 (getdist pt1 "\nEnter distance to next point: "))
- (progn
- (setq zval (getreal "\nEnter elevation of next point: ")
- pt2 (list (+ (car pt1) d2) 0 zval)
- )
- (command "line" pt1 pt2 "")
- (setq pt1 pt2)
- )
- )
- (command "ucs" "p")
- (setvar "cmdecho" 1)
- (princ)
- )
|