QQ登录

只需一步,快速开始

登录 | 注册 | 找回密码

三维网

 找回密码
 注册

QQ登录

只需一步,快速开始

展开

通知     

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

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

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

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

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

x
本帖最后由 chenxuy2006 于 2010-4-17 21:53 编辑 ) O; [! ?1 N7 _- w$ s" a
- ~1 z' A$ F, l
我是搞钢结构设计的,写了个计算不规则钢板重量的autolisp程序,感觉很好用。如果把钢板密度改成别的,或用个变量输入,可以计算其他板材。(补充说明:单位是mm、kg)! |0 H3 l/ H* u5 g! H6 Q* l

0 w, x7 i) h: j5 N( t(defun C:gw(/ ss str bl hd a n mj wt fil sdata st sl fl fl2 sn)
+ u3 T  l' _* c7 N" W9 O2 u5 O  (princ "\n计算不规则钢板重量")
7 H$ F# L) @. n" V  (princ "\n请选择用于生成面域的直线或面域")
5 E' @# N: W1 L+ Y! h  G  (setq ss (ssget))
, E, n' y& y: x2 E  (setq st (sslength ss))
- `/ _) M2 ]' s; M0 K6 p( e# j  (setq sl (- st 1))
( E9 d& D5 P  m; {9 r  (while (>= sl 0)
! a6 Y/ [" @6 ^; G" p' c) z" P    (setq sn (ssname ss sl))
( D% w9 o# y$ \2 f+ g    (setq sdata (entget sn))
  s; F1 ]" w) u2 t+ X    (if (= (cdr (assoc 0 sdata)) "REGION")(setq fl T))7 _8 w, }2 i, @: O$ m- r
    (setq sl (- sl 1))
5 |. |5 |3 f5 U6 o  );end while# z/ }: w" [) O& X% q
  (if (not fl)+ G' I7 F0 E' `: F; I
     (progn
* v" l1 }& O- b: S        (command "region" ss "")
0 w7 w0 n  d7 W3 T& W        (if (not (setq ss (ssget "p")))
+ @: q$ Y8 s% y& C, S# t- v           (setq ss (entlast) fl2 T)3 o" V' j, q% o( z& X  `  P- D
           (if (= (sslength ss) st)$ m: q& p0 Z1 G
              (princ "\n图形错误,不能生成面域!请检查图形!     " )7 @: G" A$ l& T- o# W1 N7 k( E& X
              (setq ss (entlast) fl2 T)) P" w8 \0 e; h4 s' E
           );end if
7 Z: Z2 S; D/ _        );end if/ Q" {0 A) t5 Q
     );end progn, U* L$ X1 q0 r) Q
  );end if0 S7 ?/ h% y* W  n" F
  (if fl
; ^! X0 K+ N$ c2 M     (if (> st 1). b9 q# E8 |. I/ l' T( J# x
       (progn
- I2 D% g6 q( g. t         (command)
. W+ A2 q, J; W5 X         (princ "\n选择面域太多,或有非面域实体!     " )" H0 E$ M8 N' c$ x- Y
       );end progn
0 P6 d; b1 u" [" R       (setq fl2 T)6 A; u3 Y6 S+ _7 |# l+ k
     );end if
% }8 X& j' s) z% b+ x" J- t; H  );end if
7 G! g. w+ ?  U9 g$ T" p' P% y% p" D  (if fl2 , H; E6 t) d6 K) m- ?) M
    (progn/ c9 i6 p4 y' J, x; }; t
      (command "_area" "o" ss)! w0 r+ c' \& g# R- ?: _7 a
      (setq bl (getstring "\n输入图形比例:"))
4 L* X  Y1 z5 i4 C      (setq bl (atof bl))
2 b9 s4 e& P8 F4 c5 I      (setq hd (getstring "\n输入图形厚度:"))
2 g: y3 @' ]/ `" v: Q+ l/ [1 e" V" G      (setq hd (atof hd))* d" i/ ~  b0 z/ x6 K0 x9 H
      (setq str "\n图形单位:mm   材料:钢 7850kg/m3")
$ d9 j9 v- }3 y; h! ]      (setq mj (getvar "AREA"))+ j5 e% c) h" J( i
      (progn
( v8 n& ]6 s7 g; }2 t            (setq wt (* mj bl bl hd 0.00000785))
* o' w0 v+ Q; Y2 k2 E7 e% ~# S            (setq wt (rtos wt 2 2))* E, D' S( l  @
            (setq wt (strcat "\n重量= " wt " kg         "))$ {' g. K8 k6 f+ j+ }& p0 S
            (princ wt)
; Z) e( C4 p! A+ X, C" U# w      );;end progn# @' `' B# a7 x. T+ B2 }1 B' T
    );end progn7 G' F' c8 T. X( c+ r  _: f. E. M
  );end if
6 T8 P3 e/ x4 U);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 )

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