Skyline开发2-第一个程序

Posted 我也是个傻瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Skyline开发2-第一个程序相关的知识,希望对你有一定的参考价值。

来试试Skyline的Hello World。使用的工具是VS2017+Skyline6.5

加载组件

在工具箱右键新建skyline选项卡,在skyline选项卡上右键选择项,在弹出的"选择工具箱项"上选择com组件(Skyline是基于COM组件写的,可以COM组件所支持的语言进行二次开发),点击 下方的浏览,选择TerraExplorer Pro安装目录的"TerraExplorerX.dll".

即可看到相关的组件(不同TerraExplorer版本略有不同),点击确定。

即可加载四个组件:

TE3DWindow:用来承载三维要素的组件。在一个程序中,只能有一个TE3DWindow,如果有多个将会报错"TE_E_MULTIPLE_TEX" 。

TE3DWindowEx:用来扩展承载三维要素的TE3DWindow组件。现实需求中,可能用到多个 TE3DWindow,如双球联动,这个组件即可"解决程序中只能有一个TE3DWindow组件"的问题。

TEInformationWindow: 用来以信息树形式显示TE3DWindow窗口里面的对象,也是唯一的,性质有类似于TE3DWindow。

TEInformationWindowEx:性质类似于TE3DWindowEx(7.0版本后新增的组件)

TENavigationMap: 鹰眼地图。可创建多个(7.0版本后取消了此组件)

第一个程序

新建窗体,在地图上拖放相应组件,如下图:

创建SGWorld实例,加载fly工程文件。SGWorld、AxTE3DWindow、AxTEInformationWindow三者不必建立绑定连接关系,它们自动会关联,即SGWorld加载的fly文件承载到AxTE3DWindow控件中,AxTE3DWindow的目录信息显示到AxTEInformationWindow工程树。

控件相关的引用AxTerraExplorerX、接口相关的引用TerraExplorerX;对应输出目录的AxInterop.TerraExplorerX.dll、Interop.TerraExplorerX.dll

将平台设置X86后进行调试运行,效果如下:(7.0版本后要设置成X64)

以上是关于Skyline开发2-第一个程序的主要内容,如果未能解决你的问题,请参考以下文章

bzoj1683[Usaco2005 Nov]City skyline 城市地平线

Skyline(6.x)-Web二次开发-多窗口对比

Skyline(6.x)-Web二次开发-1多窗口对比

bzoj1628 [Usaco2007 Demo]City skyline(单调栈)

Skyline WEB端开发2——添加一个定位点文本标签

Skyline WEB端开发 ——添加一个定位点文本标签