专栏名称: CityMaker
CityMaker是国内领先的国产三维地理信息软件(3DGIS)平台和解决方案提供商,提供三维地理数据整合管理、浏览展示、服务发布、地形管理发布等多款专业应用软件产品、增值服务、整体解决方案等等。
目录
相关文章推荐
GiantPandaCV  ·  MoE之年的总结和MoE 推理优化的一些认识 ·  2 天前  
51好读  ›  专栏  ›  CityMaker

基于CityMaker的插件式开发,DIY专属自己的软件

CityMaker  · 公众号  · 3D  · 2017-04-12 18:02

正文


基于CityMaker平台的二次开发主要分两种方式:完全二次开发和基于现有软件的插件式开发。


前者的好处就在于可以从源头按照需求来定制,尽管工作量更大,却可以实现“我的地盘我做主”; 后者(Addins)恰恰相反,尽管在形式上受到一定的约束,却可以充分利用软件中现有的大量通用基础功能,专注于个性化定制的部分,从而实现“画龙点睛”的效果。




关于软件界面


CityMaker Builder、CityMaker Explorer Pro等软件采用RibbonUI风格设计,所有功能有组织地集中存放,能够更好地在每个应用程序中组织命令,同时提供足够显示更多命令的空间,均支持插件开发方式,用户可以在相应的规则内自主设计个性化的UI和功能,下面是典型的 RibbonUI示意图



由于可以在软件中添加各种不同的功能组件,如 RibbonPage、 RibbonPageGroup、 ButtonCommand、 CheckCommand 等,因此,用户既可以新建一个Page页来装载自己开发的功能模块,也可以新建一个组,或者直接将功能添加到当前软件现有的模块之中。通过不同组件的排列组合可以随心所欲地定制专属“自己的软件UI”,下图为不同形式的Builder插件的组织方式。



关于功能


说完了界面,接下来说一下功能。使用插件开发,最最重要的当然是依靠Runtime和Builder或Explorer中的类库了。CityMaker为用户提供大量类库支撑插件开发,这些都可以在软件安装路径下找到。有了这些,我们就可以在软件自身的基础上,进行进一步的开发。



接下来就到了最核心的部分,让我们看一下平台为插件开发提供了哪些有用的接口呢? 详细的接口说明可以参考SDK文档中AddIn Development Document.pdf相关内容。



利用上述接口实现自定义功能后,通过一个关键的配置文件,将用户界面中 添加的各种不同功能按钮和功能代码链接起来,就完成了整个的插件开发。


//插件配置文件唯一标识符

//插件程序集

//插件菜单项配置

...







请到「今天看啥」查看全文