[CE]升级mdlKISolid_xxx函数到CONNECT版


在MicroStation V8i中,要编程处理智能实体就要用到mdlKISolid类函数。KI的英文是Kernel Independent,原意是这套函数能同时用ParaSolid内核处理DGN中的三维体和ACIS内核处理DWG中的三维体。但自从Bentley改用RealDWG处理DWG文件后,三维实体的处理统一改为ParaSolid内核了。所以,从CONNECT版开始,mdlKISolid函数改名为mdlSolid函数。如,mdlKISolid_unite改名为mdlSolid_unite。

另外,对KI开头的一些结构指针的名字也做了相应的改变如下:

MDL V8iMDL CE
KIBODYBODY_TAG
KILOOPLOOP_TAG
KIFACEFACE_TAG
KIEDGEEDGE_TAG
KIVERTEXVERTEX_TAG
KIENTITYENTITY_TAG
KIENTITY_LISTTAG_ENTITY_LIST

还有一点需要注意,如果您以前使用过一些未公开的API函数,如:extern "C" int mdlKISolid_saveParts (...);

则在CONNECT版中则要改声明为int mdlSolid_saveParts(...); ,因为CONNECT中的这些函数都改为C++函数而非纯C函数了,支持函数的重载。

其实,在CONNECT SDK中对实体创建以及操作进行了类的封装,如果您是用CONNECT版进行新代码的开发,则完全可以不用mdlSolid类函数而改为SolidUtil类。其下又包含如下图所示的几个类: