虽然在0.3秒内做任何事情听起来都是个好主意,但你建议eldon的方式非常优雅,直截了当,
简单来说,创建自定义lisp似乎不值得。 达德加德,
就我而言,这是一个反复出现的问题,为了构建一组点的Delaunay三角剖分,需要解决这个问题。
ymg公司
作为一个非常欣赏那些写Lisp程序的人,以及李·麦克杰出作品的惯常粉丝,
我经常看到新手希望只需点击一个按钮就能完成一整天的工作。
显然,这不是其中之一。
由于我不擅长写lisps,所以我倾向于寻找类似eldon的模拟解决方案。我也会这样做。
无意冒犯。
希望你能解决。
新年快乐。 达德加德,
一点也不生气。
我倾向于同一学派。
用锤子杀死苍蝇,通常意味着麻烦。
新年快乐!你也是。
ymg公司
另一种尝试,仅使用一个vl排序表达式:
(defun c:fixpoints2 ( / e i l s )
(if (setq s (ssget '((0 . "POINT"))))
(progn
(repeat (setq i (sslength s))
(setq e (ssname s (setq i (1- i)))
l (cons (cons (cdr (assoc 10 (entget e))) e) l)
)
)
(mapcar
(function
(lambda ( a b )
(if (equal (list (caar a) (cadar a)) (list (caar b) (cadar b)) 1e-
(entmod (cons (cons -1 (cdr a)) '((8 . "Lower Points"))))
)
)
)
(setq l
(vl-sort l
(function
(lambda ( a b )
(if (equal (caar a) (caar b) 1e-
(if (equal (cadar a) (cadar b) 1e-
(< (caddar a) (caddar b))
(< (cadara) (cadarb))
)
(< (caar a) (caar b))
)
)
)
)
)
(cdr l)
)
)
)
(princ)
)
Lisp方法的一个优势是,如果两个点的X、Y和Z完全相同
它被困住了。
ymg公司
.......... 很抱歉,由于假期的原因,回复太晚
我非常感谢大家的努力,我喜欢Lee Mac提供的代码,我也要求将较高的值分离到不同的层,只保留那些在其原始层上没有重复的值。
祝大家新年快乐 CADWORKER,
似乎现在您已经有了低海拔的代码,您应该能够进行创建高海拔所需的少量修改。请认识到,在这里发布代码的人正在花费他们的时间和专业知识(他们为此收费)并将其送走。你应该有足够的尊重,尝试做出轻微的修改,以满足你的要求。如果你没有表现出自己的努力,那么你很可能不会得到任何其他人的努力作为回报。 我没有看到一幅画。有人贴了吗?
我想知道是否所有的点都是地面上的点,并且在零海拔处有一个重复点。这是一个典型的测量问题,但无需lisp即可轻松解决。
但是Lisp程序的人有一点圣诞节的工作了
页:
1
[2]