完善主体资料,免费赠送VIP会员!
* 主体类型
* 企业名称
* 信用代码
* 所在行业
* 企业规模
* 所在职位
* 姓名
* 所在行业
* 学历
* 工作性质
请先选择行业
您还可以选择以下福利:
行业福利,领完即止!

下载app免费领取会员

NULL

ad.jpg

二次开发教程:Revit开发之标注创建

发布于:2019-08-23 17:21:10

网友投稿

更多

在Revit项目文件里创建标注可以用


  NewDimension


这个方法有两个重载,一个使用默认的标注类型,一个可以指定标注类型


在项目文件和在族文件能创建的标注种类是不一样的,读者可以自己研究研究


下面是一个标注墙的小例子:


            UIDocument uidoc = commandData.Application.ActiveUIDocument;

            Document doc = uidoc.Document;

            Wall wall = doc.GetElement(uidoc.Selection.PickObject(ObjectType.Element)) as Wall;

            if (wall != null)

            {

                ReferenceArray refArry = new ReferenceArray();

                Line wallLine =(wall.Location as LocationCurve).Curve as Line;

                XYZ wallDir = ((wall.Location as LocationCurve).Curve as Line).Direction;

                Options opt = new Options();

                opt.ComputeReferences = true;

                opt.DetailLevel = ViewDetailLevel.Fine;

                GeometryElement gelem = wall.get_Geometry(opt);

                foreach (GeometryObject gobj in gelem)

                {

                    if (gobj is Solid)

                    {

                        Solid solid = gobj as Solid;

                        foreach (Face face in solid.Faces)

                        {

                            if (face is PlanarFace)

                            {

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

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

                                {

                                    refArry.Append(face.Reference);

                                }

                            }

                        }

                    }

                }

                Transaction trans = new Transaction(doc, "trans");

                trans.Start();

                doc.Create.NewDimension(doc.ActiveView, wallLine, refArry);

                trans.Commit();

            }

            return Result.Succeeded;

本文版权归腿腿教学网及原创作者所有,未经授权,谢绝转载。

未标题-1.jpg

上一篇:二次开发教程:Revit开发通过API 创建族

下一篇:二次开发教程:Revit开发柱附着和分离

60acb4e0ef112.png