完善主體資料,免費贈送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亚洲一区2区| 国产成人久久精品区一区二区| 精品国产一区二区三区| 精品无码国产一区二区三区51安 | 91精品国产一区| 久久99国产一区二区三区| 成人免费视频一区二区三区| 国产一区二区三区高清在线观看| 男人的天堂亚洲一区二区三区| 亚洲一本一道一区二区三区| 无码av免费一区二区三区试看| 久久99精品波多结衣一区| 国产一区二区不卡在线播放| 一区二区三区无码高清视频| 国产精品视频一区| 一区二区三区高清| 亚洲视频一区在线播放| 99久久精品国产高清一区二区 | 精品中文字幕一区二区三区四区| 精品国产AV无码一区二区三区 | 一区二区三区免费精品视频 | 熟妇人妻AV无码一区二区三区| 中文字幕在线观看一区二区| 精品视频一区在线观看| 精品女同一区二区三区在线| 日韩精品国产一区| 国产av一区最新精品| 国产av一区最新精品| 色精品一区二区三区| 国产免费伦精品一区二区三区| 国产精品自在拍一区二区不卡| 国产福利电影一区二区三区,亚洲国模精品一区 | 51视频国产精品一区二区| 国产高清一区二区三区视频| 欧洲精品一区二区三区在线观看 | 精品国产伦一区二区三区在线观看| 中文字幕AV一区中文字幕天堂 | 精品一区二区高清在线观看| 日本一区二区三区在线看 | 亚洲.国产.欧美一区二区三区| 天美传媒一区二区三区|