本帖最后由 WL卧龙 于 2023-4-6 16:32 编辑





网友答:
guankuiwu 发表于 2023-4-6 19:36
可以给个演示!

加载后输入CKL
按照提示先框选内部闭合图形,再根据提示选取外框就可以了,很简单的代码

网友答: 谢谢分享,抢个沙发座

网友答: 感谢分享,学习学习!

网友答: 感谢分享,也是算落料的材料利用率。

网友答: 可以给个演示!

网友答: (defun c:CKL()
        (setvar "cmdecho" 0)
        (setq i 0)
        (setq a 0)
        (princ "选择内部孔型对象")
        (setq a(jisuan))
        (princ "选择外轮廓")
        (setq b(jisuan))
        (setq c (* (/ a b) 100))
        (princ(strcat"冲孔率= "(rtos c 2 0) "%") )
        (princ)
)
(prompt "小夏钣金插件专辑【卧龙】更多LISP插件程序请加微信:A6-227  本插件:冲孔率CKL           ")



(defun jisuan( / ss en i )
  (if (setq ss (ssget '((0 . "circle,spline,lwpolyline,pline,ellipse,polyline" ))))
    (progn
                        (setq i (sslength ss))
                        (repeat (sslength ss)
                                (setq en (ssname ss (setq i (1- i))))
                                (command "._area" "_O" en)
                                (setq arer (+ arer (getvar "area")))
                        )
                )
  )
        (setq arer (/ arer 1000000))
)

网友答:
guankuiwu 发表于 2023-4-6 19:52
(defun c:CKL()
        (setvar "cmdecho" 0)
        (setq i 0)

你好,我看了修改的源代码
1:(setq arer (+ arer (getvar "area"))) +后面的area是未被定义的,得先赋值(否则nil)
2:外框和内部闭合计算概念是各自独立的,整合后会出现逻辑问题

网友答: 请选择或输入文字(T): <选择外框>
输入文字是什么意思?

网友答:
gaics 发表于 2023-4-7 08:04
请选择或输入文字(T):  
输入文字是什么意思?

为了提示用户不要选错了前后方式,不用输入回车直接忽略
用习惯了可以改为 (princ "选择内部孔型对象")
              (princ "选择外轮廓")
  • 上一篇:“局部放大&quot;终于完成
  • 下一篇:没有了