c# cad 选择集 GetSelection SelectAll SelectFence SelectWindowPolygon SelectWindow 参数使用

Editor的路径:
Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor

PickFirst选择集
Editor.SelectImplied() —获取命令执行前所选择的选择集(PickFirst选择集)

使用PickFirst选择集系统变量PICKFIRST必须设置为1
使用PickFirst选择集的命令必须定义好UsePickSet命令标志

Editor.SetImpliedSelection() —设置PickFirst选择集

一般选择集
Editor.GetSelection() —提示用户从屏幕拾取对象
Editor.SelectAll() —选择当前空间内所有未锁定及未冻结的对象
Editor.SelecCrossingPolygon() —选择由给定点定义的多边形内的所有对象以及与多边形相交的对象

边界多边形不能自交

Editor.SelectWindow() —选择完全框入由两个点定义的矩形内的所有对象
Editor.SelectCrossingWindow() —选择由两个点定义的窗口内的对象以及与窗口相交的对象
Editor.SelectWindowPolygon() —选择完全框入由点定义的多边形内的对象

                           

1、GetSelection: 该方法用于获取当前选择集中的所有对象。返回一个实体对象数组。
2、SelectAll: 该方法用于将所有的实体对象添加到选择集中。
3、SelectFence: 该方法用于通过指定的多边形范围选择实体对象。需要传入包含多边形顶点坐标的数组。
4、SelectWindowPolygon: 该方法用于通过指定的多边形范围选择实体对
要在C#使用WPF窗口来开发AutoCAD插件,你需要使用AutoCAD .NET API和WPF技术。以下是基本步骤: 1. 在Visual Studio中创建一个新的Class Library项目。 2. 添加对AutoCAD .NET API的引用。这可以通过添加对acdbmgd.dll和acmgd.dll的引用来完成。 3. 在项目中添加一个新的WPF窗口或用户控件。 4. 在WPF窗口中添加必要的控件和事件处理程序。 5. 在AutoCAD中加载插件并在需要时显示WPF窗口。 以下是一个简单的示例,演示如何在AutoCAD使用WPF窗口: ```csharp using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using System.Windows.Controls; using System.Windows.Forms.Integration; namespace MyPlugin { public class MyCommands { [CommandMethod("MyCommand")] public void MyCommand() { // 获取当前文档和编辑器 Document doc = Application.DocumentManager.MdiActiveDocument; Editor ed = doc.Editor; // 创建并显示WPF窗口 MyWpfWindow wpfWindow = new MyWpfWindow(); ElementHost.EnableModelessKeyboardInterop(wpfWindow); Autodesk.AutoCAD.ApplicationServices.Application.ShowModalWindow(wpfWindow); // 在控制台中显示选定的文本 PromptSelectionResult selRes = ed.GetSelection(); if (selRes.Status == PromptStatus.OK) { SelectionSet selSet = selRes.Value; foreach (SelectedObject selObj in selSet) { if (selObj.ObjectId.ObjectClass == RXClass.GetClass(typeof(DBText))) { DBText text = (DBText)selObj.ObjectId.GetObject(OpenMode.ForRead); ed.WriteMessage("Selected Text: " + text.TextString); } } } } } public class MyWpfWindow : UserControl { public MyWpfWindow() { // 添加WPF控件 TextBox textBox = new TextBox(); textBox.Text = "Hello, world!"; this.Content = textBox; } } } ``` 在这个示例中,我们在AutoCAD中创建了一个名为"MyCommand"的命令,当用户输入该命令时,会打开一个WPF窗口,并在控制台中显示选定的文本。WPF窗口中只包含一个文本框控件,其中包含"Hello, world!"文本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值