Revit二次开发 获取模型截面线、截面轮廓

描述

获取Revit模型的截面线、横切面线、截面轮廓。

用途

用于获取模型的截面线、横切面线、截面轮廓。

实现方式

  1. 创建视图平面;
  2. 从视图平面获取轮廓线;
  3. 获取平面标高处的截面线。

效果

在这里插入图片描述

示例

    /// <summary>
    /// 截面轮廓线
    /// </summary>
    [Transaction(TransactionMode.Manual)]
    public class SectionProfileOfElement : IExternalCommand
    {
        public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
        {
            UIApplication uiapp = commandData.Application;
            UIDocument uidoc = uiapp.ActiveUIDocument;
            Document doc = uidoc.Document;

            //截面高度
            double height = 1000 / 304.8;

            Transaction tran1 = new Transaction(doc, "创建平面轮廓线");
            tran1.Start();

            //创建临时平面
            View view = CreateViewPlaneByHeight(doc, height);

            tran1.Commit();

            Transaction tran2 = new Transaction(doc, "创建平面轮廓线");
            tran2.Start();

            FilteredElementCollector collection = new FilteredElementCollector(doc, view.Id);
            Options opt = new Options() { ComputeReferences = false, IncludeNonVisibleObjects = false, View = view };

            //绘制轮廓线
            List<Curve> curves = new List<Curve>();
            foreach (Element elem in collection)
            {
                GeometryElement geo = elem.get_Geometry(opt);
                GetEdgeLines(curves, geo);
            }

            foreach (var curve in curves)
            {
                try
                {
                    CreateModeLinesInView(doc, new List<Curve> { curve }, view);
                }
                catch (Exception)
                {
                }
            }

            //删除临时创建的视图和标高
            doc.Delete(view.GenLevel.Id);

            tran2.Commit();
            return Result.Succeeded;
        }    

源码及示例文件

全部源码获取关注微信号回复 “获取模型截面线源码”

关于笔者

我是旋转De陀螺,笔者将持续分享Revit二次开发思路及入门经验,感谢点赞、关注、留言、一键三连,获取更多分享。

  • 微信公众号: BIM开发
  • QQ群: 1009105743
  • CSDN: 旋转De陀螺
  • 知乎: 旋转De陀螺
    微信公众号、QQ群
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值