hidxb123 发表于 2022-7-5 16:59:54

Revcloud lisp

亲爱的朋友们
 
任何人都可以为我提供“REVCLOUD”的lisp
选择弧长
指定弧的最小长度
指定弧的最大长度
指定屏幕上单击的第一个和第二个角
 
 
非常感谢。

ReMark 发表于 2022-7-5 17:18:41

一个简单的互联网搜索可能会找到十几个不同的revcloud lisp例程。下载、测试、选择。完成。我怀疑这个世界真的需要一个更多的自定义revcloud lisp。
 
回复:搜索。使用以下标准:“revcloud”+“lisp”如果在前十个点击中找不到合适的lisp例程,那么你就不够努力。

Grrr 发表于 2022-7-5 17:32:03

像这样

(defun C:test ( / *error* p1 p2 e )
(defun *error* (m) (and e (entdel e)) (and m (print m)) (princ))
(if
        (and
                (setq p1 (getpoint "\nSpecify first point of the revision cloud: "))
                (setq p2 (getcorner p1 "\nSpecify second point of the revision cloud: "))
        )
        (progn
                (command "_.RECTANGLE" "_non" p1 "_non" p2)
                (setq e (entlast))
                (command "_.REVCLOUD" "Arc" "\\" "\\" "Object" e "\\")
        )
)
(princ)
)

ReMark 发表于 2022-7-5 17:36:19

我看不出弧的长度是根据OP的要求预定义的。

Grrr 发表于 2022-7-5 17:52:09

以下是另一个版本,它跳过了3个附加提示(“最小/最大弧长”和“反向”),因此它仅在2点提示下最小化:
(defun C:test ( / *error* p1 p2 e )
(defun *error* (m) (and e (entdel e)) (and m (print m)) (princ))
(while
        (and
                (setq p1 (getpoint "\nSpecify first point of the revision cloud: "))
                (setq p2 (getcorner p1 "\nSpecify second point of the revision cloud: "))
        )
        (progn
                (command "_.RECTANGLE" "_non" p1 "_non" p2)
                (setq e (entlast))
                (command "_.REVCLOUD" "Arc" "3" "3" "Object" e "No")
        )
)
(princ)
)

hidxb123 发表于 2022-7-5 18:00:45

非常感谢Grr你太棒了
 
 
 
 
页: [1]
查看完整版本: Revcloud lisp