循环通过多段线
我有一张有数千条多段线的画。它们都有一个“Height”属性(我刚才用一些import命令添加了这个属性)。现在我需要一个小过程来获取“Height”属性中的值,并将其放入“Elevation”属性中。我不知道从哪里开始。 我不知道ab“高度”属性。。。也许你在想ab“厚度”。。。 不,它绝对是“高度”。这是一个自定义属性,我自己添加的。 如果不是关于特定于Civil 3D图元的特性,而是厚度(如Marko首先观察到的)和高程特性,则这些特性分别存储在DXF代码39下,38存储在图元的关联列表中。那就必须 @MSasu,我不明白你刚才说的话。。。 为了明确起见,任何实体都作为特征列表存储在图形数据库中,称为关联列表,其中数据按键和值对/集排序;这些键被命名为DXF代码。
我注意到你说前面提到的Height属性是一个自定义属性。定义/添加时,您是如何进行的? MAPIMPORT
选择shp文件
单击“数据”列中的“速度”按钮
单击“创建对象数据”
单击“选择字段…”。。。
取消选中除“高度”之外的所有选项
单击“确定”
单击“确定”
结果是:数千条多段线,每条都具有高度特性。
现在,如何将height属性的值转换为elevation属性?
所以,这是关于Civil 3D pack的特定内容。
你能在这里加载下面返回的代码吗?将其粘贴到命令行中,然后选择其中一条多段线,最好使用少量顶点:
(entget (car (entsel))) 选择对象:(-1。)(0.“LW多段线”)(5。
“E9CC”)(102(102 .
"}") (330 . ) (100.“AcDbEntity”)(67.0)(410。
“模型”)(8.2628_浮雕10_LINE_2007_1”)(100。“AcDbPolyline”)(90.14)(70
. 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 28.7529 -26.0) (40 . 0.0) (41 . 0.0)
(42 . 0.0) (91 . 0) (10 28.7528 -26.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 .
0) (10 28.7526 -26.0001) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 28.7524
-26.0001) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 28.7521 -26.0) (40 .
0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 28.7519 -26.0) (40 . 0.0) (41 . 0.0)
(42 . 0.0) (91 . 0) (10 28.7517 -26.0001) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91
. 0) (10 28.7515 -26.0001) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10
28.7513 -26.0001) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 28.7513
-26.0002) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 28.7512 -26.0002) (40 .
0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (10 28.751 -26.0001) (40 . 0.0) (41 . 0.0)
(42 . 0.0) (91 . 0) (10 28.7508 -26.0001) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91
. 0) (10 28.7505 -26.0) (40 . 0.0) (41 . 0.0) (42 . 0.0) (91 . 0) (210 0.0 0.0
1.0))
我假设可以编写一个简单的LISP例程,该例程遍历所有多段线,获取高度属性,并更新高程属性。
唯一的问题是:我从未用LISP写过任何东西。 看起来数据ab“高度”属性被隐藏。。。在上面发布的DXF代码中,我们看不到“LWPOLYLINE”实体的高度。。。所以,也许可以试试VLISP Activex。。。
(vl-load-com)
(setq pl (vlax-ename->vla-object (car (entsel))))
(vlax-dump-object pl T)
在命令:提示符中逐行键入该命令,选择后面的多段线(setq pl(vlax ename->vla object(car(entsel)))并复制并粘贴最后一行的输出(vlax dump object pl T)
页:
[1]
2