QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 chenxuy2006 于 2010-4-17 21:53 编辑
5 q, y) ?3 c% R: [3 Q
, g1 g, ~7 ^( s4 u+ {8 `我是搞钢结构设计的,写了个计算不规则钢板重量的autolisp程序,感觉很好用。如果把钢板密度改成别的,或用个变量输入,可以计算其他板材。(补充说明:单位是mm、kg)
1 g. u; H! P9 ]7 o+ o- C$ h9 Z7 D2 [1 T* s, c! m
(defun C:gw(/ ss str bl hd a n mj wt fil sdata st sl fl fl2 sn). R' E# {" o7 |+ W7 z4 ]0 I( a& U
  (princ "\n计算不规则钢板重量")3 t7 n5 ]) P' g+ H/ l
  (princ "\n请选择用于生成面域的直线或面域"), q1 c: t& W. ^1 ^
  (setq ss (ssget))9 R& N' c; l  d) q' ~. \
  (setq st (sslength ss))
9 S; M; I( H% M" f( n0 {  (setq sl (- st 1))$ A9 H0 M* L" ]; q% w) H
  (while (>= sl 0)
% A3 k* a) V2 I2 e& t$ r    (setq sn (ssname ss sl))
% z* w4 l5 P* {& n5 u! n5 o    (setq sdata (entget sn))
8 r7 g. Z0 [& j7 U/ l% W    (if (= (cdr (assoc 0 sdata)) "REGION")(setq fl T))
# N' T' R+ o3 |    (setq sl (- sl 1))
- @) W& @- j; N  );end while
7 c- [4 A1 |6 f  (if (not fl)% J/ n3 f( k% d/ I
     (progn
5 z/ p1 T) y8 D' ~" M        (command "region" ss "")6 k8 h$ L# X9 B
        (if (not (setq ss (ssget "p")))3 @; A" p$ u1 Y+ ?' L9 M2 @% X
           (setq ss (entlast) fl2 T)" v+ i, L7 A2 P$ Z8 P8 Q3 }
           (if (= (sslength ss) st)
" W7 o0 i% ^% u              (princ "\n图形错误,不能生成面域!请检查图形!     " )
6 g! m+ _$ _8 V1 i: G5 \              (setq ss (entlast) fl2 T)
4 n2 }4 d" k  o" M0 Y           );end if& n- Q( t: o5 Q' S
        );end if$ z* U1 Q# y. {, {
     );end progn
9 }3 L% p: @) A& N; i  );end if) ~# h% N  W! h4 i% N9 I
  (if fl5 v( _8 }/ a) ~! j& K- ~  z
     (if (> st 1)
! A) u, p) V. e" D: U4 V3 F       (progn
  @, L  ]- M- }. e3 Q# l# }         (command)  n1 f* n: `: E5 B, ]9 l) }& I) g
         (princ "\n选择面域太多,或有非面域实体!     " ): t. k, M+ `3 j6 h9 n: x
       );end progn
& A+ }1 {3 r! {       (setq fl2 T)2 J+ P4 H9 g6 b, s$ x
     );end if
8 ^4 G1 I7 q2 @) n$ y% J  );end if/ q& M3 H4 E% k7 u
  (if fl2
( V0 ~$ S3 C1 N; p    (progn
5 I+ {! @2 F- X8 `" l1 }: B( T      (command "_area" "o" ss)2 f- U& ~9 ^5 t/ @
      (setq bl (getstring "\n输入图形比例:"))
% `1 j$ h+ h, y0 }  S* T. J      (setq bl (atof bl))
# Y, g- L0 V1 l# G$ H# {& h5 w      (setq hd (getstring "\n输入图形厚度:")): l2 V! p4 V% g4 p1 h
      (setq hd (atof hd))
4 h$ n$ j  o' n      (setq str "\n图形单位:mm   材料:钢 7850kg/m3")
2 ~% v( [# C4 {1 n* d      (setq mj (getvar "AREA"))
1 Q7 U3 T( F8 r; C      (progn
  Y7 Q2 x: c: u! Q! R- `4 R5 m2 K            (setq wt (* mj bl bl hd 0.00000785))
8 j  ^1 [0 t% C& Y& C! }: K+ N            (setq wt (rtos wt 2 2))- n, m6 q8 U* E& x+ ^% A, y# u
            (setq wt (strcat "\n重量= " wt " kg         "))
/ n7 p4 T0 n5 T" d& U' S  D2 ~  M            (princ wt)
$ X% |' U! v, Q' S      );;end progn
6 ?6 m5 x0 b0 x    );end progn, o% E; L" p+ Z
  );end if1 l3 z. t* V7 h5 {$ p
);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 )

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