完善主體資料,免費贈送VIP會員!
      * 主體類型
      * 企業名稱
      * 信用代碼
      * 所在行業
      * 企業規模
      * 所在職位
      * 姓名
      * 所在行業
      * 學歷
      * 工作性質
      請先選擇行業
      您還可以選擇以下福利:
      行業福利,領完即止!

      下載app免費領取會員

      NULL

      ad.jpg

      二次開發教程:Revit開發獲取梁的寬和高

      發布于:2019-08-23 17:02:31

      網友投稿

      更多

      在Revit里梁的寬和高一般都會有對應的參數,要獲取大多數情況可以使用GetParameter,


      但這個參數名稱是用戶自己定義的,不同的梁對應的參數名不一樣,所以可以考慮通過梁的截面Face來獲取


                  FamilyInstance inst = doc.GetElement(uidoc.Selection.PickObject(ObjectType.Element)) as FamilyInstance;

                  Line loc = (inst.Location as LocationCurve).Curve as Line;

                  XYZ dir = loc.Direction;

                  Options opts = new Options();

                  GeometryElement gelem = inst.get_Geometry(opts);

                  foreach(GeometryObject gobj in gelem)

                  {

                      GeometryInstance gins = gobj as GeometryInstance;

                      if(gins!=null)

                      {

                          GeometryElement ge = gins.GetInstanceGeometry();

                          foreach(GeometryObject go in ge)

                          {

                              Solid solid = go as Solid;

                              if(solid!=null&& solid.Volume>0)

                              {

                                  foreach(Face face in solid.Faces)

                                  {

                                      XYZ faceDir = face.ComputeNormal(new UV());

                                      if(faceDir.IsAlmostEqualTo(dir)||faceDir.IsAlmostEqualTo(-dir))

                                      {

                                          BoundingBoxUV uvBox = face.GetBoundingBox();

                                          XYZ min = face.Evaluate(uvBox.Min);

                                          XYZ max = face.Evaluate(uvBox.Max);

                                          double h = Math.Abs(max.Z - min.Z);

                                          double l = max.DistanceTo(min);

                                          double w = Math.Sqrt(l * l - h * h);                                    

                                          MessageBox.Show("H" + Math.Round(h * 304.8).ToString() + "\n" + "W" + Math.Round(w * 304.8).ToString());

                                          break;

                                      }

                                  }

                              }

                          }

                      }

                  }

      本文版權歸腿腿教學網及原創作者所有,未經授權,謝絕轉載。

      未標題-1.jpg

      上一篇:二次開發教程:WPF 使用net 資源多語言

      下一篇:二次開發教程:Revit開發之快捷鍵相關類

      主站蜘蛛池模板: 国产一区麻豆剧传媒果冻精品| 亚洲国产日韩一区高清在线| 无码精品视频一区二区三区| 亚洲av无码一区二区三区在线播放| 一区二区三区无码被窝影院| 日韩AV无码一区二区三区不卡毛片 | 亚洲视频一区调教| 狠狠做深爱婷婷久久综合一区| 国精产品一区一区三区| 日本精品少妇一区二区三区| 精品无人区一区二区三区在线| 国产午夜精品一区二区三区嫩草 | 海角国精产品一区一区三区糖心| 国产美女精品一区二区三区| 精品伦精品一区二区三区视频 | 精品无码综合一区二区三区 | 亚洲AⅤ视频一区二区三区| 亚洲av无码一区二区三区四区 | 亚洲一区中文字幕久久| 99精品国产一区二区三区| 无码欧精品亚洲日韩一区夜夜嗨 | 影院无码人妻精品一区二区| 亚洲大尺度无码无码专线一区 | 国产一区二区三区在线看片| 另类国产精品一区二区| 亚洲欧美日韩国产精品一区| 国产成人一区二区三中文| 国产大秀视频在线一区二区 | 国模无码一区二区三区| 国产Av一区二区精品久久| 成人精品一区二区电影| 国产成人精品视频一区| 一区二区三区内射美女毛片| 亚洲性日韩精品一区二区三区| 国产精品被窝福利一区| 综合人妻久久一区二区精品| 久久精品一区二区东京热| 精品无码一区二区三区电影| 亚洲精品精华液一区二区| 制服美女视频一区| 丝袜人妻一区二区三区|