简单的投影程序
本帖最后由 菜卷鱼 于 2015-12-11 08:46 编辑多段线投影的程序论坛已经有了http://bbs.mjtd.com/forum.php?mod=viewthread&tid=107683
因为程序是很久以前写的,结构比较冗杂,没有花时间去重写。
2015年8月18号更新,目前支持直线、圆、圆弧、多段线,并加快了反应速度。
内容回复可见,不想回复的直接下载附件吧。
(defun c:pp ( )
(princ "\n简单投影程序,制作BY菜卷鱼")
(setq pi2 (/ pi 2))
(setq 3pi2 (/ (* 3 pi) 2))
(setqles (ssget '((0 . "LINE,CIRCLE,ARC")
(-4 . "<NOT")
(8 . "中心线")
(-4 . "NOT>")
)
)
)
(setq i 0)
(setq pltlr nil)
(setq pltud nil)
(setq clt nil)
(setq plt nil)
(repeat (sslength les)
(setq obj (ssname les i))
(setq info (entget obj))
(setq ac0 (cdr (assoc 0 info)))
(cond
((= ac0 "CIRCLE")
(progn
(setq dr40 (cdr (assoc 40 info)))
(setq pt10 (cdr (assoc 10 info)))
(setq clt (cons pt10 clt))
(setq pltlr (cons (polar pt10 0 dr40)
(cons (polar pt10 pi dr40) pltlr)
)
)
(setq pltud (cons (polar pt10 pi2 dr40)
(cons (polar pt10 3pi2 dr40) pltud)
)
)
)
)
((= ac0 "ARC")
(setq pt10 (cdr (assoc 10 info)))
(setq clt (cons pt10 clt))
)
((= ac0 "LINE")
(setq pt10 (cdr (assoc 10 info)))
(setq pt11 (cdr (assoc 11 info)))
(setq plt (cons pt10 (cons pt11 plt)))
)
)
)
(prin1)
)
以下是完整源码
**** Hidden Message *****
本帖最后由 xj6019 于 2020-2-25 13:54 编辑
您好老师,程序试用了一下,不知道您贴出来的代码和现成的文件里面有没有区别,我两个都试了发现了点小问题,看看能解决么
我的附件里面这种形状用程序投影,相邻的两个线挨着太紧的话,就只能投影出一根线来,请问能解决吗
小点的图都没问题,一旦如图板很薄但是整个断面很宽的时候,投影就总出这个问题,你的两部分代码我都试过了,效果均相同. 会不定时一会好一会不行,都没有规律,相同的断面,运行代码时好时坏,代码的判断还不是固定的吗?搞不懂咋回事呢,好奇怪!
求解决方案,谢谢!!
这要谁能写一个补全三视图就厉害了,经常碰到那样的三视图给了两视,要自己画第三个试图的。烦人得很!要是有3D我不自己用UG之类的出工程图就是 感謝分享 cad也可以画3d图啊 cad三维太弱了 看看这个原理是什么。 支持一下! 先看完整的 下载收藏了 dear sir,
nice program
CAD画三维也不错的,只是没有数据结构,三维投影三视可参考 zctao1966的转三视图程序 CAD也可以画三维,画好之后也可以转三视图的