QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

查看: 2658|回复: 2
收起左侧

[原创] 计算不规则钢板重量的autolisp程序

[复制链接]
发表于 2010-4-17 18:33:57 | 显示全部楼层 |阅读模式 来自: 中国四川乐山

马上注册,结识高手,享用更多资源,轻松玩转三维网社区。

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

x
本帖最后由 chenxuy2006 于 2010-4-17 21:53 编辑
& v2 a1 \! m7 `7 \
1 X3 r0 {& i: p, u我是搞钢结构设计的,写了个计算不规则钢板重量的autolisp程序,感觉很好用。如果把钢板密度改成别的,或用个变量输入,可以计算其他板材。(补充说明:单位是mm、kg)* }( z0 J" Y- h' n" n% p0 p- a: b3 P( w1 x

; c# t( n+ t) e0 j(defun C:gw(/ ss str bl hd a n mj wt fil sdata st sl fl fl2 sn)0 f; D! k8 J4 j% O
  (princ "\n计算不规则钢板重量")3 S: e1 H" Y, g6 X4 o; C% E
  (princ "\n请选择用于生成面域的直线或面域")2 D. ?+ z7 i+ a
  (setq ss (ssget))( t) q! W0 h* Q
  (setq st (sslength ss))) g4 i. @, V8 C# X9 N4 S0 _
  (setq sl (- st 1))" d8 a+ @! D- K5 X. O
  (while (>= sl 0)& r! K1 W/ U- y
    (setq sn (ssname ss sl))
; {0 T. o$ T; v+ k. ?- w* u/ U* U    (setq sdata (entget sn))
) x7 U* o% y2 ]( @9 q& T& j    (if (= (cdr (assoc 0 sdata)) "REGION")(setq fl T))6 M1 b6 q# Q+ e$ u; f3 Q" B
    (setq sl (- sl 1))- i9 `/ |" b+ g
  );end while
$ ]* o/ \2 n& v  (if (not fl)4 J" w# [7 r4 }/ x1 Z' z& c
     (progn
& {& P  e9 ^* V/ f9 K# }4 F, r# \        (command "region" ss "")
- d) c8 ?. i* Q  t$ }, X        (if (not (setq ss (ssget "p")))# V! V/ K% m" y% h2 [2 V2 X" Q
           (setq ss (entlast) fl2 T)
9 t) ~5 z7 \- V( b3 ?           (if (= (sslength ss) st)
3 I3 q9 c; G$ B9 L              (princ "\n图形错误,不能生成面域!请检查图形!     " )
- n' C% k0 v" _( s# k& @              (setq ss (entlast) fl2 T)7 W+ h8 z9 w7 |$ b* g
           );end if
' z' d0 u* _# d6 U1 _        );end if# w- X0 q. J9 a& B4 Y& w
     );end progn$ X- U0 H. C$ z5 H
  );end if% M! H. P# ~- U) W; B, H% P4 ^0 I
  (if fl
5 h1 h4 ]& y( l# P6 y     (if (> st 1). Z1 e, n/ _* [# e4 |4 {
       (progn% \% v0 ?5 w7 {, z$ |
         (command)3 _6 F/ z% L  ?% s3 O- G' A
         (princ "\n选择面域太多,或有非面域实体!     " )
" R5 m" P9 z5 i! W; o       );end progn
' a5 g% }1 N$ L/ N8 K2 \3 d       (setq fl2 T)
0 e7 i; w1 G" @7 M! @7 g! E( j     );end if$ i" u5 T% X+ `2 J
  );end if
2 @6 j1 a* ]* a" r  (if fl2 6 x: r! a( z0 m6 h6 P; n
    (progn
5 [1 Z, v$ _) z# L# R# K      (command "_area" "o" ss)% b9 M) n7 `! @( w, \2 J. n3 r
      (setq bl (getstring "\n输入图形比例:"))/ F- Y, o0 m+ ~9 Q  ]
      (setq bl (atof bl))2 S& ?% o) Z! R0 m+ S4 i
      (setq hd (getstring "\n输入图形厚度:"))
7 b6 S  I0 r7 ]' x      (setq hd (atof hd))/ T/ D9 M6 L1 }
      (setq str "\n图形单位:mm   材料:钢 7850kg/m3")# L1 p* v5 f  e  L
      (setq mj (getvar "AREA"))
; s4 P# |( m# K0 N: l1 F8 x      (progn# |1 e0 C. t# A) m' @) T
            (setq wt (* mj bl bl hd 0.00000785))
( b% z) N$ E* _            (setq wt (rtos wt 2 2))
. D# Y. E& i, a4 e) e! t            (setq wt (strcat "\n重量= " wt " kg         "))
, D3 U; P8 r  n  L( d/ A% u            (princ wt)2 m  Y$ l* u5 _% W5 s
      );;end progn- W# |! V/ ?) A* W
    );end progn
5 s( T4 z4 K1 u) I& q9 z7 ?  );end if% q7 m8 b/ _+ [
);end defun
发表于 2010-6-12 08:29:32 | 显示全部楼层 来自: 中国上海
有面积算出体积乘以密度,就可以了。
发表于 2010-6-30 08:42:10 | 显示全部楼层 来自: 中国台湾
感谢楼主分享程序!
发表回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则


Licensed Copyright © 2016-2020 http://www.3dportal.cn/ All Rights Reserved 京 ICP备13008828号

小黑屋|手机版|Archiver|三维网 ( 京ICP备2023026364号-1 )

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