QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 chenxuy2006 于 2010-4-17 21:53 编辑 ) X8 U. s/ _- y: F% n
% i- n6 e) A! p) h" S' S. R
我是搞钢结构设计的,写了个计算不规则钢板重量的autolisp程序,感觉很好用。如果把钢板密度改成别的,或用个变量输入,可以计算其他板材。(补充说明:单位是mm、kg)
8 l( J2 e/ U5 ^9 y
! N' {1 w3 j/ Z& u( R9 k# f(defun C:gw(/ ss str bl hd a n mj wt fil sdata st sl fl fl2 sn)4 F5 F' k/ C3 {( q
  (princ "\n计算不规则钢板重量")) o* o" D8 l9 o7 k
  (princ "\n请选择用于生成面域的直线或面域")
$ x- G8 p& a& W( B6 `7 a' B  (setq ss (ssget))& v! G3 W  d! o7 i! N
  (setq st (sslength ss))
! v: ?% X9 a& Z% K/ n; d/ n' A  (setq sl (- st 1)): c0 S7 R, k6 u9 Y
  (while (>= sl 0)
; i7 o; E3 @- g; P    (setq sn (ssname ss sl))
: v' `9 B8 h3 E5 p2 `    (setq sdata (entget sn))) M6 u% Z0 k6 }' }7 h3 B+ }
    (if (= (cdr (assoc 0 sdata)) "REGION")(setq fl T))
$ n2 @$ |8 H% @( L. X/ C9 c    (setq sl (- sl 1))
" i9 F7 }  J, O  );end while( R' e! g4 _) U( `6 z; ]8 B' H+ z
  (if (not fl)
6 y; z- F4 X* z  ]: I     (progn
6 a& S. u5 T4 C& D1 j        (command "region" ss "")
+ f0 R- L& I2 w' v7 M$ R  _        (if (not (setq ss (ssget "p")))
4 `+ f: p& g4 l/ S+ W           (setq ss (entlast) fl2 T)) i) \7 {* x8 F" _2 \( R9 O* I
           (if (= (sslength ss) st)% x' C, q# e( t# S
              (princ "\n图形错误,不能生成面域!请检查图形!     " )
* C& K1 ^6 @6 E0 ]( y3 g              (setq ss (entlast) fl2 T)
4 P1 a( J0 m6 Z' ~0 H           );end if
" R* {/ q1 e% X        );end if
! v! e8 i# U2 e, ?9 z6 Z* g' ?     );end progn
1 K1 ?  A& N  B1 S  );end if, X" |& g+ i( M- t4 u
  (if fl# o/ E& e* B( ~7 G6 U  r4 R. {
     (if (> st 1)9 p& N* z- \0 I( f+ l8 z0 p
       (progn
, h$ s# e% B: S* b  w$ ~         (command)
- ^6 y2 ]4 M8 l, R! j' U/ k         (princ "\n选择面域太多,或有非面域实体!     " )$ B4 P5 t; r% f
       );end progn
. B' x) q) N. s* V       (setq fl2 T)4 b7 V# Q. k4 v
     );end if$ u% H5 n9 l; g* I
  );end if& `. b3 {( H& Z- W( z" J
  (if fl2
1 y9 T- Y. `# I2 [4 U    (progn
- H1 W% T9 A5 v  r6 ^7 X& r4 g% I      (command "_area" "o" ss), P9 j1 V# W% r0 p
      (setq bl (getstring "\n输入图形比例:"))
, t; [9 ^! e5 H      (setq bl (atof bl))
+ ?+ M* X1 ^# W- @8 G3 {      (setq hd (getstring "\n输入图形厚度:"))3 `/ H! @% E/ |' }$ f8 x
      (setq hd (atof hd))% t% P7 f$ M" Q" n- c, G) B% f
      (setq str "\n图形单位:mm   材料:钢 7850kg/m3")
2 ?1 n/ W3 Z- L      (setq mj (getvar "AREA"))
" W: t! g0 o% z* V* q! T% s& D      (progn
9 u( p2 G* F' o0 l6 G            (setq wt (* mj bl bl hd 0.00000785))* T+ x2 r, }+ L& @$ P. O
            (setq wt (rtos wt 2 2))$ t9 N* q3 a0 Q/ g
            (setq wt (strcat "\n重量= " wt " kg         "))$ i1 A5 k) r. @
            (princ wt): b  m0 I. _. @$ Y
      );;end progn
% o9 s% m7 Z- b: N3 _, |  ]    );end progn; \5 i* y* ^) [% V) ^; D. q- V, H9 W3 @
  );end if
; n5 b; w1 m8 c$ c0 S7 t);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 )

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