可以使用以下选项检查图形中使用的所有类型:
- (setq TypesLst (list))
- (if (setq SSX (ssget "_X"))
- (repeat (setq i (sslength SSX))
- (and
- (setq typ (cdr (assoc 0 (entget (ssname SSX (setq i (1- i)))))))
- (not (member typ TypesLst))
- (setq TypesLst (cons typ TypesLst))
- )
- )
- )
- (foreach x (acad_strlsort TypesLst) (print x))
在使用ACAD架构绘制的图纸上进行测试后,我得到:
- "3DSOLID"
- "ACAD_TABLE"
- "AEC_2D_SECTION"
- "AEC_BDG_SECTIONLINE"
- "AEC_DOOR"
- "AEC_MASS_ELEM"
- "AEC_MVBLOCK_REF"
- "AEC_RAILING"
- "AEC_ROOF"
- "AEC_ROOFSLAB"
- "AEC_SLAB"
- "AEC_SPACE"
- "AEC_STAIR"
- "AEC_WALL"
- "AEC_WINDOW"
- "AEC_WINDOW_ASSEMBLY"
- "AECS_MEMBER"
- "ARC"
- "CIRCLE"
- "DIMENSION"
- "HATCH"
- "INSERT"
- "LINE"
- "LWPOLYLINE"
- "MTEXT"
- "SPLINE"
- "TEXT"
但我也不知道所有标准使用的类型是什么,所以我依赖于AutoCAD的对象模型。
请注意类型(关联0.)是dxf列表的一部分,它表示整个实体/名称,就像(assoc 10,40,50…)。
这只是我的愿景,不知道我是否写过一些B.S。 |