明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6259|回复: 32

有木有能计算重量的LISP.材质与密度需可修改。有木有啊!

  [复制链接]
发表于 2012-8-9 16:30 | 显示全部楼层 |阅读模式
1明经币
本帖最后由 lohas1118 于 2012-8-15 17:13 编辑

有木有能计算重量的LISP.材质与密度需可修改。有木有啊!
附件: 您需要 登录 才可以下载或查看,没有账号?注册

最佳答案

查看完整内容

(defun c:tts (/ midu changdu wks nbsh ssn scha tg pt) (setvar "cmdecho" 0) (setq midu (getreal "输入材料密度(kg/m^3):")) (setq changdu (getreal "输入计算长度或厚度(mm):")) ;下部分为求面积部分 (if (null (setq scha (getreal "输入计算面积(mm^2):"))) (progn (prompt "选择外框面域或多段线:") (command "area" "e" (ssget '((0 . "REGION,LWPOLYLIN ...
发表于 2012-8-9 16:30 | 显示全部楼层
本帖最后由 preone 于 2012-8-16 17:13 编辑
lohas1118 发表于 2012-8-13 15:56
你好,我上传图档,你看这个样子可以编个程序吗


(defun c:tts (/ midu changdu wks nbsh ssn scha tg pt)  
  (setvar "cmdecho" 0)
  (setq midu  (getreal "输入材料密度(kg/m^3):"))
  (setq changdu  (getreal "输入计算长度或厚度(mm):"))
  ;下部分为求面积部分
  (if (null (setq scha (getreal "输入计算面积(mm^2):")))
    (progn
      (prompt "选择外框面域或多段线:")
      (command "area"
        "e"
        (ssget '((0 . "REGION,LWPOLYLINE,CIRCLE")))
      )
      (setq wks (getvar "area"))
      (prompt "逐一选择内部面域或多段线:")
      (setq nbsh 0)
      (while
(setq ssn (ssget  '((0 . "REGION,LWPOLYLINE,CIRCLE"))))
  (command "area" "e" ssn)
  (setq nbsh (+ (getvar "area") nbsh))
      )
      (setq scha (- wks nbsh))
    )
  )
  ;end求面积部分
  (setq tg (getreal "指定输出字高:"))
  (if (null tg)  (setq tg (* (getvar "dimscale") 1.6)) tg)
  (setq pt (getpoint"\n指定插入点:"))  
  (command "text" "s" "standard" pt tg "0" (strcat "G=" (rtos (/ (* scha changdu midu) 1000000) 2 6) "kg"))
  (prin1)
)

不知道是不是你要的东西~~注意需严格按照提示语句执行~~另外计算价格还需注意输入数值的单位等~~

点评

2004版的输入参数怎么是反的呢?  发表于 2012-8-14 16:36

评分

参与人数 1明经币 +1 收起 理由
lohas1118 + 1 太棒了,就是我想要的。谢谢

查看全部评分

回复

使用道具 举报

发表于 2012-8-9 17:14 | 显示全部楼层
有的,看你要怎样计算。

点评

选择图元,输入或选择长宽。得出重量。 主要用于零件重量的计算,材质45#,SKD11,SKH9,WC.等  发表于 2012-8-11 14:47
回复

使用道具 举报

发表于 2012-8-9 17:48 | 显示全部楼层
要带框,存常用材料,还要有记忆材料功能,最好加上查看型材截面功能,简单倒简单,但太便宜了

点评

型材截面也能做出来,牛。 差不多就这些功能  发表于 2012-8-11 14:49
回复

使用道具 举报

发表于 2012-8-9 18:26 | 显示全部楼层
重量=面积x长度x密度
分别赋值,然后列个公式,就出来了~~
赋值用     setq 函数
公式为    (* 面积 长度 密度)
这个,自己编一下就可以了~~

评分

参与人数 1明经币 +1 收起 理由
lohas1118 + 1 多谢指点

查看全部评分

回复

使用道具 举报

发表于 2012-8-9 22:33 | 显示全部楼层
本帖最后由 42142 于 2012-8-10 13:07 编辑

;;;计算重量lisp by 小陈 2011.06
(defun c:ZL ()
  (setvar "cmdecho" 0)
  (initget "Ll Mm Tt")
  (setq        CGX (getkword
              "\n[L:计算铝板重量/M:计算模图重量/T:计算铁重量]:<L>"
            )
  )
  (if (= CGX nil)
    (LZ)
    (cond
      ((= CGX "Ll") (Lz))
      ((= CGX "Mm") (Mz))
      ((= CGX "Tt") (Tz))
      (T nil)
    )
  )
  (princ)
)
(defun LZ ()
  (vl-load-com)
  (prompt "\n请选择对象: ")
(WHILE
  (setq ENT (ssget c))
  (setq ent (ssname ent 0))
  (setq ent (vlax-ename->vla-object ent))
  (setq area (vlax-get ent 'area))
  (setq num (getreal "\n请输入长度: "))
  (setq wei (/ (* num area 0.00271) 1000))
  (setq wei1 (rtos wei 2 2))
  (princ "   \n铝板重量=    ")
  (princ wei1)
  (princ "kg/件")
)
  (princ)
)
(defun MZ ()
  (vl-load-com)
  (prompt "\n请选择对象: ")
(WHILE
  (setq ENT (ssget c))
  (setq ent (ssname ent 0))
  (setq ent (vlax-ename->vla-object ent))
  (setq area (vlax-get ent 'area))
  (setq wei (* area 0.00271))
  (setq wei1 (rtos wei 2 2))
  (setq P4 (* 2.5 (getvar "dimscale")))
  (princ " \n-------->>模图重量=  ")
  (princ wei1)
  (princ "kg/m ")
)
  (princ)
)
;;;计算铁件重量(kg/m)
(defun TZ ()
  (vl-load-com)
  (prompt "\n请选择对象: ")
  (WHILE
  (setq ENT (ssget c))
  (setq ent (ssname ent 0))
  (setq ent (vlax-ename->vla-object ent))
  (setq area (vlax-get ent 'area))
  (setq num (getreal "\n请输入长度: "))
  (setq wei (/ (* num area 0.00785) 1000))
  (setq wei1 (rtos wei 2 2))
  (princ wei1)
  (princ "kg/件")
)
  (princ)
)

点评

不错,算出来还不太详细。我要计算价格用的。  发表于 2012-8-11 14:44
回复

使用道具 举报

发表于 2012-8-10 09:10 | 显示全部楼层
上面的能实现了,但不够完美
回复

使用道具 举报

发表于 2012-8-10 13:08 | 显示全部楼层
myjping 发表于 2012-8-10 09:10
上面的能实现了,但不够完美

  

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

这是个工具吧,好用吗?  发表于 2012-8-11 14:45
回复

使用道具 举报

 楼主| 发表于 2012-8-11 14:46 | 显示全部楼层
zoloo 发表于 2012-8-9 17:14
有的,看你要怎样计算。

选择图元,输入或选择长宽。得出重量。
主要用于零件重量的计算,材质45#,SKD11,SKH9,WC.等

点评

好歹传一张dwg上来!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  发表于 2012-8-11 14:57
回复

使用道具 举报

 楼主| 发表于 2012-8-13 15:41 | 显示全部楼层
lohas1118 发表于 2012-8-11 14:46
选择图元,输入或选择长宽。得出重量。
主要用于零件重量的计算,材质45#,SKD11,SKH9,WC.等

已经上传,多谢了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-3-29 16:29 , Processed in 0.199266 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表