WL卧龙 发表于 2023-4-6 16:13:41

冲孔率计算

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



hhh454 发表于 2023-4-6 19:13:53

感谢分享,学习学习!

Noangler 发表于 2023-4-7 10:07:40

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

guankuiwu 发表于 2023-4-6 19:52:01

(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))
)

lxl217114 发表于 2023-4-6 17:02:00

谢谢分享,抢个沙发座

guankuiwu 发表于 2023-4-6 19:36:24

可以给个演示!

WL卧龙 发表于 2023-4-6 19:48:59

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

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

WL卧龙 发表于 2023-4-6 21:22:56

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


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

gaics 发表于 2023-4-7 08:04:36

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

WL卧龙 发表于 2023-4-7 08:57:04

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

为了提示用户不要选错了前后方式,不用输入回车直接忽略
用习惯了可以改为 (princ "选择内部孔型对象")
            (princ "选择外轮廓")
页: [1] 2
查看完整版本: 冲孔率计算