C# CAD SelectionFilter下TypedValue数组使用方式

 更新时间:2024年02月22日 16:25:48   作者:李建军  
这篇文章主要介绍了C# CAD SelectionFilter下TypedValue数组使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

TypedValue数组使用方式

SelectionFilter是用于过滤AutoCAD实体的类,在AutoCAD中,可以使用它来选择具有特定属性的实体。

构造SelectionFilter对象时,需要传入一个TypedValue数组,它用于定义选择规则。

在TypedValue数组中,每个元素表示一个选择条件,它由两个参数组成:DxfCode和值。

DxfCode是一个整数枚举值,用于表示选择条件的类型,而值则是与之对应的具体属性值。

根据不同的需求,可以定义不同的TypedValue对象,并将它们组合成一个数组,从而实现各种自定义的选择规则。

常用的DxfCode枚举值及其对应的属性值

  • DxfCode.Start(0):选择开始实体
  • DxfCode.End(1):选择结束实体
  • DxfCode.Text(1):选择包含指定文本的实体
  • DxfCode.BlockName(2):选择位于指定块名称的实体
  • DxfCode.LayerName(8):选择位于指定图层的实体
  • DxfCode.Color(62):选择指定颜色的实体
  • DxfCode.LinetypeName(6):选择位于指定线型的实体
  • DxfCode.LinetypeScale(48):选择具有指定线型比例的实体
  • DxfCode.LineWeight(370):选择具有指定线宽的实体
  • DxfCode.EntityHandle(5):选择具有指定句柄的实体
  • DxfCode.XCoordinate(10):选择具有指定X坐标的实体
  • DxfCode.YCoordinate(20):选择具有指定Y坐标的实体
  • DxfCode.ZCoordinate(30):选择具有指定Z坐标的实体
  • DxfCode.Radius(40):选择具有指定半径的实体
  • DxfCode.Diameter(41):选择具有指定直径的实体
  • DxfCode.Angle(50):选择具有指定角度的实体
  • DxfCode.Elevation(38):选择具有指定高度的实体
  • DxfCode.Thickness(39):选择具有指定厚度的实体
  • DxfCode.TextStyleName(7):选择使用指定文本样式的实体
  • DxfCode.TextHeight(40):选择具有指定文本高度的实体
  • DxfCode.TextRotation(50):选择具有指定文本旋转角度的实体
  • DxfCode.TextString(1):选择包含指定字符串的实体
  • DxfCode.ObjectId(330):选择具有指定对象ID的实体
// 选择颜色为1(红色)且位于图层“Layer1”的线段
TypedValue[] values = new TypedValue[] {
    new TypedValue((int)DxfCode.Color, 1),
    new TypedValue((int)DxfCode.Start, "LINE"),
    new TypedValue((int)DxfCode.LayerName, "Layer1")
};

下面是一个示例代码

演示如何实现选择图层名为"权利人"和"预编号"

并且类型为TEXT的实体:

    SelectionFilter innerFilter = new SelectionFilter(new TypedValue[] {
    new TypedValue((int)DxfCode.Operator, "<or"),
    new TypedValue((int)DxfCode.LayerName, "权利人"),
    new TypedValue((int)DxfCode.LayerName, "预编号"),
    new TypedValue((int)DxfCode.Start, "TEXT"),  // 实体类型为TEXT
    new TypedValue((int)DxfCode.Operator, "or"),
    new TypedValue((int)DxfCode.End, "or"),
});
    // 使用多边形窗口选择方式让用户选择位于外部多段线内的实体
    PromptSelectionResult innerSelRes = ed.SelectWindowPolygon(outerPoints, innerFilter);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 一文搞懂c# await,async执行流

    一文搞懂c# await,async执行流

    这篇文章主要介绍了c# await,async执行流的相关知识,文章讲解的非常细致,代码帮助理解和学习,感兴趣的朋友可以了解下
    2020-06-06
  • 详解Unity入门之GameObject

    详解Unity入门之GameObject

    Unity是一个Component-Based的引擎,所有物体都是GameObject。本文将详细介绍GameObject和MonoBehaviour,感兴趣的同学,可以参考下。
    2021-05-05
  • 解析如何使用反射调用类型成员 方法,字段,属性

    解析如何使用反射调用类型成员 方法,字段,属性

    本篇文章是对使用反射调用类型成员 方法,字段,属性进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • C#实现为Word文档特定字符或句子添加边框

    C#实现为Word文档特定字符或句子添加边框

    开发者在处理Word文档时,常遇C# Word 文本边框需求,本文将为大家详细介绍C#如何使用Spire.Doc for .NET实现为Word文档特定字符或句子添加边框,希望对大家有所帮助
    2026-02-02
  • C# 监控 Windows 文件夹的方法

    C# 监控 Windows 文件夹的方法

    这篇文章主要介绍了C# 监控 Windows 文件夹的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • C#判断一个字符串是否是数字或者含有某个数字的方法

    C#判断一个字符串是否是数字或者含有某个数字的方法

    这篇文章主要介绍了C#判断一个字符串是否是数字或者含有某个数字的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • C# VB.NET 将Html转为Excel

    C# VB.NET 将Html转为Excel

    本文介绍通过C#和VB.NET代码展示将Html转为Excel文档的方法。文中的示例代码讲解详细,对我们学习C#有一定帮助,感兴趣的小伙伴可以了解一下
    2022-03-03
  • C#并发编程之async和await关键字详解

    C#并发编程之async和await关键字详解

    对于 async 和 await 两个关键字,对于一线开发人员再熟悉不过了,到处都是它们的身影,下面小编就来和大家记录汇总下它们的使用吧
    2023-07-07
  • WinForm实现多屏交互的实战技巧和避坑指南

    WinForm实现多屏交互的实战技巧和避坑指南

    你是否遇到过这些问题窗体显示在错误的屏幕、窗口位置被任务栏遮挡或者跨屏拖拽卡顿,本文将通过 3步核心流程、5大实战技巧和10个高频避坑指南,教你彻底掌握WinForm多屏交互开发,让窗体精准飞向副屏,需要的朋友可以参考下
    2025-09-09
  • 使用C#实现生成一个绿色文件

    使用C#实现生成一个绿色文件

    这篇文章主要为大家详细介绍了如何使用C#实现生成一个绿色文件,可以免去安装的繁琐过程,直接运行,非常方便,有需要的小伙伴可以参考一下
    2024-04-04

最新评论