using Autodesk.Revit.DB; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CDM.Interop.Revit.CDMComponent { //柱定位线始终在几何中心线,仅适用垂直-截面矩形-不发生旋转的矩形混凝土柱 class CDMColumn : CDMComponent { public CDMColumn(FamilyInstance column) { self = column; base.SymbolId = column.GetTypeId(); base.EleId = column.Id; base.LevelId = column.LevelId; m_b = GetPara(column, "b"); m_h = GetPara(column, "h"); //base.Name = column.Symbol.FamilyName + "@" + column.Name; base.CDMTypeId = HcdmType.CDMColumn; Line line = column.GetSweptProfile().GetDrivingCurve() as Line; var rOrigin = line.Origin; base.Xl = (rOrigin.X - m_b.AsDouble() / 2) * 0.3048; base.Yw = rOrigin.Y * 0.3048; base.Zh = rOrigin.Z * 0.3048; } /// /// 截面宽度 /// private Parameter m_b; /// /// 截面高度 /// private Parameter m_h; /// /// 关联的柱子 /// private FamilyInstance self; /// /// 柱高 /// public double L => self.GetSweptProfile().GetDrivingCurve().Length * 304.8; /// /// 柱截面边长/mm /// public string SectionB => m_b.AsValueString(); /// /// 柱截面边长/mm /// public string SectionH => m_h.AsValueString(); } }