你先把多段线展平了吗? 你是说三维多段线 是的,三维多段线。 展平三维多段线将破坏一切,这必须是一项临时工作
据我所知,我之前已经说过,如果不将物体展平,这是不可能的。 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)
只要我花0.05美元,我就可以用另一种方法解决这个问题,用普通的道路设计方法制作曲面模型和提取横截面要容易得多。CIV3d或一个免费赠品在那里搜索YMG的例程。
这是在civ3d中建模的曲面,下载比创建下一步的全套横截面花费的时间更长。再说2分钟,就完成了
页:
1
[2]