乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 80|回复: 5

如何求屋面膜的面积

[复制链接]

1

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
5
发表于 2015-10-27 17:00:00 | 显示全部楼层 |阅读模式
本人手上有一工程结算,在计算屋面膜面积时犯了难一直求不出来(结构如下图、手上有CAD)。所以请教各位大神,在此先谢过了。

smcxgxys3nx.png

smcxgxys3nx.png

该贴已经同步到 我爱欧洲杯123的微博

a30ry3qinop.jpg

a30ry3qinop.jpg


kub1551kcxh.jpg

kub1551kcxh.jpg


cu2sivnfnts.jpg

cu2sivnfnts.jpg


x2xcr2wmbge.jpg

x2xcr2wmbge.jpg

回复

使用道具 举报

2

主题

34

帖子

9

银币

初来乍到

Rank: 1

铜币
42
发表于 2015-10-30 20:49:00 | 显示全部楼层
根据图面三角网计算表面积 论坛测量测绘
回复

使用道具 举报

16

主题

222

帖子

8

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
286
发表于 2015-11-3 08:04:00 | 显示全部楼层
用犀牛插件grasshopper中的area电池,应该能很好解决楼主的问题
回复

使用道具 举报

16

主题

909

帖子

8

银币

中流砥柱

Rank: 25

铜币
973
发表于 2017-9-20 12:51:00 | 显示全部楼层
把膜炸开成3DFace,再用下面的程序得出
;;;Calculate the total area of all selected 3DFaces
(defun C:FArea
       (/ farea parea ss idx cpt1 cpt2 cpt3 cpt4 a1 b1 c1 a2 b2 c2)
  (if (setq ss (ssget '((0 . "3DFACE"))))
    (progn
      (setq idx        0
            farea 0
      )
      (repeat (sslength ss)
        (setq ent (entget (ssname ss idx)))
        (setq cpt1 (dxf 10 ent)
              cpt2 (dxf 11 ent)
              cpt3 (dxf 12 ent)
              cpt4 (dxf 13 ent)
        )
        (setq a1 (distance cpt1 cpt2)
              b1 (distance cpt1 cpt3)
              c1 (distance cpt2 cpt3)
              a2 (distance cpt1 cpt4)
              b2 (distance cpt1 cpt3)
              c2 (distance cpt3 cpt4)
        )
        (setq farea
               (+
                 farea
                 (/ (sqrt (ABS (- (expt        (+ (expt a1 2)
                                           (expt b1 2)
                                           (expt c1 2)
                                        )
                                        2
                                  )
                                  (* 2 (+ (expt a1 4) (expt b1 4) (expt c1 4)))
                               )
                          )
                    )
                    4.0
                 )
                 (/ (sqrt (ABS (- (expt        (+ (expt a2 2)
                                           (expt b2 2)
                                           (expt c2 2)
                                        )
                                        2
                                  )
                                  (* 2 (+ (expt a2 4) (expt b2 4) (expt c2 4)))
                               )
                          )
                    )
                    4.0
                 )
               )
        )
        (setq idx (1+ idx))
      )                                        ; repeat
      (setq idx        0
            parea 0
      )
      (repeat (sslength ss)
        (setq ent (entget (ssname ss idx)))
        (setq cpt1 (flatten (dxf 10 ent))
              cpt2 (flatten (dxf 11 ent))
              cpt3 (flatten (dxf 12 ent))
              cpt4 (flatten (dxf 13 ent))
        )
        (setq a1 (distance cpt1 cpt2)
              b1 (distance cpt1 cpt3)
              c1 (distance cpt2 cpt3)
              a2 (distance cpt1 cpt4)
              b2 (distance cpt1 cpt3)
              c2 (distance cpt3 cpt4)
        )
        (setq parea
               (+
                 parea
                 (/ (sqrt (ABS (- (expt        (+ (expt a1 2)
                                           (expt b1 2)
                                           (expt c1 2)
                                        )
                                        2
                                  )
                                  (* 2 (+ (expt a1 4) (expt b1 4) (expt c1 4)))
                               )
                          )
                    )
                    4.0
                 )
                 (/ (sqrt (ABS (- (expt        (+ (expt a2 2)
                                           (expt b2 2)
                                           (expt c2 2)
                                        )
                                        2
                                  )
                                  (* 2 (+ (expt a2 4) (expt b2 4) (expt c2 4)))
                               )
                          )
                    )
                    4.0
                 )
               )
        )
        (setq idx (1+ idx))
      )                                        ; repeat
      (alert (strcat "\nSurface Area:  "
                     (rtos farea 1 3)
                     " unit sq."
                     "\nPlan Area:     "
                     (rtos parea 1 3)
                     " unit sq."
             )
      )
    )                                        ;progn
  )                                        ; if
  (princ)
)                                        ;end defun
(defun Flatten (pt)
  (list (car pt) (cadr pt) 0)
)
回复

使用道具 举报

15

主题

644

帖子

20

银币

中流砥柱

Rank: 25

铜币
698
发表于 2017-10-27 14:18:00 | 显示全部楼层
感谢 alin 分享程序!!!!
回复

使用道具 举报

10

主题

38

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
78
发表于 2022-3-6 15:02:00 | 显示全部楼层

CAD拉伸的三维实体炸开后无法测量?如何让炸开的面是3DFACE?
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 11:22 , Processed in 0.601015 second(s), 67 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表