前几天收到一个任务,研究“如何将布局中的视口区域转为模型空间的区域”。
收到这个任务前,连Auto CAD都没碰过,甚至有关“布局”和“模型”的概念都不懂,相关的控件也不熟悉!
听了一些概念介绍后,就开始动手...
最开始的想法是通过视口的rect直接做转换,但由于视口在布局中使用的坐标系和模型的坐标系是不一样的,转换存在困难,并且结果的准确性不可预知,几经尝试后,发现可以使用视口对象的中间点记录了在模型空间坐标,已经可以预知,通过这个即可达到转换目的
1、视口具备宽度和高度;
2、布局和模型之间存在放大和缩小比例;
3、视口记录有中间点的模型坐标
方向对了,但细节上存在问题。其中,有关图纸坐标转换为屏幕坐标,这其中存在曲折的过程,有人因此困扰很久,然而这些问题我并不知晓!又如,获取比例问题,也有人研究过。还有一个是判断矩形是否相交问题,算法存在精度问题...
经过这些曲折,觉得还是有必要总结一下:
1、研究成果需要文档化,以便相关成员了解;
2、技术的研究过程中,程序的验证,必须简单化,否则可能会影响到研究结果;
3、沟通,寻找相关成员了解相关问题(这个代价也许有点高——时间问题);
有时有点这样的任务,还是可以总结出一些方法和原则出来的。