QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

全站
11天前
查看: 2604|回复: 2
收起左侧

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

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

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

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

x
本帖最后由 chenxuy2006 于 2010-4-17 21:53 编辑
* N) {( a. F6 e$ [% @& p
: E9 @" v0 ~! L' T4 V9 b! O我是搞钢结构设计的,写了个计算不规则钢板重量的autolisp程序,感觉很好用。如果把钢板密度改成别的,或用个变量输入,可以计算其他板材。(补充说明:单位是mm、kg)
+ P6 P; P- A- Z: b6 z. V4 V7 S3 t7 _. v
(defun C:gw(/ ss str bl hd a n mj wt fil sdata st sl fl fl2 sn)2 Z4 k( {3 d0 `# h
  (princ "\n计算不规则钢板重量")$ J# ^5 K0 y, T0 m: A
  (princ "\n请选择用于生成面域的直线或面域")# y7 b' t+ |3 \+ O5 a4 ^
  (setq ss (ssget))
. E( X' C% t! J/ J  (setq st (sslength ss))
+ S, z( ^9 Z5 U. Q' f) R6 N/ ~  (setq sl (- st 1))
& A/ A: M1 u+ ^8 E+ U, U( u( G/ y  (while (>= sl 0)
4 x( [% [1 `( x9 C4 b    (setq sn (ssname ss sl))
- _! f2 s4 c$ b    (setq sdata (entget sn))
: G. \8 O2 R! i+ p# I( C    (if (= (cdr (assoc 0 sdata)) "REGION")(setq fl T))0 i8 Q0 _1 ^( c, p4 J
    (setq sl (- sl 1))/ U$ R- G* p- X: i! V$ F( e
  );end while
. P3 e5 V# Z4 k+ L5 A  (if (not fl)) S2 p# [) k0 y; R9 k7 l. r4 e
     (progn6 X% n. L6 G2 V' b
        (command "region" ss "")& l* y0 N. J8 q2 W1 h
        (if (not (setq ss (ssget "p")))
, D( q& L# F: g$ u0 `           (setq ss (entlast) fl2 T): i) v7 Y6 O1 H
           (if (= (sslength ss) st)
7 C1 U$ X) Z7 e8 Q              (princ "\n图形错误,不能生成面域!请检查图形!     " )
. T) K4 a# Y5 {3 d; [8 k% u              (setq ss (entlast) fl2 T)6 P2 T$ L% x3 n6 }$ ?% _& N% Y
           );end if, ~* Z( l4 s% ]
        );end if/ \0 ~9 S8 A1 W: h; Z
     );end progn
7 Y+ K; {& j8 b" u9 B: f  );end if
# K" H- j& v/ j  D1 [* U3 r6 ~0 ^+ k  (if fl# f6 a6 i6 Q: e
     (if (> st 1)
, \" N. p2 C- s  |/ K       (progn
6 a* @) u& E! P5 M5 h         (command)2 w6 T5 P0 ^; [0 @
         (princ "\n选择面域太多,或有非面域实体!     " )
' O; z0 a$ o9 s; y3 e4 P5 \       );end progn' h; B: z2 }! h/ n
       (setq fl2 T)1 P* L( {* Q7 S: d' K
     );end if
) n9 s- ?9 Y; y9 n5 h( u8 O. q& Y  );end if) v# Z. U9 D7 e8 n0 d- D
  (if fl2 4 C, s. E' e6 l1 ?2 d3 \! E" T
    (progn
) s; J; N' G! q; I      (command "_area" "o" ss)
2 c2 A; C+ I8 z/ C      (setq bl (getstring "\n输入图形比例:")): g. }* [  Z0 P3 z! S
      (setq bl (atof bl))
4 J5 W9 B$ w! ^1 G' r8 L      (setq hd (getstring "\n输入图形厚度:"))! p- D! U+ q- {/ n
      (setq hd (atof hd))2 D( Q3 q; _4 _! C  Q+ m- l+ H
      (setq str "\n图形单位:mm   材料:钢 7850kg/m3")
( i6 S7 D, o% l: W, @4 t; p      (setq mj (getvar "AREA"))
* a# M  ~3 A0 p. L* {- O      (progn- X5 e* G2 b( z8 F" j6 K
            (setq wt (* mj bl bl hd 0.00000785))" U+ v3 }+ p9 [# S5 m5 d
            (setq wt (rtos wt 2 2))0 d7 ?, z% m" @  M. x+ }
            (setq wt (strcat "\n重量= " wt " kg         "))
/ ?$ G+ K1 y, J. V            (princ wt)! N; ~/ I: y6 \7 d( {. D: e
      );;end progn
# F6 I) w  x8 R" d7 w7 D    );end progn
: M  e; r; d# _* |. t+ \0 s  );end if% }. m* ?& v/ S& W$ }
);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 )

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