[Lisp]可以选择哪些对象
与线程标题一样,ssget可以选择哪些对象?这是一个网站,我用它来了解更多关于实体的信息,但我不知道我可以用ssget选择什么样的实体。。。 这可能有助于研究ssget,并将其用于处理。 我认为ssget适用于所有图形实体,列在第6章:实体部分或您可以在模型/图纸空间中“看到”的实体,当然,可能还有标准AutoCAD以外的其他类型的实体,例如AutoCAD Architecture的:
(0 . AEC_WALL) (0 . AEC_DOOR)
或Civil 3D。
非常感谢。 可以使用以下选项检查图形中使用的所有类型:
(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。
页:
[1]