- 积分
- 30843
- 明经币
- 个
- 注册时间
- 2013-1-25
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
本帖最后由 尘缘一生 于 2019-10-11 06:58 编辑
因为许多人交流,发现的问题:
第一:对于画图纸的人来说,有一种系统,那就是,他画图,基于大型程序,比如:天正,探索者,盈建科等等。。。。。他得系统,就基于建立在特殊实体之上 的,比如:块,参照,等等。。。。。
第二:老一辈的人,画图,基本基于CAD原始图素的,那就是,无论任何专业,任何人的图,转过来,首先,全部炸开基本图素后,在此基础上,进行再编辑。
本坛很多帖子回复,经常说:为何你炸开标注,炸开就不好办了,为何你属性转文字啊?为何.......;这明显是不超过35岁的年轻人,因为他们不是CAD的原使用者,他们接触CAD是从大型软件包入门的,对CAD基本图素,是不关心的,认为大型软件包的才对的,CAD原始的是不对的,本末倒置了,却还不知道。
因此,对于开发者来说,就造成重复,不分主次了,比如:源泉,它里面就集成了很多大型软件包的功能?为何?一些功能,大型软件包都做了,为何重复开发?
对于界面,比如:懒人,采用DCL,造成画图按键多,比如天正,实际就是二次开发吗?用OPENDCL开发类似屏幕菜单,看似漂亮,实则画图,按键多,完成个事,菜单级联,翻几页,点好几个键,繁琐费时,花拳绣腿罢了!而且对CAD版本还要求限制,比如,目前天正使用者,大多要安装CAD2014,CAD都2020版了,为了使用天正,你不得不安装2014!
我个人认为:对于任何专业工程师来说,他不需要掌握太多软件包!它只需要精通一门即可了,比如:PKPM,天正,盈建科,MIDAS。。。。。。
在大型软件包里,你需要及其专业和精通,把大部分图纸都出来了,转到CAD,你需要的是后续设计:比如:画节点构造!
掌握CAD好的,从不在大型软件包里磨蹭,很快就到CAD了,加外挂,快速画图,非常纳闷的是,为何那么多得二次开发,还开发钢筋、楼梯、门窗、基础等等?难道你前期在大型设计软件里,都不会作吗?或者你作的不对?
有一个事实毋容置疑:那就是,对CAD精通者,不需要任何大型软件包,他得画图速度,你就比不了。
无有主次,写这些,没别得目的,我希望大家,说说,你在你专业是怎么画图得?你的经验,分享给大家,并且需要的代码,到底是什么类别?不要开发大型软件包已经有的东西了,即便开发的好,超过也是很不容易的,我们精力有限。
许多急需的源码,我们无法得到的,因为,高手不发出来,遗憾多多。
如果不是亲自画图得人,开发的代码,是不实用的,大家应该认同吧?
目前,桥梁专业,水电专业,模具专业,急需好代码,这方面却很少优秀编程,希望年轻人,会VC ,VB 等高级编程的多努力,为社会作贡献!
我很老了,有心也无力了,我很希望能看到:
1:DCL预览参数化画图代码
2:属性转文字代码
3:动态圆角,支持LINE 、pline
4:所有代码,不受CAD版本限制,凡受限制的,基本没价值!
为了说明问题,我发段源码出来,就是断开线性实体,线宽不变的,本坛这个代码不少,我都没采用?为何?不实用而已,开发个代码,又是VLA,ARX,又是反应器,又是什么的,不就这个事吗?:
;;--炸开线性实体,宽度不变---(开始)-----------------------------------------------(defun C:slexpline(/ ent lst n ss p n1 p1 lwid ss1 i sl sn) (setq ss (ssget '((0 . "line,LWPOLYLINE,circle,ARC,spline,ELLIPSE,"))))
(setq p (sslength ss))
(setq n 0)
(setq p (- p 1))
(while (<= n p)
(setq ent (ssname ss n))
(setq lwid (cdr(assoc 43 (entget ent)))) ;;;;;;取得线宽
(if (= 0 lwid) ;;;;;;;如果宽度为零的线,直接炸开
(progn
(vla-explode (vlax-ename->vla-object ent))
(entdel ent) ;;;;;;再删除这个选择体
)
(progn
(setq en (entlast))
(vla-explode (vlax-ename->vla-object ent)) ;;;;;先炸开它
(entdel ent) ;;;;;;再删除这个选择体
(setq ss1 (ssadd))
(while (setq en (entnext en)) ;;;;;取得炸开后选择集
(ssadd en ss1)
)
(if (/= ss1 nil)
(progn
(setq sl (sslength ss1) i 0)
(repeat sl
(setq sn (ssname ss1 i) i (1+ i))
(command "pedit" sn "y" "W" lwid "")
)
)
)
)
)
(setq n (1+ n ))
)
(princ)
)
;;--炸开线性实体,宽度不变---(结束)-----------------------------------------------
|
评分
-
查看全部评分
|