- UID
- 265177
- 积分
- 901
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-5-24
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
记录下这一刻,在晓东重生。。。
功能:文字齐线
命令:af
适用曲线LINE,ARC,CIRCLE,ELLIPSE
[PHP]
(defun c:af (/ ang elist ename
i pt sscur sstxt
jw-angle-curvept jw-angle-sharp
)
(princ "\n文字齐线 carrot1983")
(vl-load-com)
;;(angtos (jw-angle-curvept (car (entsel)) (getpoint)) 0 )
(defun jw-angle-curvept (ename pt / ang tan)
(setq tan (vlax-curve-getfirstderiv
ename
(vlax-curve-getparamatpoint ename pt)
)
)
(setq
ang (if (= (car tan) 0)
(* 0.5 pi)
(angle (polar pt (atan (/ (cadr tan) (car tan))) 1) pt)
)
)
ang
)
;;(jw-angle-sharp ang)
(defun jw-angle-sharp (ang)
(if (and (> ang (* 0.5 pi)) ;_1.57
(< ang (* 1.5 pi)) ;_4.71
)
(setq ang (- ang pi))
)
ang
)
(if (and (setq pt (getpoint "\n点取曲线上一点<退出>: "))
(setq sstxt (ssget '((0 . "*TEXT"))))
)
(progn
(setq sscur (ssget pt '((0 . "*LINE,ARC,CIRCLE,ELLIPSE"))))
(setq ang (jw-angle-sharp (jw-angle-curvept (ssname sscur 0) pt)))
(setq i -1)
(repeat (sslength sstxt)
(setq ename (ssname sstxt (setq i (+ i 1))))
(setq elist (entget ename))
(setq elist (subst (cons 50 ang) (assoc 50 elist) elist))
(entmod elist)
)
)
)
(princ)
)
(princ)
[/PHP] |
|