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

    主站蜘蛛池模板: 97久久精品无码一区二区天美 | 国产爆乳无码一区二区麻豆| 国产成人精品无码一区二区| 成人精品一区二区不卡视频| 中文字幕一区二区三区在线观看 | 亚洲熟妇无码一区二区三区| 亚洲国产综合无码一区二区二三区| 亚洲国产欧美一区二区三区| 无码囯产精品一区二区免费| 91久久精一区二区三区大全| 一区二区三区电影网| 精品国产一区AV天美传媒| 国产一区二区精品久久岳| 动漫精品第一区二区三区| 在线播放精品一区二区啪视频| 农村乱人伦一区二区| 亚洲综合一区二区精品导航| 久久精品道一区二区三区| 亚洲毛片αv无线播放一区| 中文字幕日韩一区二区三区不| 一区二区不卡视频在线观看 | 国产精品第一区揄拍| 日韩免费无码视频一区二区三区 | 日本精品夜色视频一区二区| 韩国精品一区二区三区无码视频 | 色妞AV永久一区二区国产AV| 国产精品区AV一区二区| 亚洲国产av一区二区三区| 亚洲国产av一区二区三区| 无码精品人妻一区| 香蕉视频一区二区| 亚洲福利视频一区| 亚拍精品一区二区三区| 国产美女在线一区二区三区| 一区二区三区无码被窝影院| 国产精品伦子一区二区三区| 精品亚洲一区二区三区在线播放| 国产一区二区三区夜色| 一区二区视频在线| 爱爱帝国亚洲一区二区三区| www一区二区www免费|