motee-z 发表于 2022-7-5 19:19:59

它给了我零数据

Tharwat 发表于 2022-7-5 19:24:26

 
你先把多段线展平了吗?

motee-z 发表于 2022-7-5 19:28:25

你是说三维多段线

Tharwat 发表于 2022-7-5 19:32:10

是的,三维多段线。

motee-z 发表于 2022-7-5 19:35:13

展平三维多段线将破坏一切,这必须是一项临时工作

Tharwat 发表于 2022-7-5 19:40:28

 
 
据我所知,我之前已经说过,如果不将物体展平,这是不可能的。

marko_ribar 发表于 2022-7-5 19:40:50

motee-z,您是否担心可以在我的代码中为(ssget)函数添加过滤器,并将我的例程仅应用于您希望的实体类型(三维多段线)。。。你们唯一应该做的就是将视图设置为顶部,就像它在你们的DWG中一样。。。然后,您需要提供栅栏距离的输入(越小且接近0.0,例程将计算和排序珐琅-您应该看到在例程工作时排序的选择预览)。。。
 
更改此项:

(setq ss1 (ssget "_C" (mapcar '- (car pl) '(1e-3 1e-3)) (mapcar '+ (car pl) '(1e-3 1e-3))))
(ssdel curve ss1)
(setq sss (ssget "_F" pl))
(ssdel curve sss)
(setq ss2 (ssget "_C" (mapcar '- (last pl) '(1e-3 1e-3)) (mapcar '+ (last pl) '(1e-3 1e-3))))
(ssdel curve ss2)

 
为此:

(setq ss1 (ssget "_C" (mapcar '- (car pl) '(1e-3 1e-3)) (mapcar '+ (car pl) '(1e-3 1e-3)) (list '(0 . "POLYLINE") '(-4 . "<or") '(70 .'(70 . 9) '(-4 . "or>"))))
(ssdel curve ss1)
(setq sss (ssget "_F" pl (list '(0 . "POLYLINE") '(-4 . "<or") '(70 .'(70 . 9) '(-4 . "or>"))))
(ssdel curve sss)
(setq ss2 (ssget "_C" (mapcar '- (last pl) '(1e-3 1e-3)) (mapcar '+ (last pl) '(1e-3 1e-3)) (list '(0 . "POLYLINE") '(-4 . "<or") '(70 .'(70 . 9) '(-4 . "or>"))))
(ssdel curve ss2)

BIGAL 发表于 2022-7-5 19:44:47

只要我花0.05美元,我就可以用另一种方法解决这个问题,用普通的道路设计方法制作曲面模型和提取横截面要容易得多。CIV3d或一个免费赠品在那里搜索YMG的例程。
 
这是在civ3d中建模的曲面,下载比创建下一步的全套横截面花费的时间更长。再说2分钟,就完成了
页: 1 [2]
查看完整版本: 根据距离对三维多段线排序