QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 chenxuy2006 于 2010-4-17 21:53 编辑
  X0 s, w! i; T" H. H' u" Z* X; E
4 @# A& U. W: E) U我是搞钢结构设计的,写了个计算不规则钢板重量的autolisp程序,感觉很好用。如果把钢板密度改成别的,或用个变量输入,可以计算其他板材。(补充说明:单位是mm、kg)
8 w. i4 U" o) Z1 q+ U: w# \6 o( d; l- Q- j0 C; c; P
(defun C:gw(/ ss str bl hd a n mj wt fil sdata st sl fl fl2 sn)
* D3 M9 D0 u2 o  t! W  (princ "\n计算不规则钢板重量")
. F) w9 p! x1 y& V* y4 c  (princ "\n请选择用于生成面域的直线或面域")
7 h, R7 c" e2 f  (setq ss (ssget))
- H' ~$ e. |  I- s9 ?9 \  (setq st (sslength ss))
/ Y5 h- \# ^! ~% P2 ^$ D  (setq sl (- st 1)); M6 E+ j/ l& m7 P3 t+ l
  (while (>= sl 0). |% l8 c! {3 [
    (setq sn (ssname ss sl))
6 o) A9 }+ w( x3 ?( |: C5 U+ f    (setq sdata (entget sn))
/ w7 P! i7 y3 l$ x+ F, Z/ I    (if (= (cdr (assoc 0 sdata)) "REGION")(setq fl T))# o4 K0 t- J* V
    (setq sl (- sl 1))
  Z7 x+ t: E0 S6 t7 p  );end while
% Y) K& P- ?, o, T5 X0 j& _  (if (not fl)
9 U& i% a8 E2 l) ]2 L     (progn; A0 }# Y$ j* f; N6 G
        (command "region" ss "")
8 |/ v$ p# C7 w5 Q" f        (if (not (setq ss (ssget "p")))
4 M2 u( z# A) c2 _) c5 i           (setq ss (entlast) fl2 T)
, r; \6 Q; A- O& I           (if (= (sslength ss) st)
, }% C: X+ j  a              (princ "\n图形错误,不能生成面域!请检查图形!     " )6 ~: r7 X8 S0 p# O$ W
              (setq ss (entlast) fl2 T)
$ {0 e) ^' ^9 \5 Q. ]           );end if( K8 Z; ]4 j6 R
        );end if
  ~9 o2 B& S+ I/ g+ M: R     );end progn4 d* g1 V: P6 F
  );end if
' j1 H. B6 c' z9 `/ |. |  (if fl/ T( y4 m9 o! _+ y
     (if (> st 1)
3 n6 L; s6 S/ c/ N       (progn! m0 z, N! S4 D- O% W
         (command)$ ~) e6 O8 @6 H' z6 D4 S! N; L/ x' `) `
         (princ "\n选择面域太多,或有非面域实体!     " )
: U" M9 t$ h/ ~0 Z+ ^       );end progn
8 [& O& S: t& h9 X( n       (setq fl2 T)2 }7 r) ^4 N+ X
     );end if6 Q$ ~6 B. u) \, Q" S0 }
  );end if
# J" ]+ A7 ~# {  (if fl2
: L, l+ f8 W1 `( _, U1 u    (progn8 @+ [; _& w4 @2 X" m  W
      (command "_area" "o" ss)9 u) Q! j" v6 b" L  G
      (setq bl (getstring "\n输入图形比例:"))6 Y" d: e; Y0 _( W
      (setq bl (atof bl))0 L" C1 U% S6 W5 N. S( N
      (setq hd (getstring "\n输入图形厚度:"))
& Y& X' y: f- G& d      (setq hd (atof hd))
# x6 j# `6 H: y* c$ g      (setq str "\n图形单位:mm   材料:钢 7850kg/m3")* K% s/ l4 n* d1 f( |( W
      (setq mj (getvar "AREA"))
" [$ |5 |; l- f. m- g% a* n# P' [      (progn
, l. D9 ^! E+ n            (setq wt (* mj bl bl hd 0.00000785))
7 J4 A' ~0 [+ z; f8 \            (setq wt (rtos wt 2 2)). J9 ^0 C9 Z; n- W4 D, G; G
            (setq wt (strcat "\n重量= " wt " kg         "))! k, t8 g0 q& \. h$ r
            (princ wt)
& ~# E% Y' \2 k0 L! l. \      );;end progn
9 w/ `' B. k6 S+ W1 E6 L( c& H( H    );end progn: L. i: O$ ^. d- ~1 `5 \7 V
  );end if1 H# G" K9 O, n9 a
);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 )

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