在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;
}
}
}
}
}
}
最新文章
政策新闻 | 淮北市住建局承接安徽省住建厅委托建筑业企业资质行政审批公告(淮建资许〔2025〕60号) 政策新闻 | 临海市灰坑村传统村落保护项目设计方案通过专家评审 政策新闻 | 安居区会龙镇扎实开展农村房屋安全隐患排查整治 政策新闻 | 关于发布“运河区文安和韵小区前期物业服务项目变更公告”的公示公告 政策新闻 | 锦州市委常委会召开会议 政策新闻 | 《加快推动建筑领域节能降碳实施方案》解读 政策新闻 | 马鞍山地下管线综合管理信息系统(二期)初步设计报告编制项目中标(成交)结果公告 政策新闻 | 住房城乡建设部办公厅关于印发《房屋市政工程有限空间识别及施工安全作业 指南(试行)》的通知 政策新闻 | 广西住建厅关于公布2025年第29批建筑业企业资质(首次申请)审查结果的通告 政策新闻 | 呼伦贝尔市稳步推进农村牧区危房改造工作