如何生成平行于线的文字?
本帖最后由 ou_y_x 于 2013-11-26 13:07 编辑各位大侠,请教个问题。
我想通过点取平行线上一点(点取即刻生成),实现:
1、以该点为参照,文字插入点偏离直线80;
2、文字角度平行于直线,文字内容默认123;
3、双线最大间距500,当点取上直线时,文字在上;当点取下直线时,文字在下;
1、2比较好做,
但是对于3,获取点可以用getpoint,
但怎么既获取点,又获取直线,并判断文字应在的位置。
新手上路,希望各位不吝赐教。
效果如下图:
象天正这样软件,画门时,还要你再点一点确定门的开启方向呢。你要求的恐怕难实现。 不知可对?
xyp1964 发表于 2013-11-25 22:51 static/image/common/back.gif
不知可对?
正是这个意思,
版主能否提供思路和源码供参考学习? xyp1964 发表于 2013-11-25 22:51 static/image/common/back.gif
不知可对?
呵呵, xyp1964 发表于 2013-11-25 22:51 static/image/common/back.gif
不知可对?
版主别只放图让人看着干着急啊。。。 ;; 需要e派工具箱(XCAD)的支持:http://yunpan.cn/QXQKsW9gAPmpF
;; 生成平行于线的文字
(defun c:test1439 ()
(xyp-CMDLAsc0)
(xyp-initSet '(dist) '(500.))
(setq dist (Udist 7 "" "双线最大间距<输入或鼠标直接量取>" dist nil))
(while (and (setq e1 (entsel "\n选择直线: "))
(xyp-etype s1 "line")
)
(setq s1(car e1)
p1(osnap (cadr e1) "nea")
rad (xyp-get "angle" s1)
dd(* xyp-sc 250)
p2(if (setq lst (xyp-get-ClosestDistEname s1 p1 dist))
(polar p1 (angle (nth 2 lst) p1) dd)
(xyp-Get-RightPoint (polar p1 rad 1) (polar p1 rad -1) dd)
)
s2(xyp-Text 5 p2 "123")
s2(xyp-SubUpd s2 50 (xyp-Rad2Real rad 1))
)
)
(xyp-CMDLA1)
) xyp1964 发表于 2013-11-26 12:34 static/image/common/back.gif
这样做广告不好吧。。。 继续等待下一位热心人出现。。。 http://bbs.mjtd.com/forum.php?mod=viewthread&tid=91313&page=1#pid498830
文本动态对齐于曲线.lsp
页:
[1]
2