几年前,我拼凑出了这个lisp,基本上只是抵消了一条线的一部分,并希望能做得更好。
错误陷阱似乎不起作用。
我想将其更改为拾取对象的一层,或者稍后指定另一层。
我想可以把它清理干净,但我不确定先把重点放在哪里。
- ;OffsetMeasure offset a short line
- (defun *error* (msg)
- (setvar "osmode" 0)
- (setq pt1 nil)
- (setq pt2 nil)
- (setq dist1 nil)
- (setq *seqpt nil)
- (princ "\n\n\nLeaving OM lisp routine, good day sir!\n")
- (princ)
- )
- (defun C:OM (/ pt1 pt2 dist1 srt)
- (setvar "cmdecho" 0)
- (setq srt (getvar "sortents"))
- (setvar "sortents" 3)
- (graphscr)
- (setq d "T")
- (while d
- (if (not *seqpt)(setq *seqpt 1.0))
- (princ "\nEnter Distance For Offset <")
- (princ *seqpt)
- (setq dist1 (getdist ">: ")
- )
- (setvar "osmode" 512)
- (setq pt1 (getpoint "\nPick point on object :")
- pt2 (getpoint "\nSecond point :")
- )
- (if (not dist1)(setq dist1 *seqpt)(setq *seqpt dist1)
- )
- (setvar "osmode" 0)
- (command ".line" pt1 pt2 "")
- (princ "\nSide to offset")
- (command ".offset" dist1 pt1 pause ""
- ".erase" pt1 ""
- ".move" pt1 "" "@" "@")
- (setq d1 (strcase (getstring "\nPress RETURN to continue or X to
- quit ")))
- (if (= d1 "X")(setq d nil))
- )
- (setvar "sortents" srt)
- (princ)
- )
任何帮助都将不胜感激。给我指出一个方向,或者为我做这一切,我没有偏好。
rkent公司 |