哪个高手编个程序,快速打断管线?
banshanxue
banshanxue Lv.7
2008年03月10日 17:30:27
只看楼主

水友们,平时画图时,经常会遇到管线交叉,要求严格的要显示哪个管线在上,哪个管线在下。用break命令可以打断,但很麻烦,而且打断的距离也不好控制,直接影响打印效果。哪位高手能否编个程序解决个问题?我想具体的步骤应是这样的:1,输入打断的距离D;2,选择相交的两条管线;3,选择要打断的管线;4,打断(以相交直线的交点为中心向打断的直线两边各D/2).希望高手们帮忙?

水友们,平时画图时,经常会遇到管线交叉,要求严格的要显示哪个管线在上,哪个管线在下。用break命令可以打断,但很麻烦,而且打断的距离也不好控制,直接影响打印效果。哪位高手能否编个程序解决个问题?我想具体的步骤应是这样的:1,输入打断的距离D;2,选择相交的两条管线;3,选择要打断的管线;4,打断(以相交直线的交点为中心向打断的直线两边各D/2).
希望高手们帮忙?
免费打赏
banshanxue
2008年03月11日 12:14:50
2楼
怎么没人回应阿?如果做好了,这应该对我们大家都有帮助的
回复
alnhny
2008年03月13日 23:18:17
3楼
那就用专业水软件来画啊,用纯CAD多慢啊,再熟练的CAD技能也没用专业软件来得快。如果要修改那更是要死人的事。用天正给排水吧。
回复
水的畅想
2008年03月14日 17:39:45
4楼
;管线交叉
(defun c:gxjc( / bbb p1 p2 p3 anl p4 p5)
(jiany)
(princ (strcat"\n ************交线打断程序,版本1.0;(1998-1999);"))
(princ (strcat"\n ------Clint;(*$*)核五院软件开发工作室************"))
(defun *ERROR* (msg)
(princ"\n")(princ msg)
(setvar "osmode" bbb)
(setq *ERROR* olderr)
(princ))
(setq bbb (getvar "osmode")
olderr *ERROR*)
(setvar "osmode" 32)
(setq p1 (getpoint "\n 拾取一个交点:"))
(princ"\n 请输入断开点到交点的距离<")
(princ a)
(princ">:")
(setq p2 (getdist))
(if(not p2)
(setq p2 a))
(setvar "osmode" 512)
(setq a p2
p3 (getpoint"\n 拾取要断开的线:")
anl (angle p1 p3)
p4 (polar p1 anl p2)
p5 (polar p1 (+ 3.14 anl) p2))
(command "break" p4 p5)
(setvar "osmode" bbb)
(princ"**OK!**")
(princ))

(defun rtd(angl) (/ (* angl 180.0000) pi))
(defun dtr(angl) ( * pi (/ abgl 180.0000)))
回复

相关推荐

APP内打开