找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 542|回复: 8

[求助] [求助]:关于AUTOLISP程序的问题

[复制链接]
发表于 2004-4-3 12:49:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
本人有一个AUTOLISP程序,是用来做结构加固的.
由于不是很熟悉,所以函数什么都看不明白.
有没有人可以帮我画一张计算机框图,这样就一目了然了!
急用!谢谢!
QQ:188175368 [/COLOR]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-4-3 21:46:24 | 显示全部楼层
程序本身就不完整,我把程序贴上来,大家看看。
其实也不复杂。

  1.   [FONT=courier new]
  2. ;碳纤维加固修复混凝土结构计算程序
  3. (defun c:cabon_fiber ()
  4.   (setq dcl_id (load_dialog "cabon_fiber.dcl"))
  5.   (if (< dcl_id 0) (exit))
  6.   (new_dialog "cabon_fiber" dcl_id)
  7.   (action_tile "s_i_info" "(i_info_check $reason $key $value)")
  8.   (action_tile "s_m_con" "(m_con_check $reason $key $value)")
  9.   (action_tile "s_m_mtot" "(m_check $reason $key $value 0 10000 "请输入一个不小于0的数" "20")")
  10.   (action_tile "s_m_mbeg" "(m_check $reason $key $value 0 10000 "请输入一个不小于0的数" "0")")
  11.   (action_tile "s_m_vtot" "(m_check $reason $key $value 0 10000 "请输入一个不小于0的数" "100")")
  12.   (action_tile "s_m_ntot" "(m_check $reason $key $value 0 10000 "请输入一个不小于0的数" "100")")
  13.   (action_tile "s_m_rssed" "(m_check $reason $key $value 1.0 3.0 "请输入一个介于1.0和3.0之间的数" "1.0")")
  14.   (action_tile "s_cf_auta" "(m_check $reason $key $value 0 1 "请输入一个不小于0的数" "0.021")")
  15.   (action_tile "s_cf_me" "(m_check $reason $key $value 210 10000 "请输入一个不小于210的数" "230")")
  16.   (action_tile "s_cf_t" "(m_check $reason $key $value 0 1 "请输入一个不小于0的数" "0.111")")
  17.   (action_tile "s_cf_n" "(m_check $reason $key $value 0 10 "请输入一个大于0的自然数" "1")")
  18.   (action_tile "s_cf_nv" "(m_check $reason $key $value 0 10 "请输入一个大于0的自然数" "1")")
  19.   (action_tile "s_cf_bv" "(m_check $reason $key $value 0 10000 "请输入一个大于0的自然数" "50")")
  20.   (action_tile "s_c_sc" "(m_check $reason $key $value 15 40 "请输入一个介于15和40之间的数" "15")")
  21.   (action_tile "s_c_b" "(m_check $reason $key $value 0 1000 "请输入一个不小于0的数" "250")")
  22.   (action_tile "s_c_h" "(m_check $reason $key $value 0 1000 "请输入一个不小于0的数" "300")")
  23.   (action_tile "s_c_btf" "(m_check $reason $key $value 0 1000 "请输入一个不小于0的数" "0")")
  24.   (action_tile "s_c_htf" "(m_check $reason $key $value 0 1000 "请输入一个不小于0的数" "0")")
  25.   (action_tile "s_c_bcf" "(m_check $reason $key $value 0 1000 "请输入一个不小于0的数" "0")")
  26.   (action_tile "s_c_hcf" "(m_check $reason $key $value 0 1000 "请输入一个不小于0的数" "0")")
  27.   (action_tile "s_s_f" "(m_check $reason $key $value 0 1000 "请输入一个不小于0的数" "300")")
  28.   (action_tile "s_s_fv" "(m_check $reason $key $value 0 1000 "请输入一个不小于0的数" "210")")
  29.   (action_tile "s_s_at" "(m_check $reason $key $value 0.00001 10000 "请输入一个不小于0的数" "226")")
  30.   (action_tile "s_s_ac" "(m_check $reason $key $value 0 10000 "请输入一个不小于0的数" "0")")
  31.   (action_tile "s_s_av" "(m_check $reason $key $value 0 10000 "请输入一个不小于0的数" "0")")
  32.   (action_tile "s_s_s" "(m_check $reason $key $value 50 300 "请输入一个介于50和300之间的数" "200")")
  33.   (action_tile "s_s_dstc" "(m_check $reason $key $value 0 100 "请输入一个不小于0的数" "35")")
  34.   (action_tile "s_cf_a" "(cfsa $value)")
  35.   (action_tile "s_cf_av" "(cfsav $value)")
  36.   (action_tile "s_cal" "(cal)")  
  37.   (action_tile "s_ok" "(done_dialog 1)")
  38.   (setq dcl_s (start_dialog))
  39.   (unload_dialog dcl_id)
  40.   (princ)
  41. )

  42. ;读取数值
  43. (defun read_data()
  44.   (setq m_mtot (* (atof (get_tile "s_m_mtot")) 1000000)
  45.         m_mbeg (* (atof (get_tile "s_m_mbeg")) 1000000)
  46.         m_vtot (* (atof (get_tile "s_m_vtot")) 1000)
  47.         m_ntot (* (atof (get_tile "s_m_ntot")) 1000)
  48.         m_rssed (atof (get_tile "s_m_rssed"))
  49.         cf_b (atof (get_tile "s_cf_b"))
  50.         cf_bv (atof (get_tile "s_cf_bv"))
  51.         cf_s (atof (get_tile "s_cf_s"))
  52.         cf_auta (atof (get_tile "s_cf_auta"))
  53.         cf_me (* (atof (get_tile "s_cf_me")) 1000)
  54.         cf_t (atof (get_tile "s_cf_t"))
  55.         cf_n (atoi (get_tile "s_cf_n"))
  56.         cf_nv (atoi (get_tile "s_cf_nv"))
  57.         c_sc (atof (get_tile "s_c_sc"))
  58.         c_b (atof (get_tile "s_c_b"))
  59.         c_h (atof (get_tile "s_c_h"))
  60.         c_btf (atof (get_tile "s_c_btf"))
  61.         c_htf (atof (get_tile "s_c_htf"))
  62.         c_bcf (atof (get_tile "s_c_bcf"))
  63.         c_hcf (atof (get_tile "s_c_hcf"))
  64.         s_f (atof (get_tile "s_s_f"))
  65.         s_fv (atof (get_tile "s_s_fv"))
  66.         s_at (atof (get_tile "s_s_at"))
  67.         s_ac (atof (get_tile "s_s_ac"))
  68.         s_av (atof (get_tile "s_s_av"))
  69.         s_s (atof (get_tile "s_s_s"))
  70.         s_dstc (atof (get_tile "s_s_dstc"))
  71.   )
  72.   (cond ((= (get_tile "s_m_info") "s_m_beam") (setq m_info "beam"))
  73.         ((= (get_tile "s_m_info") "s_m_colu") (setq m_info "colu"))
  74.   )
  75.   (cond ((= (get_tile "s_m_con") "s_m_force") (setq m_con "force"))
  76.         ((= (get_tile "s_m_con") "s_m_area") (setq m_con "area"))
  77.   )
  78.   (cond ((= (get_tile "s_v_con") "s_v_close") (setq cf_vcon 1.0))
  79.         ((= (get_tile "s_v_con") "s_v_u") (setq cf_vcon 0.85))
  80.         ((= (get_tile "s_v_con") "s_v_side") (setq cf_vcon 0.7))
  81.   )
  82. )

  83. ;检查输入数据
  84. (defun m_check (why key s_val m_min m_max m_str m_start)
  85.   (setq f_var (distof s_val 2))
  86.   (if (or (< f_var m_min)  (> f_var m_max) (= f_var nil))
  87.     (progn
  88.       (alert m_str)
  89.       (set_tile key m_start)
  90.       (mode_tile key 2)
  91.     )
  92.   )
  93. )


  94. ;检查条件
  95. (defun m_con_check (why key s_val)
  96.   (cond ((= s_val "s_m_force")
  97.          (mode_tile "s_m_mtot" 0)
  98.          (mode_tile "s_m_mtot" 2)
  99.          (mode_tile "s_m_mtot" 3)
  100.          (mode_tile "s_m_vtot" 0)
  101.          (mode_tile "s_cf_a" 0)
  102.          (mode_tile "s_cf_av" 0)
  103.          (mode_tile "s_cf_b" 1)
  104.          (mode_tile "s_cf_s" 1)         
  105.         )
  106.         ((= s_val "s_m_area")
  107.          (mode_tile "s_cf_b" 0)
  108.          (mode_tile "s_cf_b" 2)
  109.          (mode_tile "s_cf_b" 3)
  110.          (mode_tile "s_cf_s" 0)
  111.          (mode_tile "s_m_mtot" 1)
  112.          (mode_tile "s_m_vtot" 1)
  113.          (mode_tile "s_cf_a" 1)
  114.          (mode_tile "s_cf_av" 1)       
  115.         )
  116.   )
  117. )
  118.          
  119. ;计算主程序
  120. (defun cal ()
  121.   (read_data)
  122.   (setq c_eds (- c_h s_dstc);混凝土构件截面有效高度
  123.         c_hw (chw c_h c_htf c_hcf c_eds);腹板高度
  124.         cf_h (cfh c_h c_hcf c_htf);抗剪碳纤维片材高度
  125.         c_me (cme c_sc);混凝土的弹性模量
  126.         c_f (fc c_sc);混凝土抗压强度设计值
  127.         c_t (ft c_sc);混凝土抗拉强度标准值
  128.         m_racfacua (racfacua m_ntot c_f c_b c_h);轴压比
  129.         s_me (sme s_f);钢筋的弹性模量
  130.         c_cbdcz (ccbdcz s_f s_me);相对界限受压区高度
  131.   )
  132.   (setq m_qis (mqis c_f c_b c_eds c_hw m_vtot)
  133.         c_vcs (cvcs c_t c_b c_eds s_fv s_av s_s)
  134.   )
  135.   (cond ((= m_info "beam")
  136.          (setq cf_atav (atav1 m_rssed cf_auta))
  137.         )
  138.         ((= m_info "colu")
  139.          (setq cf_atav (atav2 m_rssed m_racfacua cf_auta))
  140.         )
  141.   )
  142.   (cond ((= m_con "force")         
  143.          (shear_to_cfs)
  144.          (cfs_to_shear)
  145.         )
  146.         ((= m_con "area")
  147.          (cfs_to_shear)
  148.         )       
  149.   )  
  150.   (cond ((> m_mbeg 0)
  151.          (setq m_rsc (rsc s_me c_me);钢筋弹性模量与混凝土弹性模量的比值
  152.                s_pr (pr s_at c_b c_eds);受拉钢筋配筋率
  153.                c_eta (ceta c_b c_h c_btf c_btf);有效受拉混凝土截面面积
  154.                c_smt (csmt c_b c_eds c_bcf c_hcf);受压翼缘加强系数
  155.                s_prceta (prceta s_at c_eta);按有效受拉混凝土截面面积计算的受拉钢筋配筋率
  156.                s_tsbeg (stsbeg m_mbeg s_at c_eds);在初始弯矩作用下受拉钢筋拉应力
  157.                s_ndtsc (ndtsc c_t s_tsbeg s_prceta);受拉钢筋拉应变不均匀系数
  158.                c_cam (cam c_smt m_rsc s_pr);受压边缘混凝土压应变综合系数
  159.                c_cabeg (ccabeg m_mbeg c_cam c_me c_b c_eds);混凝土初始压应变
  160.                s_tabeg (stabeg s_ndtsc m_mbeg c_eds s_at s_me);在初始弯矩作用下受拉钢筋拉应变
  161.                c_tabeg (ctabeg c_h c_eds c_cabeg s_tabeg);混凝土初始拉应变
  162.          )
  163.         )
  164.         (t (setq c_tabeg 0.0))
  165.   )
  166.   (setq cf_km (km cf_n cf_me cf_t);碳纤维片材厚度折减系数
  167.         cf_ata (ata cf_km cf_auta);碳纤维片材的允许拉应变
  168.         c_bdcz (bdcz cf_ata c_tabeg c_h);界限受压区高度
  169.   )
  170.   (cond ((= m_con "force")         
  171.          (setq c_x (cx1 m_mtot c_f c_b c_h c_eds c_t s_f s_at s_ac s_dstc));受压区高度
  172.          (cx_to_area)
  173.          (if (<= cf_a 0)
  174.            (progn
  175.              (setq cf_a 0)
  176.              (setq c_x (cx2 cf_a cf_me c_f c_b c_h c_tabeg s_f s_at s_ac))
  177.              (cx_to_mon)
  178.            )
  179.          )
  180.         )
  181.         ((= m_con "area")
  182.          (setq cf_a (* cf_b (* cf_t cf_n)))
  183.          (setq c_x (cx2 cf_a cf_me c_f c_b c_h c_tabeg s_f s_at s_ac))
  184.          (cx_to_mon)
  185.         )       
  186.   )
  187.   (wcdcz c_x c_eds);写相对受压区高度
  188.   (wmmmax m_mmax);写构件允许弯矩设计值
  189.   (wmvmax m_vmax);写构件允许剪力设计值
  190. )

  191. ;写抗弯碳纤维片材截面面积
  192. (defun wcfa (cf_a cf_n cf_t)
  193.   (setq l_cf_a '())
  194.   (start_list "s_cf_a")
  195.   (cond ((= cf_a nil)         
  196.          (add_list "**********")
  197.          (setq l_cf_a (cons nil l_cf_a))
  198.         )
  199.         ((> cf_a 0)
  200.          (setq cf_bb (* (1+ (fix (/ (/ (/ cf_a cf_n) cf_t) 10))) 10))
  201.          (repeat 5          
  202.            (add_list
  203.                 (strcat (itoa cf_n) "×" (rtos cf_t) "×" (rtos cf_bb) " = "
  204.                         (rtos (* (* cf_n cf_t) cf_bb)))
  205.            )
  206.            (setq l_cf_a (cons (* cf_bb (* cf_n cf_t)) l_cf_a)
  207.                  cf_bb (+ cf_bb 10)
  208.            )         
  209.          )         
  210.         )
  211.         (t (add_list "0"))
  212.   )
  213.   (end_list)
  214. )

  215. ;写抗剪碳纤维片材截面面积
  216. (defun wcfav (cf_av cf_nv cf_t)
  217.   (setq l_cf_s '())
  218.   (start_list "s_cf_av")
  219.   (cond ((= cf_s nil)         
  220.          (add_list "**********")
  221.          (setq l_cf_s (cons nil l_cf_s))
  222.         )
  223.         ((> cf_s 0)
  224.          (setq cf_ss (* (1- (fix (/ cf_s 10))) 10))
  225.          (repeat 5          
  226.            (add_list
  227.                 (strcat (itoa cf_nv) "×" (rtos cf_t) "×" (rtos cf_bv) " @ " (rtos cf_ss))
  228.            )
  229.            (setq l_cf_s (cons cf_ss l_cf_s)
  230.                  cf_ss (- cf_ss 10)
  231.            )         
  232.          )         
  233.         )
  234.         (t (add_list "0"))
  235.   )
  236.   (end_list)
  237. )

  238. ;写相对受压区高度
  239. (defun wcdcz(c_x c_eds)
  240.   (cond ((/= c_x nil)
  241.          (set_tile "s_c_dcz" (strcat "相对受压区高度 = " (rtos (/ c_x c_eds) 2 4)))
  242.         )
  243.         (t (set_tile "s_c_dcz" "相对受压区高度 ="))
  244.   )
  245. )

  246. ;写构件允许弯矩设计值
  247. (defun wmmmax(m_mmax)
  248.   (cond ((/= m_mmax nil)
  249.          (set_tile "s_m_mmax" (strcat "构件允许弯矩设计值 = " (rtos (/ m_mmax 1000000.0) 2 2) " (kN·m)"))
  250.         )
  251.         (t (set_tile "s_m_mmax" "构件允许弯矩设计值 ="))
  252.   )
  253. )

  254. ;写构件允许剪力设计值
  255. (defun wmvmax(m_vmax)
  256.   (cond ((/= m_vmax nil)
  257.          (set_tile "s_m_vmax" (strcat "构件允许剪力设计值 = " (rtos (/ m_vmax 1000.0) 2 2) " (kN)"))
  258.         )
  259.         (t (set_tile "s_m_vmax" "构件允许剪力设计值 ="))
  260.   )
  261. )

  262. ;选择抗弯碳纤维面积
  263. (defun cfsa (s_val)
  264.   (cond ((/= (last l_cf_a) "**********")
  265.          (setq cf_a (nth (- 4 (atoi s_val)) l_cf_a)
  266.                c_x (cx2 cf_a cf_me c_f c_b c_h c_tabeg s_f s_at s_ac)
  267.          )
  268.          (cx_to_mon)         
  269.         )
  270.         (t
  271.          (setq c_x nil)
  272.          (setq m_mmax nil)
  273.         )       
  274.   )
  275.   (wcdcz c_x c_h);写相对受压区高度
  276.   (wmmmax m_mmax);写构件允许弯矩设计值
  277. )

  278. ;选择抗剪碳纤维面积
  279. (defun cfsav (s_val)
  280.   (cond ((/= (last l_cf_s) "**********")
  281.          (setq cf_s (nth (- 4 (atoi s_val)) l_cf_s))
  282.          (cfs_to_shear);构件允许剪力设计值         
  283.         )
  284.         (t
  285.          (setq cf_s nil)
  286.          (setq m_vmax nil)
  287.         )       
  288.   )
  289.   (wmvmax m_vmax);写构件允许弯矩设计值
  290. )

  291. ;混凝土初始拉应变
  292. (defun ctabeg (c_h c_eds c_cabeg s_tabeg)
  293.   (- (/ (* c_h (+ c_cabeg s_tabeg)) c_eds) c_cabeg)
  294. )

  295. ;在初始弯矩作用下受拉钢筋拉应力
  296. (defun stsbeg (m_mbeg s_at c_eds)
  297.   (/ m_mbeg (* (* s_at 0.87) c_eds))
  298. )

  299. ;受拉钢筋拉应变不均匀系数
  300. (defun ndtsc (c_t s_tsbeg s_pr)
  301.   (- 1.1 (/ (* 0.65 c_t) (* s_tsbeg s_pr)))
  302. )
  303.   
  304. ;受拉钢筋配筋率
  305. (defun pr (s_at c_b c_eds) (/ s_at (* c_b c_eds)))

  306. ;有效受拉混凝土截面面积
  307. (defun ceta (c_b c_h c_btf c_htf)
  308.   (+ (* (* 0.5 c_b) c_h) (* (- c_btf c_b) c_htf))
  309. )

  310. ;按有效受拉混凝土截面面积计算的受拉钢筋配筋率
  311. (defun prceta (s_at c_eta) (/ s_at c_eta))

  312. ;受压翼缘加强系数
  313. (defun csmt (c_b c_eds c_bcf c_hcf)
  314.   (/ (* (- c_bcf c_b) c_hcf) (* c_b c_eds))
  315. )

  316. ;受压边缘混凝土压应变综合系数
  317. (defun cam (c_smt m_rsc s_pr)
  318.   (/ (* (* (+ 1 (* 3.5 c_smt)) m_rsc) s_pr)
  319.      (+ (* 0.2 (+ 1 (* 3.5 c_smt))) (* (* 6 m_rsc) s_pr))
  320.   )
  321. )

  322. ;在初始弯矩作用下受拉钢筋拉应变
  323. (defun stabeg (s_ndtsc m_mbeg c_eds s_at s_me)
  324.   (/ (* s_ndtsc m_mbeg) (* 0.87 (* s_me (* s_at c_eds))))
  325. )

  326. ;混凝土初始压应变
  327. (defun ccabeg (m_mbeg c_cam c_me c_b c_eds)
  328.   (/ m_mbeg (* c_cam (* c_me (* c_b (* c_eds c_eds)))))
  329. )

  330. ;混凝土初始拉应变
  331. (defun ctabeg (c_h c_eds c_cabeg s_tabeg)
  332.   (- (/ (* c_h (+ c_cabeg s_tabeg)) c_eds) c_cabeg)
  333. )
  334.                
  335. ;已知弯矩求受压区度度
  336. (defun cx1 (m_mtot c_f c_b c_h c_eds c_t s_f s_at s_ac s_dstc / a b c1 c2 c d)
  337.   (setq a (/ (* c_f c_b) 2.0)
  338.         b (* c_f (* c_b c_h))
  339.         c1 (* s_f (* s_at s_dstc))
  340.         c2 (* s_f (* s_ac (- c_h s_dstc)))
  341.         c (+ m_mtot (- c1 c2))
  342.         d (- (* b b) (* 4 (* a c)))
  343.   )
  344.   (cond ((>= d 0) (/ (- b (sqrt d)) (* 2 a)))
  345.         (t nil)
  346.   )
  347. )

  348. ;已知受压区度度求碳纤维片材截面面积
  349. (defun cx_to_area()
  350.   (setq m_mmax m_mtot)
  351.   (cond ((> c_x (* c_cbdcz c_eds));如果混凝土受压区高度大于界限受压区度度
  352.          (setq cf_a nil)
  353.          (setq m_mmax nil)
  354.          (alert "!受压区大于界限受压区高度")
  355.         )
  356.         ((> c_x (* 2 s_dstc))
  357.          (cond ((> c_x c_bdcz)
  358.                 (setq cf_ta (ta c_x c_h c_tabeg);碳纤维片材的拉应变
  359.                       cf_a (area1 c_x c_f c_b s_f s_at s_ac cf_me cf_ta);碳纤维片材截面面积
  360.                 )
  361.                )
  362.                (t (setq cf_a (area2 m_mtot c_h c_eds c_bdcz s_f s_at cf_me cf_ata)))
  363.          )
  364.         )
  365.         ((< c_x (* 2 s_dstc)) (setq cf_a (area3 m_mtot c_h c_eds s_f s_at s_dstc cf_me cf_ata)))
  366.         ((= c_x nil)
  367.          (setq cf_a nil)
  368.          (setq m_mmax nil)
  369.          (alert "!方程无解")
  370.         )
  371.   )  
  372.   (wcfa cf_a cf_n cf_t);写抗弯碳纤维片材截面面积
  373. )

  374. ;已知纤维片材截面面积求受压区度度
  375. (defun cx2 (cf_a cf_me c_f c_b c_h c_tabeg s_f s_at s_ac / a b1 b2 b c d)
  376.   (setq a (* c_f c_b)
  377.         b1 (- (* s_f s_at) (* s_f s_ac))
  378.         b2 (* (* cf_me cf_a) (+ 0.0033 c_tabeg))
  379.         b (- b1 b2)
  380.         c (* -0.8 (* (* cf_me cf_a) (* 0.0033 c_h)))
  381.         d (- (* b b) (* 4.0 (* a c)))
  382.   )
  383.   (cond ((>= d 0.0) (/ (+ b (sqrt d)) (* 2 a)))
  384.         (t nil)
  385.   )
  386. )

  387. ;已知受压区度度求构件允许弯矩设计值
  388. (defun cx_to_mon()
  389.   (cond ((> c_x (* c_cbdcz c_eds));如果混凝土受压区高度大于界限受压区度度
  390.          (alert "!受压区大于界限受压区高度")
  391.          (setq m_mmax nil)
  392.         )
  393.         ((>= c_x (* 2 s_dstc))
  394.          (cond ((> c_x c_bdcz)
  395.                 (setq cf_ta (ta c_x c_h c_tabeg);碳纤维片材的拉应变
  396.                       m_mmax (mmax1 c_f c_b c_h c_eds s_f s_at s_ac s_dstc cf_me cf_ta cf_a);碳纤维片材截面面积
  397.                 )
  398.                )
  399.                (t (setq m_mmax (mmax2 c_h c_eds c_bdcz s_f s_at cf_me cf_ata cf_a)))
  400.          )
  401.         )
  402.         ((< c_x (* 2 s_dstc)) (setq m_mmax (mmax3 c_eds s_f s_at s_dstc cf_me cf_ata cf_a)))
  403.         ((= c_x nil) (alert "!方程无解") (setq m_mmax nil))
  404.   )
  405. )

  406. ;构件允许弯矩
  407. (defun mmax1 (c_f c_b c_h c_eds s_f s_at s_ac s_dstc cf_me cf_ta cf_a / m1 m2 m3)
  408.   (setq m1 (* c_f (* c_b (* c_x (- c_h (/ c_x 2)))))
  409.         m2 (* s_f (* s_ac (- c_eds s_dstc)))
  410.         m3 (* cf_me (* cf_ta (* cf_a s_dstc)))
  411.   )
  412.   (+ m1 (+ m2 m3))
  413. )

  414. (defun mmax2 (c_h c_eds c_bdcz s_f s_at cf_me cf_ata cf_a / m1 m2)
  415.   (setq m1 (* s_f (* s_at (- c_eds (* 0.5 c_bdcz))))
  416.         m2 (* cf_me (* cf_ata (* cf_a (- c_h (* 0.5 c_bdcz)))))
  417.   )
  418.   (+ m1 m2)
  419. )

  420. (defun mmax3 (c_eds s_f s_at s_dstc cf_me cf_ata cf_a / m1 m2)
  421.   (setq m1 (* s_f (* s_at (- c_eds s_dstc)))
  422.         m2 (* cf_me (* cf_ata (* cf_a (- c_h s_dstc))))
  423.   )
  424.   (+ m1 m2)
  425. )

  426. ;碳纤维片材的拉应变
  427. (defun ta (c_x c_h c_tabeg)
  428.   (- (/ (* 0.8 (* 0.0033 c_h)) c_x) (+ 0.0033 c_tabeg))
  429. )

  430. ;碳纤维片材截面积
  431. (defun area1 (c_x c_f c_b s_f s_at s_ac cf_me cf_ta / a1 a2)
  432.   (setq a1 (- (* c_f (* c_b c_x)) (- (* s_f s_at) (* s_f s_ac)))
  433.         a2 (* cf_me cf_ta)
  434.   )
  435.   (/ a1 a2)
  436. );受拉钢筋先屈服,然后受压区混凝土压坏,此时碳纤维片材未达到其允许拉变
  437. (defun area2 (m_mtot c_h c_eds c_bdcz s_f s_at cf_me cf_ata / a1 a2)
  438.   (setq a1 (- m_mtot (* (* s_f s_at) (- c_eds (* 0.5 c_bdcz))))
  439.         a2 (* (* cf_me cf_ata) (- c_h (* 0.5 c_bdcz)))
  440.   )
  441.   (/ a1 a2)
  442. );受拉钢筋先屈服,碳纤维片材达到其允许拉变,此时受压区混凝土尚未被压坏坏

  443. (defun area3 (m_mtot c_h c_eds s_f s_at s_dstc cf_me cf_ata / a1 a2)
  444.   (setq a1 (- m_mtot (* (* s_f s_at) (- c_eds s_dstc)))
  445.         a2 (* (* cf_me cf_ata) (- c_h s_dstc))
  446.   )
  447.   (/ a1 a2)
  448. );受拉钢筋先屈服,碳纤维片材达到其允许拉变,此时受压区混凝土尚未被压坏坏

  449. ;碳纤维片材厚度折减系数
  450. (defun km (cf_n cf_me cf_t) (- 1 (/ (* (* cf_n cf_me) cf_t) 420000)))

  451. ;界限受压区度度
  452. (defun bdcz (cf_ata c_tabeg c_h)
  453.   (* (/ (* 0.8 0.0033) (+ (+ 0.0033 cf_ata) c_tabeg)) c_h)
  454. )

  455. ;抗弯碳纤维片材的允许拉应变
  456. (defun ata (cf_km cf_auta / k1 k2)
  457.   (setq k1 (/ (* 2.0 cf_auta) 3.0)
  458.         k2 (* cf_km cf_auta)
  459.   )
  460.   (min k1 k2 0.01)
  461. )

  462. ;混凝土抗压强度设计值
  463. (defun fc (c_sc)
  464.   (cond
  465.     ((>= c_sc 40) 19.1)
  466.     ((>= c_sc 35) (+ 16.7 (* 0.58 (- c_sc 35))))
  467.     ((>= c_sc 30) (+ 14.3 (* 0.48 (- c_sc 30))))
  468.     ((>= c_sc 25) (+ 11.9 (* 0.48 (- c_sc 25))))
  469.     ((>= c_sc 20) (+ 9.6 (* 0.46 (- c_sc 20))))
  470.     ((>= c_sc 15) (+ 7.2 (* 0.48 (- c_sc 15))))
  471.     ((< c_sc 15) 7.2)
  472.   )
  473. )

  474. ;混凝土抗拉强度标准值
  475. (defun ft (c_sc)
  476.   (cond
  477.     ((>= c_sc 40) 2.39)
  478.     ((>= c_sc 35) (+ 2.20 (* 0.038 (- c_sc 35))))
  479.     ((>= c_sc 30) (+ 2.01 (* 0.038 (- c_sc 30))))
  480.     ((>= c_sc 25) (+ 1.78 (* 0.046 (- c_sc 25))))
  481.     ((>= c_sc 20) (+ 1.54 (* 0.048 (- c_sc 20))))
  482.     ((>= c_sc 15) (+ 1.27 (* 0.054 (- c_sc 15))))
  483.     ((< c_sc 15) 1.27)
  484.   )
  485. )

  486. ;混凝土弹性模量
  487. (defun cme (c_sc)
  488.   (cond
  489.     ((>= c_sc 40) 3.25)
  490.     ((>= c_sc 35) (* (+ 3.15 (* 0.02 (- c_sc 35))) 10000))
  491.     ((>= c_sc 30) (* (+ 3.00 (* 0.03 (- c_sc 30))) 10000))
  492.     ((>= c_sc 25) (* (+ 2.80 (* 0.04 (- c_sc 25))) 10000))
  493.     ((>= c_sc 20) (* (+ 2.55 (* 0.05 (- c_sc 20))) 10000))
  494.     ((>= c_sc 15) (* (+ 2.20 (* 0.07 (- c_sc 15))) 10000))
  495.     ((< c_sc 15) 2.20)
  496.   )
  497. )

  498. ;钢筋弹性模量
  499. (defun sme (s_f)
  500.   (cond
  501.     ((= s_f 210) 210000.0)
  502.     (t 200000.0)
  503.   )
  504. )

  505. ;钢筋弹性模量与混凝土弹性模量的比值
  506. (defun rsc (s_me c_me) (/ s_me c_me))

  507. ;相对界限受压区高度
  508. (defun ccbdcz(s_f s_me)
  509.   (/ 1 (+ 1 (/ s_f (* s_me 0.0033))))
  510. )

  511. ;轴压比
  512. (defun racfacua(m_ntot c_f c_b c_h)
  513.   (/ m_ntot (* c_f c_b c_h))
  514. )

  515. ;抗剪碳纤维片材的允许拉应变
  516. (defun atav1 (m_rssed cf_auta)
  517.   (/ (* 2 (+ 0.2 (* 0.12 m_rssed)) cf_auta) 3.0)
  518. )

  519. (defun atav2 (m_rssed m_racfacua cf_auta)
  520.   (/ (* 2 (+ 0.2 (* -0.3 m_racfacua) (* 0.12 m_rssed)) cf_auta) 3.0)
  521. )

  522. ;构件斜截面条件
  523. (defun mqis (c_f c_b c_eds c_hw m_vtot)
  524.   (setq rhwb (/ c_hw c_b))
  525.   (cond ((<= rhwb 4)
  526.          (cond ((<= m_vtot (* 0.25 c_f c_b c_eds))
  527.                 (setq m_qis 1)
  528.                )
  529.                (t (setq m_qis 0))
  530.          )
  531.         )
  532.         ((>= rhwb 6)
  533.          (cond ((<= m_vtot (* 0.2 c_f c_b c_eds))
  534.                 (setq m_qis 1)
  535.                )
  536.                (t (setq m_qis 0))
  537.          )
  538.         )
  539.         (t ((<= m_vtot (* c_f c_b c_eds (- 0.25 (* 0.025 (- rhwb 4)))))
  540.             (setq m_qis 1)
  541.            )
  542.            (t (setq m_qis 0))
  543.         )
  544.   )
  545.   (eval m_qis)
  546. )

  547. ;腹板高度
  548. (defun chw (c_h c_htf c_hcf c_eds)
  549.   (cond ((and (/= c_htf 0) (/= c_hct 0))
  550.          (setq c_hw (- c_h c_htf c_hcf))
  551.         )
  552.         ((/= c_htf 0)
  553.          (setq c_hw (- c_eds c_hcf))
  554.         )
  555.         ((/= c_hcf 0)
  556.          (setq c_hw (- c_eds c_htf))
  557.         )
  558.         (t (setq c_hw c_eds))
  559.   )
  560. )

  561. ;抗剪碳纤维片材高度
  562. (defun cfh (c_h c_hcf c_htf)
  563.   (- c_h c_htf c_hcf)
  564. )

  565. ;混凝土受剪承载力
  566. (defun cvcs (c_t c_b c_eds s_fv s_av s_s)
  567.   (+ (* 0.7 c_t c_b c_eds) (/ (* 1.25 s_fv s_av c_eds) s_s))
  568. )

  569. ;抗剪碳纤维片材净间距
  570. (defun cfs (m_vtot c_vcs cf_vcon cf_nv cf_t cf_bv cf_atav cf_me cf_h)
  571.   (- (/ (* cf_vcon 2 cf_nv cf_bv cf_t cf_atav cf_me cf_h) (- m_vtot c_vcs)) cf_bv)
  572. )

  573. ;已知抗剪碳纤维片材净间距求构件允许剪力设计值
  574. (defun cfs_to_shear (/ v1 v2)
  575.   (cond ((= m_qis 0)         
  576.          (setq m_vmax nil)
  577.          (alert "!截面抗剪能力不足")
  578.         )
  579.         ((= m_qis 1)
  580.          (cond
  581.            ((/= cf_s 0) (setq v1 (* cf_vcon 2 cf_nv cf_bv cf_t cf_atav cf_me cf_h)
  582.                               v2 (+ cf_s cf_bv)
  583.                               cf_v (/ v1 v2)
  584.                         )
  585.            )
  586.            (t (setq cf_v 0))
  587.          )
  588.          (setq m_vmax (+ c_vcs cf_v))
  589.         )
  590.         (t (setq m_vmax nil))
  591.   )
  592. )

  593. ;已知构件剪力求抗剪碳纤维片材净间距
  594. (defun shear_to_cfs ()
  595.   (setq m_vmax m_vtot)
  596.   (cond ((= m_qis 0)
  597.          (setq cf_s nil)
  598.          (setq m_vmax nil)
  599.          (alert "!截面抗剪能力不足")
  600.         )
  601.         ((= m_qis 1)         
  602.          (cond ((< m_vtot c_vcs) (setq cf_s 0))
  603.                (t (setq cf_s (cfs m_vtot c_vcs cf_vcon cf_nv cf_t cf_bv cf_atav cf_me cf_h)))
  604.          )
  605.         )        
  606.   )  
  607.   (wcfav cf_av cf_nv cf_t);写抗剪碳纤维片材截面面积
  608. )

  609.   [/FONT]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 488个

财富等级: 日进斗金

发表于 2004-4-4 00:21:21 | 显示全部楼层
好长呀,不是本专业,就不细看了.

alwaysbin你是原作者吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 593个

财富等级: 财运亨通

发表于 2004-4-4 00:25:08 | 显示全部楼层
最好把 DCL 一并发上来,能讲解下更好了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-4 06:45:50 | 显示全部楼层
我不是搞建筑的, 说几句外行话. 用对话框输入数据, 一般适合于少量的数据.  否则对话框不但很大,  而且输入速度慢, 容易出错!?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-5 16:38:15 | 显示全部楼层
最初由 eachy 发布
[B]最好把 DCL 一并发上来,能讲解下更好了。 [/B]


好的
有谁可以帮我讲一下它的流程吗?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-9 11:18:33 | 显示全部楼层
我们是同学,有急用,高手快看看,解释一下,有流程图最好了!!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2004-4-9 15:21:06 | 显示全部楼层
或者举例解释一下函数都是什么意思[/COLOR]
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2004-4-10 20:23:23 | 显示全部楼层
哪位达人给看看把,小生在此谢过了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 05:36 , Processed in 0.417585 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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