【原创】MapGIS K9 三维二次开发入门
开发语言:C#
平台版本:MapGIS K9 SP3
MapGIS K9三维平台也提供了接口和组件以实现二次开发。用户可以根据提供的接口和组件进行二次开发,也可以借助MapGISK9数据中心框架,可以方便的调用三维平台已有的基本功能。本文就是个简单的数据浏览和功能调用示例。
我们要用到两个控件,一个是三维场景控件:MapGIS mx_TDEViewCtrlControl ,另外一个就是三维目录树控件:MapGIS mx_TDETreeCtrlControl。我们新建一个窗体,并将两个控件添加到窗体中。
控件准备好了,现在需要准备数据了。数据需要在三维平台里面操作完成,配置好显示的模型,并保存目录树。(具体配置过程可参考大赛提供的三维平台操作视频)
数据配置完成之后,在窗体的构造函数中添加两行代码:
public Form1()
{
InitializeComponent();
axmx_TDEViewCtrl1.initEnvionment();//初始化三维场景控件
axmx_TDETreeCtrl1.initEnvionment();//初始化三维目录树控件
}
然后运行就可以看到数据了:(此处我以2012年高级开发A组一等奖作品数据为例)

数据可以浏览了,现在给大家说一下功能如何调用。
我们先添加一个按钮,然后在按钮的click事件中写代码:
private voidbutton1_Click(object sender,EventArgs e)
{
//调用 添加标注 功能
axmx_TDEViewCtrl1.SetFuncItem("CreateMark");
}
通过这样一句话,就可以调用三维平台已有的添加标注的功能。
SetFunItem方法需要的参数是功能插件的别名,这个别名可以在MapGIS安装目录下Program文件夹中的一个叫做ActiveXFuncList.xm的文件中查看,节点属性中的DispName属性就是可调用的方法别名。
下图为添加标注功能演示截图:

【原创】MapGIS K9 三维二次开发入门的更多相关文章
- 齐博x1频道的二次开发入门讲解
要进行频道的二次开发,首先我们要先了解一下频道的目录结构,如下图最基本的几个目录admin 后台文件存放目录index 前台文件存放目录member 会员中心存放目录model 数据表模型目录trai ...
- [原创] 腾讯RTX二次开发相关的一些注意事项
在企业即时通信方面,腾讯的RTX在国内的占有率应该是很高的 所以,就避免不了要与其他系统进行消息集成 腾讯为此提供了二次开发的工具包,支持JAVA.C#.VB等多种开发语言 但是,目前为止,腾讯官方提 ...
- ArcGIS二次开发入门(一)
作者:朱金灿 来源:http://blog.csdn.net/clever101 公司培训ArcGIS二次开发(C#作为开发语言),自己回家动手实践了一下. 1. 首先是二次开发环境的安装(AE 10 ...
- 基础的Mapgis三维二次开发-插件式
最近在做一个杭州石油的项目开发一个小系统. 1.命令必须是 ICommand 的派生类 using System; using System.Collections.Generic; using Sy ...
- 使用.NET开发AutoCAD——C#/AutoCAD 2018/ObjectArx/二次开发入门(二)
1.开发环境配置: (1)安装AutoCAD2018: (2)安装VS2015: (3)安装ObjectARX 2018类库: (4)安装ObjectARX 2018 .NET开发向导(ObjectA ...
- Flexpaper二次开发入门教程》(十) Flexpaper简单使用-第一个Flexpaper例子
4. Flexpaper简单使用 通过上面三章的内容,大家对Flexpaper.SWFTools应该有大概的了解了,SWF文件也已经生成了,我们开始进入Flexpaper的使用的介绍. 本章中只演示F ...
- Aveva Marine C# 二次开发入门001
1# 引用 C:\AVEVA\Marine\OH12.1.SP4\Aveva.ApplicationFramework.dll C:\AVEVA\Marine\OH12.1.SP4\Aveva.App ...
- CAD二次开发起步
1 环境搭建(VS 2017 + CAD 2019) CAD版本一般要比VS版本晚两年以上,比如我现在使用VS2017,则CAD要用2019版,至于CAD2018能不能用没试验过,有兴趣的小伙伴可以试 ...
- FlexPaper及二次开发
Flexpaper二次开发入门教程 http://ajava.org/course/web/?page=2
随机推荐
- Java 初始化的个人理解
先说明一下由来吧,下面是同学的一道笔试题,以前感觉对java初始化也是了解一二的,结果,看到这题泪奔了,不会...上网查,自己添加println,总算是能把自己讲明吧了,不知理解的对不对,先记录下吧, ...
- 01-复杂度2. Maximum Subsequence Sum (25)
Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, ...
- docker进入容器
进入容器的三种方式: sshd nsenter exec sshd 在容器中开启一个SSHD的服务,通过SSH的协议登录到容器中,把容器看出一个vm nsenter: nsenter包含在util-l ...
- border-radius 知识点
border-radius:50px; 边框半径 CSS度量值都:em.px.百分比如果设置1个值,表示4个圆角都使用这个值.如果设置两个值,表示左上角和右下角使用第一个值,右上角和左下角使用第二个值 ...
- c#软件工程师笔试题
近来有打算重新找工作,还没提离职,投了几家公司简历,其中一家比较中意的公司给发了面试题,其实,好像是好几天前的事了,主要是Gmail邮箱很少用,所以一直都没去看,今天看到题目给解了. 题目如下: 题目 ...
- Objective-c 深浅复制
深浅复制的定义: 浅复制:在复制时,对于被复制对象的每一层都是指针复制. 深复制:在复制时,对于被复制的对象至少有一层是对象复制. 完全复制:在复制时,对于被复制对象的每一层都是完全复制. retai ...
- 日志记录Filter
Filter也可以日志记录,在request 之前后, 该filter 使用Apache 日只记录工具,记录客户IP ,访问URI 以及消耗时间. LogFilter.java package com ...
- git版本控制的笔记
一.配置你的身份,提交代码时git就可以知道是谁提交的了 git config --global user.name "Tony" git config --global user ...
- multi-threaded copy command - robocopy
we can copy files by the powerful robocopy tool, and it allow copy using muliti-threaded as well. As ...
- asp.net mvc重写RequestValidator
/// <summary> /// <httpRuntime requestValidationType="xxx.CustomRequestValidator" ...