我不明白你到底需要什么
也许这个程序会有所帮助
- (defun C:shw (/ data fdesc fname lastp pline points tmp)
- (setq fname (getfiled "Select data file:" "C:\" "txt;csv;dat" 4))
- (setq fdesc (open fname "r"))
- (while (setq tmp (read-line fdesc))
- (setq data (cons tmp data))
- )
- (close fdesc)
- (princ data)
- (if data
- (progn
- (setq data (mapcar (function (lambda (x) (vl-string-subst "," "atr" x)))
- (reverse data)))
- (setq points
- (mapcar (function
- (lambda (x)
- (setq lastp (substr x (+ 4 (vl-string-search " ," x))))
- (list
- (+ (atof x)
- (/ (atof (substr x
- (+ (vl-string-search " ft." x) 5)
- (+ 3 (vl-string-search " in. " (car data)))))
- 12))
- (+ (atof lastp)
- (/ (atof (substr lastp
- (+ (vl-string-search " ft." lastp) 5)
- (+ 3 (vl-string-search " in. " lastp))))
- 12)))))
- data)
- )
- (setvar "osmode" 0)
- (command "._pline")
- (mapcar 'command points)
- (command "")
- (setq pline (entlast))
- (command "._zoom" "_OB" pline "")
- (command "._zoom" ".6x")
- (alert "Pick two mirror points, use snap")
- (command ".mirror" pline "" pause pause "_n")
- (setq mirr (entlast))
- (alert "Pick two line points to close contour, use snap")
- (command "._line" pause pause "")
- (setq line (entlast))
- (command "._pedit" "_M" pline mirr line "" "J" "" "")
- (command "._regen")
- )
- (alert "Something wrong")
- )
- (princ)
- )
- (princ "Type SHW to execute")
- (princ)
~'J'~ |