SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(一)——环境准备及项目配置

170 篇文章 52 订阅
75 篇文章 19 订阅

作者:超图研究院技术支持中心-于丁1

SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(一)——环境准备及项目配置
  三维场景框选是一种在三维空间中进行选择和操作的功能,它可以让使用者通过鼠标拖动来创建一个矩形框,以选择场景中的一部分或多个对象。这种框选功能在三维场景编辑和操作中非常有用,因为它可以帮助用户快速、准确地选择需要操作的对象,从而进行进一步的编辑、移动、删除等操作。
该功能在GIS行业的各类业务中是有极大作用的,比如:
    在城市规划中,规划师可以框选一个街区或建筑物,进行细致的测量和规划,以便更有策略性的调控管理;
    在土地资源管理中,管理者可以框选土地的某一部分一个地块或一条河流,进行详细的观察和分析;
    在环境监测和保护中,环保工作者可以框选一片森林或一个湖泊,然后对其进行更细致的监测和保护;
    在交通规划中,交通工程师可以框选一段道路或一座桥梁,然后对其进行更细致的规划和设计。
  但是框选功能在iObject.NET组件中,并不像拖拽、漫游等功能有现成可用的接口,该项目将通过三篇详尽步骤文章,让完全没用过SuperMap iObject.NET的入门级新手,可以从0开始完成自己的业务项目。
  《SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(一)——环境准备及项目配置》
  《SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(二)——拖拽框选高亮的实现》
  《SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(三)——选择对象实时属性可视化》
  本文《SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(一)——环境准备及项目配置》将包括“获取组件+创建工程级框架配置+添加组件至工程+配置组件环境变量+项目添加iObject.NET引用+界面制作并添加三维场景球”这六个部分的详细步骤。
  (在最后一篇文章会提供完整源码和示例数据)

一、使用工具及环境

Windows 11 专业版23H2

Microsoft Visual Studio Community 2022 (64 位) - Current 版本 17.7.5(以下简称vs)

SuperMap iObject.NET 11i(2023)V11.1.1及以上版本。(以下简称iObject或NET组件)

二、使用数据(仅演示)

三维点、线、面数据集数据各一份

白模模型数据集一份

精模模型数据一份

三、实现详解

1.获取组件

1.1下载SuperMap官网最新版iObject.NET

(当前最新版11i(2023)V11.1.1)
http://support.supermap.com.cn/DownloadCenter/ProductPlatform.aspx
在这里插入图片描述

1.2解压下载的组件包

在这里插入图片描述

1.3找到组件的Bin_x64目录内为组件内容

在这里插入图片描述

2.创建工程及框架配置

2.1创建.NET Framework窗体应用工程

在这里插入图片描述

2.2填写项目名称并选用.NET Framework4.0框架

在这里插入图片描述

2.3 调整项目编译调试方案为64位

(因为当前最新版iObject.NET组件是64位的)

2.3.1调试模式下拉菜单选择“配置管理器…”

在这里插入图片描述

2.3.2活动解决方案平台下拉窗选择“<新建…>”

在这里插入图片描述

2.3.3新建x64的解决方案平台

键入或选择新平台选择“x64” ,从此处复制设置选择“空”,勾选创建新的项目平台
在这里插入图片描述

2.3.4新建x64解决方案平台成功,平台选择“x64”确认在这里插入图片描述
2.3.5快捷调试方案模式里选择刚刚新建的“x64”

在这里插入图片描述

2.3.6启动运行调试,窗体启动成功则项目基本调试框架配置成功

在这里插入图片描述

3.添加组件至工程

方便项目完成后打包部署至应用客户端

3.1找到项目输出路径

解决方案下——方案名右键——属性——生成——输出路径
在这里插入图片描述

3.2项目输出文件夹中创建一个新文件夹“SuperMapiObject.NET”用来存放组件

(该文件夹名称可任意)
在这里插入图片描述

3.3将解压出来的组件“Bin_x64”部分完整解压到文件夹中在这里插入图片描述

4.配置组件环境变量

将Bin_x64目录设为电脑系统path环境变量

4.1菜单栏输入“编辑系统环境变量”

在这里插入图片描述

4.2将“步骤1.3”中看到的Bin_x64完整路径设置为系统path环境变量

高级——环境变量——系统环境变量里的“Path”——编辑——新建——写入“组件Bin_x64目录”的完整路径
在这里插入图片描述

4.3将刚刚创建的环境变量“上移”至第一个确认

在这里插入图片描述

5.项目添加iObject.NET引用

5.1解决方案资源管理器下——解决方案——项目——引用右键“添加引用”

在这里插入图片描述

5.2浏览——打开组件“Bin_x64”目录位置——选择本次要使用的dll包

SuperMap.Data.dll
SuperMap.Realspace.dll
SuperMap.Realspace.Three3DDesign.dll
SuperMap.UI.Control.dll
在这里插入图片描述

5.3确认添加引用

在这里插入图片描述

5.4 可在右侧引用树中看到

在这里插入图片描述

6.界面制作并添加三维场景球

6.1重命名项目主窗体Form1

在这里插入图片描述

6.2命名为自己需要的名字并应用于所有

在这里插入图片描述

6.3修改窗体标题为自己需要的

点击窗体——属性面板——Text属性
在这里插入图片描述

6.4打开工具箱找到容器

工具箱(左侧选项卡或Ctrl+Alt+X)——容器——panel
在这里插入图片描述

6.5使用panle进行页面布局设计

(1)通过通拽到界面设计器上添加容器
(2)通过调整dock规整布局
(3)通过修改name属性标记容器
在这里插入图片描述

iObject.NET三维场景拖拽—Panel布局设计

6.6生成窗体启动事件

点窗体空白处——右下角切换至窗体Form的属性——点击“闪电”进入事件——找到Load双击空白处生成窗体启动事件
在这里插入图片描述在这里插入图片描述

6.7添加三维场景控件SceneControl

6.7.1主窗体代码中添加组件引用

using SuperMap.Data;
using SuperMap.Realspace;
using SuperMap.Realspace.ThreeDDesigner;
using SuperMap.UI;

在这里插入图片描述

6.7.2初始化三维球并添加到容器中
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using SuperMap.Data;
using SuperMap.Realspace;
using SuperMap.Realspace.ThreeDDesigner;
using SuperMap.UI;

namespace Scene_BoxSelect
{
    public partial class mainForm : Form
    {
        //定义该窗体内通用变量
        SceneControl sceneControl_Main;
        public mainForm()
        {
            InitializeComponent();
        }

        private void mainForm_Load(object sender, EventArgs e)
        {
            //实例化SceneControl三维场景控件
            sceneControl_Main = new SceneControl();
            //控制场景控件在容器内填充满
            sceneControl_Main.Dock = DockStyle.Fill;
            //将三维场景控件添加到界面设计的目标容器中
            panel_Scene.Controls.Add(sceneControl_Main);
        }
    }
}

在这里插入图片描述

6.7.3启动调试可见三维球

在这里插入图片描述

详细步骤的说明内容较多,文章篇幅有限接下来的教程,请查看下期内容《SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(二)——拖拽框选高亮的实现》。
若对本文内容有疑问或讨论,可以向超图研究院支持中心进行咨询。


  1. 原文跳转 ↩︎

  • 30
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值