- UID
- 675482
- 积分
- 2
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2013-5-1
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
请高手帮忙,以下CAD双向偏移代码怎样添加记忆功能,记忆上次输入数值,并使之可连续偏移?
[pcode=lisp,true]
(defun c:11 ()
(setq os (getvar "osmode") cm (getvar "cmdecho"))
(setvar "cmdecho" 0)
(while (setq a (entsel "选择要偏离是目标:(回车退出)"))
(setvar "osmode" 0)
(setq aa (car a) pp (cadr a))
(setq en (entget aa) pk (cdr (assoc 0 en)))
(setq d (getreal "双向的总距离:") dd (/ d 2))
(if (= pk "LINE")(setq p1 (cdr (assoc 10 en)) p2 (cdr (assoc 11 en)) an (+ (angle p1 p2) (* pi 0.5)) an1 (+ an pi)
pp1 (polar pp an d) pp2 (polar pp an1 d))
(if (= pk "ARC")(setq p1 (cdr (assoc 10 en)) r (cdr (assoc 40 en)) an (cdr (assoc 50 en)) an1 (+ an pi)
pp1 (polar pp an d) pp2 (polar pp an1 d))
(if (= pk "CIRCLE")(setq p1 (cdr (assoc 10 en)) r (cdr (assoc 40 en)) an 0 an1 pi pp1 (polar pp an d) pp2 (polar pp an1 d))
(if (or (= pk "LWPOLYLINE")(= PK "SPLINE"))
(setq pp1 (getpoint pp "方向:") an (angle pp pp1) an1 (+ an pi) pp2 (polar pp an1 (distance pp pp1)))
))))
(command "offset" dd aa pp1 aa pp2 "")
)
(setvar "osmode" os)
(setvar "cmdecho" cm)
)
[/pcode] |
|