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

    主站蜘蛛池模板: 亚洲欧洲∨国产一区二区三区| 欧洲精品码一区二区三区免费看| 极品人妻少妇一区二区三区| 久热国产精品视频一区二区三区| | 精品国产免费一区二区三区| 久久综合亚洲色一区二区三区| www一区二区三区| 精品国产一区二区三区不卡| 高清一区二区三区日本久| 无码人妻精品一区二区蜜桃AV| 国产精品香蕉在线一区| 无码国产精品一区二区免费式芒果| 国产在线观看一区二区三区| 伊人久久大香线蕉AV一区二区| 国产麻豆精品一区二区三区v视界| 国产无码一区二区在线| 一区二区三区四区在线视频 | 在线播放精品一区二区啪视频| 熟妇人妻AV无码一区二区三区| 国产成人一区二区三区在线| 国产精品成人国产乱一区| 日本精品一区二区三区四区| 国产成人一区二区在线不卡| 欧洲亚洲综合一区二区三区| 成人丝袜激情一区二区| 制服美女视频一区| 日本精品一区二区三区四区| 精品国产高清自在线一区二区三区 | 国产精品亚洲专一区二区三区| 亚洲av色香蕉一区二区三区| 毛片一区二区三区无码| 久久青青草原一区二区| 国产精品无码一区二区三区在| 在线视频精品一区| 视频一区二区中文字幕| 在线精品国产一区二区三区| 消息称老熟妇乱视频一区二区| 蜜臀Av午夜一区二区三区| 亚洲综合无码一区二区痴汉| 午夜一区二区在线观看|