多段线顶点
嘿,大家好,我是AutoLISP的新手,刚刚开始自学。。。我试图创建一个程序来删除LWWPolyline中相互重叠的顶点,但是,我似乎在编辑LWWPolyline方面找不到太多。我已经全部设置好了循环,只需要知道如何进入并删除我不需要的顶点。如果有人能帮我,让我知道他们会怎么做,那太好了。谢谢 我建议你基本上必须重做实体,去掉不需要的部分。现有实体:
删除重复项
注意,第90组从5变为4
-大卫 谢谢大卫。。。好的,这很有道理,但我该如何将其放入循环中,让autoLISP自己生成新实体呢? 这些点是完全重复的还是相同的x,y值?他们在多大程度上是平等的-大卫 我要求用户提供他们希望两个点之间的最大范围的值(例如.001等),存储该值,然后使用该值查看该范围内是否存在重复点。。。
(如果(和)(
(>(((a车)(z车))负选择)
)
(和(
(>(((cadr a)(cadr z))负选择)
)
)
)
其中a为pt#1,z为pt#2,selOption为范围,negselOption为范围的负值 如果想要使用精确点,(member)函数可以做到这一点。对于带有模糊的布尔测试,可以将点与(equal)进行比较
(equal '(1.0 1.0 0.0) '(1.000001 1.0 0)1e-
应返回T,因为它们等于8位
所有点都必须从实体定义中推断出来,然后
必须将每个点与列表中的前一点进行比较。
-大卫 这是我到目前为止得到的。也许你能更好地看到我这个节目的发展方向。谢谢
好的,我也在尝试使用vl remove if命令,但我没有正确使用它。。。如果你有任何建议,请随时帮忙
4 虽然我对“较新”风格的实体并不感兴趣,但我会这样做:
希望这有帮助-大卫 有没有办法处理这段代码中的弧?这将去掉多段线中的圆弧。 必须包含凸出因子(组42),但不确定移除顶点时会对其产生多大影响。
页:
[1]
2