了解 entget 函数的输出
Understanding the output of the entget function
我正在使用 entget
函数从草图中获取有关多边形的数据,目的是创建显示如何计算其面积的公式。
因此我需要了解 entget
的输出,entget
输出的示例:
(
(-1 . <Entity name: 7ef043b0>)
(0 . "LWPOLYLINE")
(330 . <Entity name: 7ef01f80>)
(5 . "2CE")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "0")
(100 . "AcDbPolyline")
(90 . 3)
(70 . 1)
(43 . 0.0)
(38 . 0.0)
(39 . 0.0)
(10 93.1128 191.34)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(10 83.1128 191.34)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(10 83.1128 202.104)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(210 0.0 0.0 1.0)
)
这个想法是数字 -1
代表折线的 属性(顺便说一句,它的实体名称)。
数字 10
类似于 vertex/corner。
剩下的属性我想不通了。
为什么我需要这个?如果我只使用 vertices/corners 和它们的数字,我无法区分三角形和圆角。
感谢您的帮助。
AutoLISP entget
函数返回的DXF数据是一个关联表,其中每一项(key)的第一个元素对应一个DXF组,关联值对应该组持有的值组.
每个组代表一个 属性 的实体,当您遍历 DXF 数据列表时,属性变得更加特定于所描述的实体类型。
列表开头的 DXF 组,例如实体类型(DXF 组 0)或实体句柄(DXF 组 5)对于每个数据库对象都是通用的。接下来是基础属性 class(在本例中为 AcDbEntity
),您将在其下找到图层(DXF 组 8)和图纸布局(DXF 组 410),最后是属性object class(在本例中为 AcDbPolyline
),您将在其下找到与对象类型相关的属性,例如折线顶点(DXF 组 10)、顶点数(DXF 组 90)等。
您可能会找到完整的 DXF 参考资料 here。请注意,此引用包括图形和非图形实体(例如图层定义和字典)。
与 LWPOLYLINE
实体关联的 DXF 组的 DXF 参考可以在参考 here.
的 ENTITIES
部分中找到
您可能还会发现我的 Entity List 程序在解释 DXF 数据时很有用,因为该程序会将 entget
函数返回的数据格式化为可读输出,并将包括所有子实体主要实体,以及附加到此类实体的任何扩展实体数据 (xData)。
另外,针对您的问题的评论:请注意,DXF 组 5 包含实体句柄,它与实体类型无关。这纯粹是一个标识符,在绘图中是唯一的,并且在绘图的整个生命周期内都保持不变。
我正在使用 entget
函数从草图中获取有关多边形的数据,目的是创建显示如何计算其面积的公式。
因此我需要了解 entget
的输出,entget
输出的示例:
(
(-1 . <Entity name: 7ef043b0>)
(0 . "LWPOLYLINE")
(330 . <Entity name: 7ef01f80>)
(5 . "2CE")
(100 . "AcDbEntity")
(67 . 0)
(410 . "Model")
(8 . "0")
(100 . "AcDbPolyline")
(90 . 3)
(70 . 1)
(43 . 0.0)
(38 . 0.0)
(39 . 0.0)
(10 93.1128 191.34)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(10 83.1128 191.34)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(10 83.1128 202.104)
(40 . 0.0)
(41 . 0.0)
(42 . 0.0)
(91 . 0)
(210 0.0 0.0 1.0)
)
这个想法是数字 -1
代表折线的 属性(顺便说一句,它的实体名称)。
数字 10
类似于 vertex/corner。
剩下的属性我想不通了。
为什么我需要这个?如果我只使用 vertices/corners 和它们的数字,我无法区分三角形和圆角。
感谢您的帮助。
AutoLISP entget
函数返回的DXF数据是一个关联表,其中每一项(key)的第一个元素对应一个DXF组,关联值对应该组持有的值组.
每个组代表一个 属性 的实体,当您遍历 DXF 数据列表时,属性变得更加特定于所描述的实体类型。
列表开头的 DXF 组,例如实体类型(DXF 组 0)或实体句柄(DXF 组 5)对于每个数据库对象都是通用的。接下来是基础属性 class(在本例中为 AcDbEntity
),您将在其下找到图层(DXF 组 8)和图纸布局(DXF 组 410),最后是属性object class(在本例中为 AcDbPolyline
),您将在其下找到与对象类型相关的属性,例如折线顶点(DXF 组 10)、顶点数(DXF 组 90)等。
您可能会找到完整的 DXF 参考资料 here。请注意,此引用包括图形和非图形实体(例如图层定义和字典)。
与 LWPOLYLINE
实体关联的 DXF 组的 DXF 参考可以在参考 here.
ENTITIES
部分中找到
您可能还会发现我的 Entity List 程序在解释 DXF 数据时很有用,因为该程序会将 entget
函数返回的数据格式化为可读输出,并将包括所有子实体主要实体,以及附加到此类实体的任何扩展实体数据 (xData)。
另外,针对您的问题的评论:请注意,DXF 组 5 包含实体句柄,它与实体类型无关。这纯粹是一个标识符,在绘图中是唯一的,并且在绘图的整个生命周期内都保持不变。