59 lines
1.7 KiB
C#
59 lines
1.7 KiB
C#
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;
|
|
|
|
}
|
|
/// <summary>
|
|
/// 截面宽度
|
|
/// </summary>
|
|
private Parameter m_b;
|
|
/// <summary>
|
|
/// 截面高度
|
|
/// </summary>
|
|
private Parameter m_h;
|
|
/// <summary>
|
|
/// 关联的柱子
|
|
/// </summary>
|
|
private FamilyInstance self;
|
|
/// <summary>
|
|
/// 柱高
|
|
/// </summary>
|
|
public double L => self.GetSweptProfile().GetDrivingCurve().Length * 304.8;
|
|
/// <summary>
|
|
/// 柱截面边长/mm
|
|
/// </summary>
|
|
public string SectionB => m_b.AsValueString();
|
|
/// <summary>
|
|
/// 柱截面边长/mm
|
|
/// </summary>
|
|
public string SectionH => m_h.AsValueString();
|
|
}
|
|
}
|