网站做收款要什么条件石家庄软件开发定制
2026/4/18 16:11:55 网站建设 项目流程
网站做收款要什么条件,石家庄软件开发定制,营销策划方案结构,哪里有网站制作技术文章目录相关教程C#Python相关文献前言✅ 示例#xff1a;获取当前选择集#xff08;Selection Set#xff09;#x1f50d; 关键点说明#x1f3af; 进阶#xff1a;添加选择过滤器#xff08;只选圆或线#xff09;Entity 派生类作者#xff1a;小猪快跑基础数学获取当前选择集Selection Set 关键点说明 进阶添加选择过滤器只选圆或线Entity 派生类作者小猪快跑基础数学计算数学从事优化领域8年主要研究方向MIP求解器、整数规划、随机规划、智能优化算法笔者也是从零开始学习并使用 c# Python 二次开发 AutoCad 2025。本系列教程会从最基础的项目构建开始到最终完成复杂插件开发。如有错误欢迎指正。如有更好的算法也欢迎交流——小猪快跑相关教程C#【AutoCad 2025】【C#】零基础教程一——Rider 构建 HELLO 插件-CSDN博客【AutoCad 2025】【C#】零基础教程二——遍历 Entity 插件 》 AutoCAD 核心对象层级结构-CSDN博客【AutoCad 2025】【C#】零基础教程三——获取选中的 Entity 插件 》 初识 Entity 派生类-CSDN博客Python【AutoCad 2025】【Python】零基础教程一——简单示例-CSDN博客相关文献AutoCAD 2025 .NET Developer’s Guide:Help Developer Documentationin AutoCADObjectARX SDK for AutoCAD 2025:https://www.autodesk.com/developer-network/platform-technologies/autocad/objectarx前言在 AutoCAD 的 .NET API适用于AutoCAD 2025 .NET 8或传统 .NET Framework中获取用户当前在图形窗口中选择的对象是一个在编写插件中非常实用的一个操作通常通过Editor类的GetSelection()方法实现。下面是一个完整、可运行的 C# 示例展示如何提示用户选择对象获取选中的实体Entity遍历并输出每个对象的类型或句柄✅ 示例获取当前选择集Selection SetusingAutodesk.AutoCAD.ApplicationServices;usingAutodesk.AutoCAD.DatabaseServices;usingAutodesk.AutoCAD.EditorInput;usingAutodesk.AutoCAD.Runtime;usingAutodesk.AutoCAD.Geometry;[assembly:CommandClass(typeof(MyAutoCADPlugin.SelectionDemo))]namespaceMyAutoCADPlugin{publicclassSelectionDemo{[CommandMethod(GETSEL)]publicvoidGetSelectedObjects(){// 获取当前文档和编辑器DocumentdocApplication.DocumentManager.MdiActiveDocument;Databasedbdoc.Database;Editoreddoc.Editor;// 提示用户选择对象PromptSelectionOptionsoptsnewPromptSelectionOptions();opts.MessageForAdding\n请选择要处理的对象: ;opts.AllowDuplicatesfalse;PromptSelectionResultresed.GetSelection(opts);// 检查用户是否选择了对象if(res.Status!PromptStatus.OK){ed.WriteMessage(\n未选择任何对象。);return;}SelectionSetssres.Value;ed.WriteMessage($\n共选择了{ss.Count}个对象。);// 在事务中打开对象以读取数据推荐方式using(Transactiontrdb.TransactionManager.StartTransaction()){foreach(ObjectIdidinss.GetObjectIds()){// 以只读方式打开实体Entityenttr.GetObject(id,OpenMode.ForRead)asEntity;if(ent!null){// 输出对象类型和句柄ed.WriteMessage($\n类型:{ent.GetType().Name}, 句柄:{id.Handle});// 示例如果是圆输出圆心if(entisCirclecircle){ed.WriteMessage($ | 圆心: ({circle.Center.X:F2},{circle.Center.Y:F2}));}}}tr.Commit();// 虽然只读但良好习惯}}}} 关键点说明功能说明Editor.GetSelection()弹出选择提示返回PromptSelectionResultPromptSelectionOptions可定制选择行为如过滤、窗口选择、消息等SelectionSet.GetObjectIds()获取所有被选中对象的ObjectId数组Transaction必须使用事务来安全地访问数据库对象即使只读OpenMode.ForRead以只读方式打开避免锁定或修改 进阶添加选择过滤器只选圆或线// 仅选择 Line 和 CircleTypedValue[]filterList{newTypedValue((int)DxfCode.Start,LINE),newTypedValue((int)DxfCode.Start,CIRCLE)};SelectionFilterfilternewSelectionFilter(filterList);PromptSelectionResultresed.GetSelection(opts,filter);⚠️ 注意DXF 组码LINE对应Line实体CIRCLE对应Circle。Entity 派生类AutoCAD 中的Entity类作为所有图形对象的基础类有许多直接或间接派生自它的子类。以下是一些常见的Entity派生类以表格形式展示Entity 派生类描述Arc表示圆弧图形对象Circle表示圆形图形对象DBText表示单行文本MText表示多行文本Ellipse表示椭圆图形对象Hatch表示填充图案阴影线或渐变色Image表示插入到图纸中的图像Leader表示指引线Line表示直线图形对象Polyline表示多段线图形对象LWPolyline表示轻量级多段线与Polyline类似但更高效Point表示点对象PolygonMesh表示多边形网格PolyFaceMesh表示多面体网格Region表示二维区域对象Solid表示实体填充图形对象Spline表示样条曲线Underlay表示底图如DWF、DGN或PDF格式的底图Wipeout表示擦除对象用于遮挡其他图形对象BlockReference表示块引用用于重复使用一组对象AttributeDefinition表示属性定义通常与块关联Attribute表示块属性的实际值请注意这个列表并不全面AutoCAD 的 .NET API 还包括其他一些派生自Entity的类这些类可能特定于某些类型的对象或者功能。此外随着 AutoCAD 版本更新可能会引入新的派生类。因此建议参考最新的官方文档来获取最完整和准确的信息。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询