有些多段线看着起点和终点闭合,但实际上不真封闭,如何将这样的多段线封闭。
有些多段线看着起点和终点闭合,但实际上不真封闭,如何将这样的多段线封闭。方法一:
(setq e(car (entsel))) ;选择多段线
(vla-put-closed (vlax-ename->vla-object e) :vlax-true)
方法二:
直接将(70 . 0) 改为 (70 . 1) f命令,半径为0 819534890 发表于 2019-3-5 14:25
方法一:
(setq e(car (entsel))) ;选择多段线
(vla-put-closed (vlax-ename->vla-object e) :vlax-tr ...
谢谢,能稍微解释下吗? chenjieq1990 发表于 2019-3-6 14:59
谢谢,能稍微解释下吗?
你自己对比结果吧:
这个是你说的首尾相连但其实不封闭的数据:
命令: (entget (car (entsel)))
选择对象: ((-1 . <图元名: 7ffffb05850>) (0 . "LWPOLYLINE") (330 . <图元名: 7ffffb039f0>)
(5 . "1ED") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 .
"AcDbPolyline") (90 . 5) (70 . 0) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 1716.75
1270.4) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 1870.17 1058.55) (40 . 0.0) (41 .
0.0) (42 . 0.0) (10 1485.58 1010.31) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10
1420.43 1303.96) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 1716.75 1270.4) (40 .
0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0))
这个是用方法一处理后的结果:
命令: (setq e(car (entsel)))
选择对象: <图元名: 7ffffb05850>
命令: (vla-put-closed (vlax-ename->vla-object e) :vlax-true)
nil
命令: (entget (car (entsel)))
选择对象: ((-1 . <图元名: 7ffffb05850>) (0 . "LWPOLYLINE") (330 . <图元名: 7ffffb039f0>)
(5 . "1ED") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 .
"AcDbPolyline") (90 . 5) (70 . 1) (43 . 0.0) (38 . 0.0) (39 . 0.0) (10 1716.75
1270.4) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 1870.17 1058.55) (40 . 0.0) (41 .
0.0) (42 . 0.0) (10 1485.58 1010.31) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10
1420.43 1303.96) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 1716.75 1270.4) (40 .
0.0) (41 . 0.0) (42 . 0.0) (210 0.0 0.0 1.0))
两者就差一点;前者是(70 . 0) 后者是 (70 .1)’
其实这个方法还不是最完美,因为开始点和结束点是同坐标的点,如果更完美的话,可以删除最后一个点,然后再作封闭处理 819534890 发表于 2019-3-6 22:06
你自己对比结果吧:
这个是你说的首尾相连但其实不封闭的数据:
命令: (entget (car (entsel)))
了解了,万分感谢。
页:
[1]