试试看
- (setq CLength1 (apply '+ lst))
完整代码:
- (while
- (progn
- (initget "U")
- (setq d
- (getdist
- (strcat
- "\Distance to next Vert Strap (Enter when done; U to Undo)"
- )
- )
- )
- )
- (setq lst (cons (fix d) lst))
- (cond
- ((= d "U") (command "._undo" "._back"))
- ((/= d 0)
- (progn
- (command "._offset"
- (/ d 12.)
- s
- "_non"
- (polar (cdr (assoc 10 (entget s))) 0. 1.)
- ""
- )
- (if (not (eq s (setq s (entlast))))
- (progn
- (setq p1 (cdr (assoc 10 (entget s)))
- p2 (cdr (assoc 11 (entget s)))
- pt (if (< (cadr p1) (cadr p2))
- p1
- p2
- )
- )
- (setq dx1 (car p1) ;ent x value
- dx2 (cadr p1) ;ent y value
- dx3 (caddr p1) ;ent z value
- dd1 (+ dx1 (/ d 12)) ;dimension distance
- sdx (- dx1 (/ d 12)) ;start point x
- dmx (/ (+ dd1 dx1) 2) ;middle
- )
- (if (>= d 18)
- (setq doff -1.6)
- (setq doff -3.2)
- )
- (entmake (list (cons 0 "DIMENSION")
- (cons 100 "AcDbEntity")
- (cons 67 0)
- (cons 8 "DIMBAD")
- (cons 100 "AcDbDimension")
- (cons 10 (trans (list dd1 doff 0.) 1 0))
- (cons 11 (trans (list dmx doff 0.) 1 0))
- (cons 12 (list 0. 0. 0.))
- (cons 70 33)
- (cons 1 "")
- (cons 71 5)
- (cons 72 1)
- (cons 41 1.0)
- (cons 52 0)
- (cons 53 0)
- (cons 54 0)
- (cons 3 "TEMPLATE_DRAWING")
- (cons 100 "AcDbAlignedDimension")
- (cons 13 (trans (list sdx 0. 0.) 1 0))
- (cons 14 (trans (list dx1 0. 0.) 1 0))
- (cons 15 (list 0. 0. 0.))
- (cons 16 (list 0. 0. 0.))
- )
- )
- )
- )
- )
- )
- )
- )
- (setq CLength1 (apply '+ lst))
- (princ (rtos lst 2 0)) ; Add precision here
|