完善主體資料,免費贈送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開發之快捷鍵相關類

    主站蜘蛛池模板: 国产一区二区高清在线播放| 国产乱码精品一区二区三区麻豆 | 亚洲第一区二区快射影院| 无码少妇A片一区二区三区| 91精品一区国产高清在线| 国产一区二区三区免费看| 2020天堂中文字幕一区在线观 | 久久久av波多野一区二区| 成人午夜视频精品一区| 精品国产天堂综合一区在线| 亚洲视频一区在线观看| 久久国产精品一区二区| 久久亚洲中文字幕精品一区四| 精品国产一区在线观看| 久久精品无码一区二区三区不卡| 精品一区二区三区在线成人| 国产精品特级毛片一区二区三区 | 一区二区三区在线免费看| 国产午夜三级一区二区三| 国产不卡视频一区二区三区 | 加勒比无码一区二区三区| 色噜噜狠狠一区二区| 97精品国产一区二区三区| 成人中文字幕一区二区三区 | 久久久久人妻精品一区二区三区| 性色A码一区二区三区天美传媒 | 天堂va在线高清一区| 在线欧美精品一区二区三区| 日韩一区二区a片免费观看| 国产视频福利一区| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 一区二区三区电影网| 久久久99精品一区二区| 亚洲日韩精品一区二区三区无码| 中文字幕亚洲一区| 精品日韩亚洲AV无码一区二区三区| 激情内射亚洲一区二区三区 | 国产精品特级毛片一区二区三区| 性无码免费一区二区三区在线| 精品无码人妻一区二区免费蜜桃| 麻豆AV无码精品一区二区|