专栏名称: CityMaker
CityMaker是国内领先的国产三维地理信息软件(3DGIS)平台和解决方案提供商,提供三维地理数据整合管理、浏览展示、服务发布、地形管理发布等多款专业应用软件产品、增值服务、整体解决方案等等。
目录
相关文章推荐
GiantPandaCV  ·  【翻译】CUDA-Free ... ·  2 天前  
GiantPandaCV  ·  图解KV Cache:加速大模型推理的幕后功臣 ·  3 天前  
GiantPandaCV  ·  Flex Attention API 应用 ... ·  4 天前  
GiantPandaCV  ·  揭秘 ... ·  3 天前  
GiantPandaCV  ·  【翻译】【PyTorch ... ·  1 周前  
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相关内容。



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


 

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

 

 

//插件程序集 

 

//插件菜单项配置

...


获取最新CITYMAKER系列软件,体验不一样的3D GIS,请关注——。


 想了解更多? 
 那就赶紧来关注我们 

长按二维码 关注我们

加入我们官方QQ讨论群,参与更多互动分享

CityMaker软件技术分享群

189406624