jzj
发表于 2004-12-5 15:47:00
a)对于界面设计问题,解决好与ACAD资源在MFC中的MODELSTAT切换即可,看看MFC原代码AFXSTATE.CPP就明白了。ACAD在模
型,纸面空间切换使用这种风格,而对于文档切换,更多的是在浮动窗口中切换如MDT,这样可以展开并显示更多层次的信息。<br>
<br>
b)用CAdUiDockControlBar实现dock功能,用不了多少行代码。只是dock在application而非document层次上实
现,就是要维护"每文档"数据,并且当文档打开、切换和关闭时,对于dock中的内容做对应的变换,用反应器技术监控文档变换。否则就有禁止文档切换,这
才是ACAD中设计无模式对话框的关键技术。<br>
<br>
c)用反应器实现dwg文件与支持COM接口的关系数据库同步是可行的。难度在于dwg是面向对象数据库,而
关系数据便于实现SQL,而难以表达出对象直接的"关系",二者不是完全对应,需设计权衡。另外,将图形模型用数据库表达,在各个专业领域内都是个巨大的
课题,表达的方式及为复杂,在机械领域涉及到STEP标准,建筑领域是IFC标准,在本质上就是将"绘制"的"图形",转换为在各个专业领域的"对象",
用易于检索和查询的"数据库"来表示,并实现二者的交互。这样通过建模获得的不单是可以打印和观看的图形,而是可以被计算机识别的、被后续程序运用的数据
模型。这个数据模型往往是向该应用领域提供了基础数据来源。<br>
<br>
oyxx1023
发表于 2004-12-8 22:24:00
太厉害了。没看懂。
JA_JERRY
发表于 2005-1-6 16:29:00
高薪耶,好好学习,争取成为编程高手,菜鸟学飞,请高手指路----jerry
lilin
发表于 2005-1-18 20:54:00
说两句:
看了前面版主的留言,感觉版主既不象一个优秀的程序员,一个优秀的程序员不应该为了几个界面或者ADO就判断一个人的成就.同时也不是一个优秀的商人,一个优秀的商人不应该为了一个简单的功能就妄定一个员工的收入.
真正的优秀的程序员为:勤学,严谨,虚心,务实.
真正优秀的商人:人(物)超所值,精达细算.
///////////////////////////////
在ObjectARX二次开发过程中,界面是很重要,但真正重要的不是界面,而是对AUTOCAD的扩展,否则,去其速度不论,lisp或者vba就足够了.ObjectARX真正的核心为扩展ui和对象扩展.在cad的运行过程中,层状数据结构的运行数的外部对象扩展才其精华,一个好的二次开发系统,真正可以作到变形于无形之间.这种变形结构就需要其扩展.
在ARX扩展的过程中,包括两个方面的对象扩展,对象级别和实体级别,实体就是我们在绘图空间中看到的可见对象.
在外面看到的好多标榜二次开发的ARX作品,其实仅仅把CAD看作为一个绘图控件一样,真实涂有其名.
举个简单的例子:有人说,我会C++的散列表和属性结构表示方法,问其指针,答曰:何其指针^
只有充分利用起对象扩展的二次开发接口,CAD的开放性,自由性和灵活性才能发挥得淋漓尽致.即使是扩充了其对象层次,还得好好的使用合适的数据结构和设计模式,否则系统过于散乱,而导致无法维护和崩溃!
特别是关于国计民生的软件!
说句实在话:前面的界面和功能现在我仅仅需要一个晚上搞定,但是在我一半年以前就不行,为什么.因为我我查看了相关的帮助!可是,其前面的三年工作经验要求也怎么都不合理!如果说仅仅是有潜质的程序员,三年经验还仅仅是具有潜质,那么可能起一辈子处于潜质阶段.好的程序为其工作方式,为其学习的欲望,良好的习惯和天生的聪慧!话就说到此而已,
欢迎交流
中国虫
发表于 2005-1-19 09:20:00
To: <A name=77950><FONT color=#000066><B>lilin</B></FONT></A>
看了你的观点,我觉得有几点应该说明一下。
单纯那几个界面,脱离开ACAD的话,网上的源代码多如牛毛,本身并没有什么好值得称道的。但是如果要在ACAD中实现,就得看程序员的MFC功底和对ACAD框架的理解了。这几个界面能看出对ACAD框架细节的把握,所以单纯VC高手未必能在ACAD上实现。
很多人都是一看这三个界面,第一印象easy。真正去做时,很多认为easy的人未必能做出来。好的软件与他人不同就是体现在细节上,这一点有公论我这里就不赘述了。
再说说ARX,我之前多次表达过同样观点,那就是:ARX、MFC是小道,如果C++水平到一定程序,ARX和MFC只是个体力劳动。所以能实现这三个界面至少C++有一定基础,也就是说至少从技术上能达到被团队接纳的标准。
你说你一晚上能做出来,那你是双料高手。对大多数程序员来讲工作三年未必VC++和ACAD框架都很明白;比如:MFC、ARX/ADS的机制是什么?我相信大多数人虽然能做一些程序,但不会有恰如其分的回答。
所以设计那三个界面来招聘程序员,不是没有原因的。
smilestone
发表于 2005-1-28 22:29:00
不努力不行啊
zuqiang
发表于 2005-2-2 13:14:00
autocad 2005 不知怎用?
zhenhj
发表于 2005-2-12 14:53:00
"单纯那几个界面,脱离开ACAD的话,网上的源代码多如牛毛,本身并没有什么好值得称道的。但是如果要在ACAD中实现,就得看程序员的MFC功底和对ACAD框架的理解了。这几个界面能看出对ACAD框架细节的把握,所以单纯VC高手未必能在ACAD上实现。"
作为AutoCAD二次开发人员,只有完整参加过CAD项目开发的人才会对上面的一段话有深刻的体会。
简单的比喻:调味品多数人会买,菜多数人会买,但未必多数人能把色、香、味具佳菜肴做出来。
中国虫
发表于 2005-2-16 10:11:00
zhenhj发表于2005-2-12 14:53:00static/image/common/back.gif\"单纯那几个界面,脱离开ACAD的话,网上的源代码多如牛毛,本身并没有什么好值得称道的。但是如果要在ACAD中实现,就得看程序员的MFC功底和对ACAD框架的理解了。...
<BR>我们急需您这样有经验有见地的程序员,不知道有没有兴趣聊一聊,及便不能共事,交个朋友也好!
huangyhg
发表于 2005-2-19 20:16:00
好久没来了哦!
这里这么热闹!
1)cad中想用数据库管理软件扩展并管理应用数据,就应去借鉴PDM的框架思路!数据库的架构才是重点考虑的。
2)想了解底层ACAD的数据结构,就应去了解AutoCAD的底层ACIS三维造型平台!ACIS的组件比AutoCAD软件好用得多。
原本简单的数学描述的几何东西被应用工程师搞复杂了,究源才是我们学习的方向。