问题1--楼主的要求有一个未实现:即判断是任意里程的单个法线还是批量。解决办法一:任意里程的画法线可以指定起始里程为0,然后手工计算画法线的里程点距起点距离,在间距里输入,画出此法线。当然,有可能画出好多,只有一条是你需要的(比如涵洞轴线),删掉其他多余的线即可。解决办法二:继续请NXCHENJK师傅完成此功能选项。(呵呵,要求的这么多,都不好意思了)。解决办法三:使用以下LISP代码(在楼下单独贴出)。
问题2--试用的时候发现标注的桩号位置有时候不是很美观。解决办法一:修改代码里(command "text" "bl" pt2 th ang2 str_1)的"bl”选项,改成你需要的对齐方式。解决办法二:标注完成后选择所有的标注单行文本,统一修改对齐方式。
只是两个小问题了,不影响正常使用。
分析完毕!再次感谢伸出援手的各位师傅!鸣谢NXCHENJK!
单独画法线,命令hfx
(defun C:hfx ()
(vl-load-com)
(setq a (vlax-ename->vla-object (car (entsel))))
(setq i (getreal "\n输入计算距离:"))
(setq b (vlax-curve-getpointatdist a i))
(setq c (vlax-curve-getparamatpoint a b))
(setq d (vlax-curve-getfirstderiv a c))
(setq e (atan (cadr d) (car d)))
(setq m (polar b (+ e (/ pi 2)) 100))
(setq n (polar b (- e (/ pi 2)) 100))
(command ".line" m n "")
) YFANZI可否把单独画法线,命令hfx这个程序它改成对线段按照输入距离智能分段了!等你的回复!谢谢了
有了此程序可以节省很多时间 也是找了好久,这个是最好使用的了,有个建议请楼上高人修改一下文字的对齐方式,一般就是文字与法线平行。 这个程序很好,不过拐点应该也标注桩号,怎么实现呢 如果起始桩号不是0,而是能够人工输入起始点桩号就好了 yfanzi 发表于 2011-9-2 00:35 static/image/common/back.gif
感谢再出援手!先试用一下,明天评论!
相当有用的程序 @nxchenjk
求改进程序中桩号KX+XXX文字能否选择垂直于法线的上方、下方?
另外,求添加标注曲线特征点桩号,比如圆曲线起点BC,中点MC、终点EC桩号;
再进一步添加缓和曲线的特征点桩号比如直缓点ZH,圆曲线起点BC,中点MC、终点EC、缓直HZ点桩号。
页:
1
[2]