网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

Revit接触式过滤的方法

这篇文章主要介绍“Revit接触式过滤的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Revit接触式过滤的方法”文章能帮助大家解决问题。

安图网站建设公司创新互联,安图网站设计制作,有大型网站制作公司丰富经验。已为安图成百上千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的安图做网站的公司定做!

选出和拉伸实体有接触的柱子:

 List beam = new List();

            //根据柱子的截面来进行实体创建取得有交点的柱子

            foreach (Element bttt in fil)

            {

                FamilyInstance bb = bttt as FamilyInstance;

                double lenght = bb.Symbol.GetParameters("截面宽度")[0].AsDouble();//获得柱子的截面宽度

                beam.Add(bttt.Id);

                LocationPoint ppp = bttt.Location as LocationPoint;

                XYZ pt = ppp.Point;

                Level le = doc.GetElement(bb.LevelId) as Level;//柱子所在楼层的标高

                //从柱子的中心点减去截面宽度来形成四个点

                XYZ pt1 = new XYZ(pt.X - lenght, pt.Y - lenght, le.Elevation);

                XYZ pt2 = new XYZ(pt.X + lenght, pt.Y - lenght, le.Elevation);

                XYZ pt3 = new XYZ(pt.X + lenght, pt.Y + lenght, le.Elevation);

                XYZ pt4 = new XYZ(pt.X - lenght, pt.Y + lenght, le.Elevation);

                //把四个点连成一个曲线

                CurveLoop profile = new CurveLoop();

                profile.Append(Line.CreateBound(pt1, pt2));

                profile.Append(Line.CreateBound(pt2, pt3));

                profile.Append(Line.CreateBound(pt3, pt4));

                profile.Append(Line.CreateBound(pt4, pt1));

                //将曲线放入集合里

                List loops = new List();

                loops.Add(profile);

                //拉伸方向

                XYZ vector = new XYZ(0, 0, 1);

                //创建实体

                Solid solid = GeometryCreationUtilities.CreateExtrusionGeometry(loops, vector, 10);

                //获得本视图中和所创建实体有碰撞的实体

                FilteredElementCollector collector = new FilteredElementCollector(doc, doc.ActiveView.Id);

                ElementIntersectsSolidFilter solidFilter = new ElementIntersectsSolidFilter(solid, false);

                collector.WherePasses(solidFilter);

            }

Revit接触式过滤的方法

关于“Revit接触式过滤的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。


本文标题:Revit接触式过滤的方法
标题网址:http://bjjierui.cn/article/iiipcs.html

其他资讯