明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1378|回复: 1

新手求助:大侠们帮忙看一下程序,多谢:)

[复制链接]
发表于 2005-11-25 19:11 | 显示全部楼层 |阅读模式

程序功能是这样的:选择平面图形,求出面积,然后键盘输入钢板厚度,程序自动算出构件的净重。

我编的程序老是出毛病,大虾们帮忙改一下,多谢了:)

(defun c:mj (/ plate wmj zuizh zhiliang tiji houdu ss1 nr en tot_area)
  (setq plate (ssget))

 
  (command "area"
    "o"
    plate
    )
  (setq wmj (getvar "area"))
  (if (setq ss1 (ssget  '((-4 . "<OR")
                         (0 . "POLYLINE")
                         (0 . "LWPOLYLINE")
                         (0 . "CIRCLE")
                         (0 . "ELLIPSE")
                         (0 . "SPLINE")
                         (0 . "REGION")
                         (-4 . "OR>")
                        )
                )
      )
    (progn
      (setq nr 0)
      (setq tot_area 0.0)
      (setq en (ssname ss1 nr))
      (while en
        (command "._area" "_O" en)
        (setq tot_area (+ tot_area (getvar "area")))
        (setq nr (1+ nr))
        (setq en (ssname ss1 nr))
      )
     
    )
  )
    (setq zuizh (- wmj tot_area))
 
    (setq houdu (getint"输入板的厚度"))
    (setq tiji (* zuizh houdu))
    (setq tiji (/ tiji 1000000000))
    (rtos tiji 2 2)
    (setq zhiliang (* 7850 tiji))
  
       
   
   
    (princ "单品净重为:")
    (princ zhiliang)

    )

发表于 2005-11-26 22:11 | 显示全部楼层
  1. (defun c:mj (/ SS wmj zuizh zhiliang tiji houdu I en tot_area)
  2. (SETVAR "CMDECHO" 0)
  3. (PRINC "\nSelect first object :")
  4. (IF (setq SS (ssget '((0 . "CIRCLE,ELLIPSE,REGION,SPLINE,*POLYLINE")))) (PROGN
  5.   (COMMAND "AREA" "O" (SSNAME SS 0))
  6.   (SETQ WMJ (GETVAR "AREA"))
  7.   (PRINC "\nSelect some object(s) to subtract :")
  8.   (IF (SETQ SS (SSGET '((0 . "CIRCLE,ELLIPSE,REGION,SPLINE,*POLYLINE")))) (PROGN
  9.    (SETQ I -1)
  10.    (REPEAT (SSLENGTH SS)
  11.     (SETQ EN (SSNAME SS (SETQ I (1+ I))) tot_area 0.0)
  12.     (command "area" "o" EN)
  13.     (setq tot_area (+ tot_area (getvar "area")))
  14.    )
  15.    (setq zuizh (- wmj tot_area))
  16.   )
  17.    (SETQ ZUIZH WMJ)
  18.   )
  19.   (SETQ houdu (GETDIST "\nInput thickness 输入板的厚度:"))
  20.   (setq tiji (* zuizh houdu)
  21.         zhiliang (* 7.85E-6 tiji))
  22. ))
  23. (PRINC "\nVolume is :") (PRINC (rtos tiji 2 3))
  24. (princ " Mass is 钢板质量为:") (princ zhiliang)
  25. (PRINC)
  26. )
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-5-17 19:08 , Processed in 0.267652 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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