Autodesk.Revit.Creation.Document m_docCreator; // buffer of API object #endregion Fields #region Constructors /// <summary> /// constructor /// </summary> /// <param name="data">data necessary to initialize object</param> public FrameBuilder(FrameData data) { // initialize members if (null == data) { throw new ArgumentNullException("data", "constructor FrameBuilder(FrameData data)'s parameter shouldn't be null "); } m_data = data; m_appCreator = data.CommandData.Application.Application.Create; m_docCreator = data.CommandData.Application.ActiveUIDocument.Document.Create; }
/// <summary> /// create FramingData object. applicationException will throw out, /// if current Revit document doesn't satisfy the condition to create framing /// </summary> /// <param name="commandData"></param> /// <returns></returns> public static FrameData CreateInstance(ExternalCommandData commandData) { FrameData data = new FrameData(commandData); data.Initialize(); data.Validate(); // initialize members after checking precondition data.m_floorNumber = (data.m_levels.Count - 1) > 0 ? (data.m_levels.Count - 1) : 1; data.m_columnSymbol = data.m_columnSymbolsMgr.FramingSymbols[0]; data.m_beamSymbol = data.m_beambracesSymbolsMgr.FramingSymbols[0]; data.m_braceSymbol = data.m_beambracesSymbolsMgr.FramingSymbols[0]; data.m_levelHeight = data.m_levels.Values[data.m_levels.Count - 1].Elevation - data.m_levels.Values[data.m_levels.Count - 2].Elevation; return data; }
private FrameData m_frameData; // necessary data to create framing #endregion Fields #region Constructors /// <summary> /// constructor /// </summary> /// <param name="data">necessary data to create</param> public CreateFrameForm(FrameData data) { InitializeComponent(); m_frameData = data; }