我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#.NET中的AutoCAD向导和Editor类是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#.NET中的AutoCAD向导和Editor类是什么

这篇文章主要讲解了“C#.NET中的AutoCAD向导和Editor类是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#.NET中的AutoCAD向导和Editor类是什么”吧!

1) 启动Visual Studio .NET,选择”文件>新建>工程”(File> New> Project)。在新建工程对话框中选择工程类型为”Visual C#工程”,然后选择“AutoCAD Managed CS Project Application”模板。在工程名字框中输入”Lab2”,然后选择工程存放的位置。点击确定按钮,“AutoCAD Managed CSharp Application Wizard”对话框将会出现。因为我们不需要使用非托管代码,所以不要选择“Enable Unmanaged Debugging”项。“Registered Developer Symbol”将会使用你在安装ObjectARX向导时输入的值。单击”finish”按钮来创建工程。

2) 下面来看一下向导生成的工程。在解决方案浏览器中,你会看到acdbmgd 和 acmgd已经被引用了。在Class.cs文件中,“Autodesk.AutoCAD.Runtime”命名空间已被导入,工程使用“Registered Developer Symbol”的名字来命名缺省的公有类。向导还为类加入了一个CommandMethod属性和一个函数,它们用于AutoCAD命令。

3) 在前一章中,我们使用一个“Autodesk.AutoCAD.EditorInput.Editor”类的实例对象在AutoCAD命令行上输出文本。在这一章中,我们将使用这个类来提示用户在AutoCAD图形中选择一个点,然后将用户选择的点的x,y,z值显示出来。和前一章一样,请导入Autodesk.AutoCAD.ApplicationServices 和 Autodesk.AutoCAD.EditorInput命名空间。

4) 把向导生成的CommandMethod属性的值改为有意义一些的名字如“selectPoint”(函数的名字可以不用修改)。PromptPointOptions类用来设置提示字符串和其它的一些控制提示的选项。这个类的一个实例作为参数被传入到Editor.GetPoint方法。在函数的开始,实例化这个类,设置字符串参数为“Select a point”。因为 Editor.GetPoint方法会返回一个PromptPointResult类的实例对象,所以我们也要把它实例化。

PromptPointOptions prPointOptions =  new PromptPointOptions("Select a point");  PromptPointResult prPointRes;

5) 接下来实例化一个Editor类的对象并使用参数为PromptPointOptions对象的GetPoint方法。用GetPoint方法的返回值来给上面声明的PromptPointResult对象赋值。赋值好以后,我们可以测试PromptPointResult对象的状态,如果不是OK就返回。

prPointRes = ed.GetPoint(prPointOptions);  if (prPointRes.Status != PromptStatus.OK)  {  ed.WriteMessage("Error");  }

6) 如果PromptPointResult对象返回了一个有效的点,我们就可以使用WriteMessage方法把结果输出到命令行。PromptPointResult.Value的ToString方法使输出非常容易:

ed.WriteMessage("You selected point " prPointRes.Value.ToString)

7) 按F5来运行一个调试AutoCAD的进程。(注意:向导已经设置好用acad.exe来调试)在AutoCAD命令行中输入NETLOAD,选择Lab2.dll并打开。在命令行中输入你起的命令名字(selectPoint)。在选择点的提示下,单击图形中的任一点。如果一切正常的话,你可以在命令行中看到你所选的点的坐标值。在Class.cs文件的“ed.WriteMessage("Error");”行加入断点,然后再次运行selectPoint命令。这一次,在选择点的提示下按ESC键而不是选择一个点。PromptPointResult对象的状态就不是OK了,所以上面代码中的if语句就会被执行,“ed.WriteMessage("Error")”;语句就会被调用。

8) 接下来我们将加入另外一个命令,它可以获取两个点之间的距离。向导没有添加命令的功能,所以我们必须手工添加。在Class.cs文件的选择点的函数(getPoint)下面添加一个名为getDistance的新命令。加入命令的方法请参考上一章的内容或本章的源代码,这里就不列出了。使用CommandMethod属性并使字符串参数为“getdistance”或其它类似的名字。在命令的函数中使用PromptDistanceOptions代替PromptPointOptions。当然GetDistance方法的返回值是一个PromptDoubleResult类的实例对象,所以请用PromptDoubleResult来代替PromptPointResult:

PromptDistanceOptions prDistOptions = new PromptDistanceOptions("Find distance, select first point:");  PromptDoubleResult prDistRes;  prDistRes = ed.GetDistance(prDistOptions);

9) 和前面的命令一样,也可以测试PromptDoubleResult的状态,然后用WriteMessage方法在命令行中显示值。

if (prDistRes.Status != PromptStatus.OK)  {  ed.WriteMessage("Error");  }  else {  ed.WriteMessage("The distance is: " + prDistRes.Value.ToString());   }

感谢各位的阅读,以上就是“C#.NET中的AutoCAD向导和Editor类是什么”的内容了,经过本文的学习后,相信大家对C#.NET中的AutoCAD向导和Editor类是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#.NET中的AutoCAD向导和Editor类是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#.NET中的AutoCAD向导和Editor类是什么

这篇文章主要讲解了“C#.NET中的AutoCAD向导和Editor类是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#.NET中的AutoCAD向导和Editor类是什么”吧!1)
2023-06-17

C#和.NET FrameWork的概念是什么

本篇内容主要讲解“C#和.NET FrameWork的概念是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#和.NET FrameWork的概念是什么”吧!1.什么是C#:解1:C#就是一
2023-06-17

.NET、ASP.NET和C#的关系是什么

本篇内容主要讲解“.NET、ASP.NET和C#的关系是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“.NET、ASP.NET和C#的关系是什么”吧!C#是语言,听说是Java与C++的杂交
2023-06-17

C#中.Net FrameWork的作用是什么

这期内容当中小编将会给大家带来有关C#中.Net FrameWork的作用是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.什么是C#:解1:C#就是一门开发语言,是由C及C++演变而来的,有朋友戏
2023-06-17

C++中类和对象是什么

这篇文章给大家分享的是有关C++中类和对象是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。类和对象<上>面向对象一直以来都是面向过程编程比如C语言,直到七十年代面向过程编程在开发大型程序时表现出不足,计算机界
2023-06-29

C++中结构体和类的关系是什么

小编给大家分享一下C++中结构体和类的关系是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、C++结构体和类的关系为什么讲C++类的大小要提到结构体呢,因为
2023-06-25

c++中类的属性是什么

类属性是存储对象状态信息的变量,具有不同的访问权限,包括 public、protected 和 private。它们可以是任何数据类型,并在类定义中声明。访问权限决定了可以从哪些位置访问属性,而方法可以操作或检索属性值。属性的使用提供了一种
c++中类的属性是什么
2024-05-08

c++中类的作用是什么

在 C++ 中,类是一种用户自定义的数据类型,用于封装数据和方法以实现特定的功能。类的作用在于:封装数据:类可以将相关的数据和方法封装在一起,形成一个独立的实体。这样可以隐藏数据的具体实现细节,对外部只公开必要的接口,提高代码的安全性和可维
2023-10-24

c++中的类是什么意思

c++ 中的类是一种数据类型,用于封装数据和定义行为,其特征包括:封装:将数据和行为封装在单个单元中;继承:允许类从其他类继承属性和方法;多态:允许对象根据类型具有不同行为。C++ 中的类在 C++ 中,类是一种数据类型,用于存储数据和定
c++中的类是什么意思
2024-05-06

C#中抽象类和接口的区别是什么

本篇文章给大家分享的是有关C#中抽象类和接口的区别是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、抽象类抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;
2023-06-17

C#类和结构的区别是什么

本篇内容主要讲解“C#类和结构的区别是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#类和结构的区别是什么”吧!C#基础知识之密封类可以有虚函数吗?可以,基类中的虚函数将隐式的转化为非虚函
2023-06-18

C#中静态类和静态类成员的区别是什么

C#中静态类和静态类成员的区别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。C#静态类和静态类成员用于创建无需创建类的实例就能够访问的数据和函数。静态类成员可用于分离独立
2023-06-17

C++中的引用类型是什么

这篇文章主要讲解了“C++中的引用类型是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++中的引用类型是什么”吧!引用,顾名思义是某一个变量或对象的别名,对引用的操作与对其所绑定的变量
2023-06-27

.NET中XML序列化和反序列化常用类和属性是什么

这篇“.NET中XML序列化和反序列化常用类和属性是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“.NET中XML序列化
2023-06-29

C#中OleDbCommand类的用法是什么

OleDbCommand类是C#中用于执行SQL语句或存储过程的类。它是System.Data.OleDb命名空间中的一部分,并且是OleDbConnection类的成员之一。使用OleDbCommand类,你可以执行以下操作:1. 执行S
2023-10-20

C# 中CWorker类的作用是什么

本篇文章给大家分享的是有关C# 中CWorker类的作用是什么,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。服务的基本结构是从ServiceBase继承的类。重要的方法包括 O
2023-06-17

C# 中ServiceController类的作用是什么

今天就跟大家聊聊有关C# 中ServiceController类的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在.net中提供了一些类来显示和控制Windows系统上的服
2023-06-17

C# 中ThreadPool类的作用是什么

今天就跟大家聊聊有关C# 中ThreadPool类的作用是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分
2023-06-17

C#中EmployeePlug类的作用是什么

C#中EmployeePlug类的作用是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1。这个类实现了IPlug接口。由于主程序根本不会知道插件内部的类是如何定义的,这非常
2023-06-17

C# 中WebClient类的作用是什么

这篇文章给大家介绍C# 中WebClient类的作用是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。实现原理:程序实现的原理比较简单,主要用到了C# WebClient类和FileStream类。其中C# WebC
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录