QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 chenxuy2006 于 2010-4-17 21:53 编辑
' A# u! c) _' ?3 v
% C, W2 p* r2 Z* C我是搞钢结构设计的,写了个计算不规则钢板重量的autolisp程序,感觉很好用。如果把钢板密度改成别的,或用个变量输入,可以计算其他板材。(补充说明:单位是mm、kg)
* n! }' I% m  B) H
% s; d& b: s! M(defun C:gw(/ ss str bl hd a n mj wt fil sdata st sl fl fl2 sn)5 `+ }& x4 H6 g+ z- B
  (princ "\n计算不规则钢板重量")
0 A' q: L$ R4 b4 G  (princ "\n请选择用于生成面域的直线或面域")
/ Q" \+ d8 B" W/ o, j  (setq ss (ssget))
% b# F. }5 I% A5 q1 D7 j( @  (setq st (sslength ss))6 r' @5 {1 E7 c9 t& p9 q
  (setq sl (- st 1))6 f' b& E9 N8 b4 @! v
  (while (>= sl 0)% A* V% j- m+ ]3 u) S7 [8 w
    (setq sn (ssname ss sl))- v8 _: l6 u# R' _' C  r
    (setq sdata (entget sn))
* _, [) Y, Y% R    (if (= (cdr (assoc 0 sdata)) "REGION")(setq fl T))- {) d5 `! q: T5 E
    (setq sl (- sl 1))
7 u/ [; f; C1 p5 j. H6 D! A  );end while6 q9 t7 P! C9 c8 y
  (if (not fl)- k, J% j9 g3 T3 ?5 i4 X
     (progn, M1 ]- e$ u* k4 N. [) k) X5 y
        (command "region" ss "")4 j+ k  W# R7 M9 [
        (if (not (setq ss (ssget "p")))
% M, ^, ]+ ~+ E) T           (setq ss (entlast) fl2 T)' [1 ^) n6 e+ ^
           (if (= (sslength ss) st)
4 F' h) `" }, h* u2 C7 q; r, m              (princ "\n图形错误,不能生成面域!请检查图形!     " )2 [$ j# L6 {; P0 _6 c
              (setq ss (entlast) fl2 T)
# e: P" o) E8 u3 ]8 w7 P& |           );end if
/ m4 o' a  b& P' q        );end if  x% i8 L5 H. w1 V5 m* Z; b
     );end progn9 H5 W& S% H8 d! y( [- N- g6 Y
  );end if
7 W, ~* q; x  i5 L# i  (if fl8 o& Z! e9 |4 b
     (if (> st 1)) @" C7 }' m1 J
       (progn( f% y5 f( C$ K
         (command)
, \) o3 i5 ~6 P9 f2 I; _6 k         (princ "\n选择面域太多,或有非面域实体!     " )" F7 D4 @/ z. A# p+ S+ y0 j# c
       );end progn
$ Z5 j$ H! B/ A$ l' P       (setq fl2 T)
8 n% g& ^8 T* t+ ^( ?! d     );end if
+ o8 E' Y5 `! v5 A4 z8 D  );end if1 p; A: ^- K2 U5 c
  (if fl2 # j  ?3 E  J# Q; |% ?3 T& a( ?
    (progn
. \; ~2 ~8 t  s8 @& |. Q      (command "_area" "o" ss)' \' G- D/ y2 I- e
      (setq bl (getstring "\n输入图形比例:"))
, H$ Y  l+ X) M      (setq bl (atof bl))
" I; w, }# ~, w8 F4 h6 R      (setq hd (getstring "\n输入图形厚度:"))
% J1 R7 D. p) T* W6 h! G' h      (setq hd (atof hd))8 I! n) A* a$ _
      (setq str "\n图形单位:mm   材料:钢 7850kg/m3")
+ s! s" l& g: ^; V/ l) S) u      (setq mj (getvar "AREA"))
& `9 N/ i# ^# \% f* q      (progn
4 U: m8 ?5 s& O+ n            (setq wt (* mj bl bl hd 0.00000785))
( l& ]6 u; U6 M, ?& A7 C! k            (setq wt (rtos wt 2 2)); m$ M' O( _4 W$ ~- P" Z
            (setq wt (strcat "\n重量= " wt " kg         "))  a& ^5 a. k) M. l; Y1 k8 K
            (princ wt)- G4 C4 M3 ?- R% w* n( \
      );;end progn; q# V4 ^# ^5 L  ^) U, F
    );end progn# H5 N8 d- V! A. _' \
  );end if* D; p. t. B5 _
);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 )

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