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接触式过滤的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注开发云行业资讯频道,小编每天都会为大家更新不同的知识点。

相关推荐: 如何禁止U盘拷贝电脑中的文件

这篇文章主要介绍“如何禁止U盘拷贝电脑中的文件”,在日常操作中,相信很多人在如何禁止U盘拷贝电脑中的文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何禁止U盘拷贝电脑中的文件”的 香港云主机疑惑有所帮助!接下来,请跟着小编一…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/13 21:06
下一篇 07/13 21:06

相关推荐