cad vba 编程创建选择集时需要fdata输入图元类型,图元类型有如下几种:
若选择多种图元可用逗号隔开,图元字母全称若记不住可用 * 代替任意字符,
如:fdata(0) = "*Polyline,Region,Hatch,circle" ,轻量线、区域、填充、圆可一并选择。
下表列出了组码或组码范围以及组码值的解释。 在此表中,“固定”表明组码始终具有相同的用途。 如果组码不固定,则其用途取决于上下文。 关于此表中使用的缩写和格式方面的信息,请参见本参考的格式惯例。 |
按数字次序排列的组码 | |
---|---|
组码 | 说明 |
-5 | APP:永久反应器链 |
-4 | APP:条件运算符(仅与 ssget 一起使用) |
-3 | APP:扩展数据 (XDATA) 标记(固定) |
-2 | APP:图元名参照(固定) |
-1 | APP:图元名。 每次打开图形时,图元名都会发生变化, 从不保存(固定) |
0 | 表示图元类型的字符串(固定) |
1 | 图元的主文字值 |
2 | 名称(属性标记、块名等) |
3-4 | 其他文字或名称值 |
5 | 图元句柄;最多 16 个十六进制数字的字符串(固定) |
6 | 线型名(固定) |
7 | 文字样式名(固定) |
8 | 图层名(固定) |
9 | DXF:变量名称标识符(仅在 DXF 文件的 HEADER 段中使用) |
10 | 主要点;直线或文字图元的起点、圆的圆心,等等 DXF:主要点的 X 值(后跟 Y 和 Z 值代码 20 和 30) APP:三维点(三个实数的列表) |
11-18 | 其他点 DXF:其他点的 X 值(后跟 Y 值代码 21-28 和 Z 值代码 31-38) APP:三维点(三个实数的列表) |
20, 30 | DXF:主要点的 Y 值和 Z 值 |
21-28, 31-37 | DXF:其他点的 Y 值和 Z 值 |
38 | DXF:如果非零,则为图元的标高 |
39 | 如果非零,则为图元的厚度(固定) |
40-48 | 双精度浮点值(文字高度、缩放比例等) |
48 | 线型比例;双精度浮点标量值;默认值适用于所有图元类型 |
49 | 重复的双精度浮点值。 一个图元的可变长度表(例如,LTYPE 表中的虚线长度)中可能会出现多个 49 组。 7x 组始终出现在第一个 49 组之前,用以指定表的长度 |
50-58 | 角度(在 DXF 文件中以度为单位,在 AutoLISP 和 ObjectARX 应用程序中以弧度为单位) |
60 | 图元可见性;整数值;未赋值或值为 0 时表示可见;值为 1 时表示不可见 |
62 | 颜色号(固定) |
66 | “图元跟随”标志(固定) |
67 | 空间 — 模型空间或图纸空间(固定) |
68 | APP:指示视口是处于打开状态但在屏幕上完全不可见,还是未激活或处于关闭状态 |
69 | APP:视口标识号 |
70-78 | 整数值,例如重复计数、标志位或模式 |
90-99 | 32 位整数值 |
100 | 子类数据标记(将派生类名作为字符串) 从其他具体类派生的所有对象和图元类必须具有此标记。 子类数据标记用于分离由同一对象的继承链中的不同类定义的数据。 对于从 ObjectARX 派生的每个不同的具体类的 DXF 名称来说,这是必须满足的额外要求(参见子类标记) |
102 | 控制字符串,后跟“{<任意名称>”或“}”。 与扩展数据 1002 组码类似,不同之处在于当字符串以“{”开始时,其后可跟任意字符串,字符串的解释取决于应用程序。 唯一允许的另外一个控制字符串是作为组结束符的“}”。 除了执行图形核查操作期间外,AutoCAD 不会解释这些字符串。 它们供应用程序使用 |
105 | DIMVAR 符号表条目的对象句柄 |
110 | UCS 原点(仅当将代码 72 设置为 1 时才显示) DXF:X 值;APP:三维点 |
111 | UCS X 轴(仅当将代码 72 设置为 1 时才显示) DXF:X 值;APP:三维矢量 |
112 | UCS Y 轴(仅当将代码 72 设置为 1 时才显示) DXF:X 值;APP:三维矢量 |
120-122 | DXF:UCS 原点的 Y 值,UCS X 轴和 UCS Y 轴 |
130-132 | DXF:UCS 原点的 Z 值,UCS X 轴和 UCS Y 轴 |
140-149 | 双精度浮点值(例如点、标高和 DIMSTYLE 设置) |
170-179 | 16 位整数值,例如表示 DIMSTYLE 设置的标志位 |
210 | 拉伸方向(固定) DXF:拉伸方向的 X 值 APP:三维拉伸方向矢量 |
220, 230 | DXF:拉伸方向的 Y 值和 Z 值 |
270-279 | 16 位整数值 |
280-289 | 16 位整数值 |
290-299 | 布尔标志值 |
300-309 | 任意字符串 |
310-319 | 具有相同表示和 1004 组码限制的任意二进制块:用最大长度为 254 个字符的十六进制字符串表示最大长度为 127 个字节的数据块 |
320-329 | 任意对象句柄;“按原样”获取的句柄值。 它们在 INSERT 和 XREF 操作期间不进行转换 |
330-339 | 软指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意软指针。 在 INSERT 和 XREF 操作期间进行转换 |
340-349 | 硬指针句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬指针。 在 INSERT 和 XREF 操作期间进行转换 |
350-359 | 软所有者句柄;指向同一个 DXF 文件或图形中的其他对象的任意软所有者指针。 在 INSERT 和 XREF 操作期间进行转换 |
360-369 | 硬所有者句柄;指向同一个 DXF 文件或图形中的其他对象的任意硬所有者指针。 在 INSERT 和 XREF 操作期间进行转换 |
370-379 | 线宽枚举值 (AcDb::LineWeight)。 作为 16 位整数存储和移动。 自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 371-379 DXF 组码,因为 AutoCAD 和 AutoLISP 都始终假定 370 组码是图元的线宽。 这使 370 组码与其他“通用”图元字段具有相同的行为 |
380-389 | PlotStyleName 类型枚举 (AcDb::PlotStyleNameType)。 作为 16 位整数存储和移动。 自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 381-389 DXF 组码,原因与上述线宽范围相同 |
390-399 | 表示 PlotStyleName 对象的句柄值的字符串,本质上是硬指针,但范围不同,更容易处理向后兼容。 作为对象 ID(在 DXF 文件中为句柄)和 AutoLISP 中的特殊类型存储和移动。 自定义非图元对象可以使用整个范围内的组码,但图元类只能在其表示中使用 391-399 DXF 组码,原因与上述线宽范围相同 |
400-409 | 16 位整数 |
410-419 | 字符串 |
420-427 | 32 位整数值。 与真彩色一同使用时,表示 24 位颜色值的 32 位整数。 高阶字节(8 位)为 0;低阶字节为包含“蓝色”值 (0-255)、然后是“绿色”值的无符号字符;次高阶字节是“红色”值。 将此整数值转换为十六进制值将得到以下位掩码:0x00RRGGBB。 例如,红色==200、绿色==100 和蓝色==50 的真彩色为 0x00C86432,而在 DXF 中以十进制表示则为 13132850 |
430-437 | 字符串;用于真彩色时,则为表示颜色名称的字符串 |
440-447 | 32 位整数值。 用于真彩色时,表示透明度值 |
450-459 | 长整数 |
460-469 | 双精度浮点值 |
470-479 | 字符串 |
999 | DXF:999 组码指示后面的行是注释字符串。 SAVEAS 不会在 DXF 输出文件中包含这样的组,但 OPEN 则包括这些组并忽略注释。 可以使用 999 组在您编辑的 DXF 文件中包含注释 |
1000 | 扩展数据中的 ASCII 字符串(最多可以包含 255 个字节) |
1001 | 扩展数据的注册应用程序名(最多可以包含 31 个字节的 ASCII 字符串) |
1002 | 扩展数据控制字符串(“{”或“}”) |
1003 | 扩展数据图层名 |
1004 | 扩展数据中的字节数据块(最多可以包含 127 个字节) |
1005 | 扩展数据中的图元句柄;最多可以包含 16 个十六进制数字的字符串 |
1010 | 扩展数据中的点 DXF:X 值(后跟 1020 和 1030 组) APP:三维点 |
1020, 1030 | DXF:点的 Y 值和 Z 值 |
1011 | 扩展数据中的三维世界空间位置 DXF:X 值(后跟 1021 和 1031 组) APP:三维点 |
1021, 1031 | DXF:世界空间位置的 Y 值和 Z 值 |
1012 | 扩展数据中的三维世界空间位移 DXF:X 值(后跟 1022 和 1032 组) APP:三维矢量 |
1022, 1032 | DXF:世界空间位移的 Y 值和 Z 值 |
1013 | 扩展数据中的三维空间方向 DXF:X 值(后跟 1022 和 1032 组) APP:三维矢量 |
1023, 1033 | DXF:世界空间方向的 Y 和 Z 值 |
1040 | 扩展数据双精度浮点值 |
1041 | 扩展数据距离值 |
1042 | 扩展数据缩放比例 |
1070 | 扩展数据 16 位有符号整数 |
1071 | 扩展数据 32 位有符号长整数 |
((-1 . \u003C图元名: 7ffff705c20>) ;实体名\n
(0 . “CIRCLE”) ;实体类型
\n(330 . \u003C图元名: 7ffff7039f0>) ;辅助实体名
\n(5 . “23A”) ;实体标号\n(100 . “AcDbEntity”) ;实体子类说明
\n(67 . 0) ;空间类型说明
\n(410 . “Model”) ;空间名\n(8 . “0”) ;图层名\n(100 . “AcDbCircle”) ;
\n(10 286.611 50.8336 0.0) ;圆心坐标\n(100.000) ;半径
\n(210 0.0 0.0 1.0)) ;3D延伸方向
扩展数据组码和说明 | ||
---|---|---|
图元名 | 组码 | 说明 |
字符串 | 1000 | 扩展数据中字符串的最大长度为 255 个字节(第 256 个字节是为空字符保留的) |
应用程序名称 | 1001 也是字符串值 | 应用程序名的最大长度为 31 个字节(第 32 个字节是为空字符保留的) 注意 不要将 1001 组添加到扩展数据中,因为 AutoCAD 假定它是新应用程序扩展数据组的开始 |
控制字符串 | 1002 | 扩展数据控制字符串可以是“{”或“}”。 这两个大括号使应用程序可以通过将数据细分为表来组织数据。 左大括号开始一个列表,右大括号结束最近的列表。 列表可以嵌套。 读取特定应用程序的扩展数据时,AutoCAD 会进行检查以确保大括号是成对的 |
图层名 | 1003 | 与扩展数据关联的图层名 |
二进制数据 | 1004 | 二进制数据组织成可变长度的数据块。 每个数据块的最大长度为 127 个字节。 在 ASCII 格式的 DXF 文件中,二进制数据以十六进制数字字符串的形式表示,每个二进制字节由两个数字字符表示 |
数据库句柄 | 1005 | 图形数据库中的图元句柄 注意 使用 INSERT、INSERT *、XREF BIND、XBIND 或 PARTIAL OPEN 将带有句柄和扩展数据句柄的图形输入到另一个图形时,扩展数据句柄将使用其相应图元句柄的转换方式进行转换,从而使两者之间的绑定保持不变。 EXPLODE 块操作或任何其他 AutoCAD 操作也是如此。 如果 AUDIT 检测出扩展数据句柄与图形文件中的图元句柄不匹配,将认为存在错误。 AUDIT 修复图元时,将句柄设置为 0。 |
3 个实数 | 1010, 1020, 1030 | 按 X、Y、Z 次序排列的三个实数值。 可将它们用作点或矢量记录。 AutoCAD 永远不会改变它们的值 |
世界空间位置 | 1011, 1021, 1031 | 与简单的三维点不同,世界空间坐标随扩展数据所属的父图元进行移动、缩放、旋转和镜像。 对父图元使用 STRETCH 命令并且此点位于选择窗口中时,世界空间位置也会被拉伸。 |
世界空间位移 | 1012, 1022, 1032 | 也是一个随着父图元进行缩放、旋转和镜像(而不是移动或拉伸)的三维点 |
世界方向 | 1013, 1023, 1033 | 也是一个随着父图元旋转和镜像(而不是移动、缩放或拉伸)的三维点 |
实数 | 1040 | 一个实数值 |
距离 | 1041 | 一个随着父图元进行缩放的实数值 |
比例因子 | 1042 | 也是一个随着父图元进行缩放的实数值。 距离和缩放因子的差别由应用程序定义 |
整数 | 1070 | 一个 16 位整数(有符号或无符号) |
长整数 | 1071 | 一个 32 位有符号(长)整数 |
DXF 文件的基本结构 | ||
|
DXF 文件本质上由代码及关联值对组成。 代码(通常称为组码)表明其后的值的类型。 使用这些组码和值对,可以将 DXF 文件组织到由记录组成的区域中,这些记录由组码和数据项目组成。 在 DXF 文件中,每个组码和值都各占一行。
每段都以一个后跟字符串 SECTION 的组码 0 开始, 其后是组码 2 和表示该段名称的字符串(例如,HEADER)。 每段都由定义其元素的组码和值组成。 每段都以一个后跟字符串 ENDSEC 的组码 0 结束。
从小图形中生成 DXF 文件,打印出来并在阅读本文时参考,可能会有助于用户理解本文的内容。
DXF 文件完整的结构如下:
- HEADER 段。包含图形的基本信息。 它由 AutoCAD 数据库版本号和一些系统变量组成。 每个参数都包含一个变量名称及其关联的值。
- CLASSES 段。包含应用程序定义的类的信息,这些类的实例出现在数据库的 BLOCKS、ENTITIES 和 OBJECTS 段中。 类定义在类的层次结构中是固定不变的。
- TABLES 段。包含以下符号表的定义:
APPID(应用程序标识表)
BLOCK_RECORD(块参照表)
DIMSTYLE(标注样式表)
LAYER(图层表)
LTYPE(线型表)
STYLE(文字样式表)
UCS(用户坐标系表)
VIEW(视图表)
VPORT(视口配置表)
- BLOCKS 段。包含构成图形中每个块参照的块定义和图形图元。
- ENTITIES 段。包含图形中的图形对象(图元),其中包括块参照(插入图元)。
- OBJECTS 段。包含图形中的非图形对象。 除图元、符号表记录以及符号表以外的所有对象都存储在此段。 OBJECTS 段中的条目样例是包含多线样式和组的词典。
- THUMBNAILIMAGE 段。包含图形的预览图像数据。 此段为可选。
如果使用 SAVE 或 SAVEAS 命令的“选择对象”选项,那么所得到的 DXF 文件的 ENTITIES 区域将只包含选择的图元。
|
以下是一个简单的 Visual Basic 6 程序样例,它读取 DXF 文件,并且从给定段的给定对象中提取特定代码和值。
' ReadDXF 从 DXF 文件中提取指定的代码/值对。
' 此函数需要四个字符串参数、一个有效的 DXF
' 文件名、一个 DXF 段名、该段中对象的
' 名称以及由逗号分隔的代码列表。
'
Function ReadDXF( _
ByVal dxfFile As String, ByVal strSection As String, _
ByVal strObject As String, ByVal strCodeList As String)
Dim tmpCode, lastObj As String
Open dxfFile For Input As #1
' 获取第一个代码/值对
codes = ReadCodes
' 遍历整个文件,直到“EOF”行
While codes(1) <> "EOF"
' 如果组码为“0”,并且值为“SECTION”,则
If codes(0) = "0" And codes(1) = "SECTION" Then
' 这必须是一个新的段,以便获取下一个
' 代码/值对。
codes = ReadCodes()
' 如果此段是要获取的段,则
If codes(1) = strSection Then
' 获取下一个代码/值对,并
codes = ReadCodes
' 遍历此段,直到“ENDSEC”
While codes(1) <> "ENDSEC"
' 在某段中,所有的“0”代码都表示
' 对象。 如果找到了“0”代码,则存储
' 对象名称,供以后使用。
If codes(0) = "0" Then lastObj = codes(1)
' 如果此对象是用户所需的对象,
If lastObj = strObject Then
' 则在代码前后加上逗号
tmpCode = "," & codes(0) & ","
' 如果此代码位于代码列表中,
If InStr(strCodeList, tmpCode) Then
' 则附加返回值。
ReadDXF = ReadDXF & _
codes(0) & "=" & codes(1) & vbCrLf
End If
End If
' 读取其他代码/值对
codes = ReadCodes
Wend
End If
Else
codes = ReadCodes
End If
Wend
Close #1
End Function
' ReadCodes 从打开的文件中读取两行,并返回一个包含两个项目
' 的数组、一个组码及其组码值。 只要一次读取 DXF 文件中的两行代码,
' 所有程序应该都能够顺利运行。 但为了使代码
' 更可靠,应该添加一些进行错误检查和其他
' 检查的代码。
'
Function ReadCodes() As Variant
Dim codeStr, valStr As String
Line Input #1, codeStr
Line Input #1, codeStr
' 修剪代码中的前导空格和后续空格
ReadCodes = Array(Trim(codeStr), valStr)
End Function
获取entityname类名代码:
Sub 获取Entityname()
' This example creates several objects in model space. It then
' prompts the user to select an object. The example continues to
' have the user select objects until the user selects in empty space.
' ' Create a Ray object in model space
' Dim rayObj As AcadRay
' Dim basePoint(0 To 2) As Double
' Dim SecondPoint(0 To 2) As Double
' basePoint(0) = 3#: basePoint(1) = 3#: basePoint(2) = 0#
' SecondPoint(0) = 1#: SecondPoint(1) = 3#: SecondPoint(2) = 0#
' Set rayObj = ThisDrawing.ModelSpace.AddRay(basePoint, SecondPoint)
'
' ' Create a polyline object in model space
' Dim plineObj As AcadLWPolyline
' Dim points(0 To 5) As Double
' points(0) = 3: points(1) = 7
' points(2) = 9: points(3) = 2
' points(4) = 3: points(5) = 5
' Set plineObj = ThisDrawing.ModelSpace.AddLightWeightPolyline(points)
' plineObj.Closed = True
'
' ' Create a line object in model space
' Dim lineObj As AcadLine
' Dim startPoint(0 To 2) As Double
' Dim endPoint(0 To 2) As Double
' startPoint(0) = 0: startPoint(1) = 0: startPoint(2) = 0
' endPoint(0) = 2: endPoint(1) = 2: endPoint(2) = 0
' Set lineObj = ThisDrawing.ModelSpace.AddLine(startPoint, endPoint)
'
' ' Create a circle object in model space
' Dim circObj As AcadCircle
' Dim centerPt(0 To 2) As Double
' Dim radius As Double
' centerPt(0) = 20: centerPt(1) = 30: centerPt(2) = 0
' radius = 3
' Set circObj = ThisDrawing.ModelSpace.AddCircle(centerPt, radius)
'
' ' Create an ellipse object in model space
' Dim ellObj As AcadEllipse
' Dim majAxis(0 To 2) As Double
' Dim center(0 To 2) As Double
' Dim radRatio As Double
' center(0) = 5#: center(1) = 5#: center(2) = 0#
' majAxis(0) = 10: majAxis(1) = 20#: majAxis(2) = 0#
' radRatio = 0.3
' Set ellObj = ThisDrawing.ModelSpace.AddEllipse(center, majAxis, radRatio)
'
' ZoomAll
'
' Begin the selection
Dim returnObj As AcadObject
Dim basePnt As Variant
' On Error Resume Next
' The following example waits for a selection from the user
RETRY:
ThisDrawing.Utility.GetEntity returnObj, basePnt, "选择一个对象"
If Err <> 0 Then
Err.Clear
MsgBox "已结束", , "GetEntity 示例"
Exit Sub
Else
returnObj.Update
MsgBox "对象的entityname是: " & returnObj.EntityName, , "GetEntity 示例"
returnObj.Update
End If
GoTo RETRY
End Sub
另附type属性
Type 属性 |
指定 Leader、MenuGroup、PopupMenuItem、ToolbarItem、Polyline 或 PolygonMesh 对象的类型。
语法
object.Type
object
3DPolyline , Layout, Leader, MenuGroup, PlotConfiguration, Polyline, PolygonMesh, PopupMenuItem, ToolbarItem
使用该属性的对象。
Type
Integer[整数];
Leader 使用 acLeaderType 常数; 可读写
acLineNoArrow | 不带箭头的线。 |
acLineWithArrow | 带箭头的线。 |
acSplineNoArrow | 不带箭头的样条曲线。 |
acSplineWithArrow | 带箭头的样条曲线。 |
MenuGroup 使用 acMenuGroupType 常数; 只读
acBaseMenuGroup | 基本菜单组。 |
acPartialMenuGroup | 局部菜单组。 |
PopupMenuItem 使用 acMenuItemType 常数; 只读
acMenuItem | 菜单项。 |
acMenuSeparator | 菜单分隔符。 |
acMenuSubMenu | 子菜单。 |
ToolbarItem 使用 acToolbarItemType 常数; 只读
acToolbarButton | 常规按钮。 |
acToolbarFlyout | 弹出式按钮。 |
acToolbarControl | 控制按钮。 |
acToolbarSeparator | 分隔符。 |
3DPolyline 使用 ac3DPolylineType 常数; 可读写
acSimple3DPoly | 简单多段线。 |
acQuadSpline3DPoly | 二次B样条线。 |
acCubicSpline3DPoly | 三次B样条线。 |
Polyline 使用 acPolylineType 常数; 可读写
acSimplePoly | 简单多段线。 |
acFitCurvePoly | 拟合曲线多段线。 |
acQuadSplinePoly | 二次B样条线。 |
acCubicSplinePoly | 三次B样条线。 |
PolygonMesh 使用 acPolymeshType 常数; 可读写
acSimpleMesh | 简单的网络不带曲面拟合或平滑。 |
acQuadSurfaceMesh | 二次B样条曲面拟合。 |
acCubicSurfaceMesh | 三次B样条曲面拟合。 |
acBezierSurfaceMesh | 贝塞尔曲面拟合。 |
Layout 与 PlotConfiguration 使用 acPlotType 常数; 可读写
acDisplay | 打印当前显示的所有内容。 |
acExtents | 打印落在当前选择空间范围内的所有内容。 |
acLimits | 打印在当前空间界限内的所有内容。 |
acView | 打印由 ViewToPlot 属性指定的命名视口。 |
acWindow | 打印由 SetWindowToPlot 方法指定的窗口内的所有内容。 |
acLayout | 打印落在指定图纸页边距内的所有内容,原点从布局选项卡中的0,0坐标算起。此选项在模型空间中打印时无效。 |
说明
PolygonMesh: 如果 PolygonMesh 的类型设置为 acSimpleMesh ,则 M 和 N 顶点数值将用于顶点行和列的大小。对于其它类型的 PolygonMesh,M 和 N 的密度值用来作为行和列的大小。
Sub Example_Type() ' This example creates a leader in model space. ' It then changes the type of the leader. Dim leaderObj As AcadLeader Dim points(0 To 8) As Double Dim leaderType As Integer Dim annotationObject As AcadEntity points(0) = 0: points(1) = 2: points(2) = 0 points(3) = 4: points(4) = 4: points(5) = 0 points(6) = 4: points(7) = 2: points(8) = 0 leaderType = acLineNoArrow Set annotationObject = Nothing ' Create the leader object in model space Set leaderObj = ThisDrawing.ModelSpace.AddLeader(points, annotationObject, leaderType) ZoomAll ' Find the current leader type leaderType = leaderObj.Type MsgBox "The leader type is " & Choose(leaderObj.Type + 1, "acLineNoArrow.", "acSplineNoArrow.", "acLineWithArrow.", "acSplineWithArrow."), , "Type 示例" ' Change the leader type leaderObj.Type = acLineWithArrow leaderObj.Update MsgBox "The leader type is " & Choose(leaderObj.Type + 1, "acLineNoArrow.", "acSplineNoArrow.", "acLineWithArrow.", "acSplineWithArrow."), , "Type 示例" ' Change the leader type leaderObj.Type = acSplineNoArrow leaderObj.Update MsgBox "The leader type is " & Choose(leaderObj.Type + 1, "acLineNoArrow.", "acSplineNoArrow.", "acLineWithArrow.", "acSplineWithArrow."), , "Type 示例" ' Change the leader type leaderObj.Type = acSplineWithArrow leaderObj.Update MsgBox "The leader type is " & Choose(leaderObj.Type + 1, "acLineNoArrow.", "acSplineNoArrow.", "acLineWithArrow.", "acSplineWithArrow."), , "Type 示例" End Sub
如果指定多个选择条件,AutoCAD 将假设选定对象必须符合所有条件。但用户可以按照其他方式来指定条件。对于数字项,用户可以指定关系运算(例如,圆的半径必须大于或等于 5.0);对于所有项,用户可以指定逻辑运算(例如 Text 或 Mtext)。
Use a -4 DXF code or the constant DxfCode.Operator to indicate a relational operator in a selection filter. The operator is expressed as a string. The allowable relational operators are shown in the following table.
使用 -4 DXF 组码或 DxfCode.Operator 常量来指示过滤器中的关系运算符。以字符串的形式来指定运算符。下表显示了可以使用的关系运算符: