public Result Execute( ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication app = commandData.Application; Document doc = app.ActiveUIDocument.Document; // retrieve all sheets FilteredElementCollector a = new FilteredElementCollector( doc ); a.OfCategory( BuiltInCategory.OST_Sheets ); a.OfClass( typeof( ViewSheet ) ); // create a collection of all relevant data List<SheetData> data = new List<SheetData>(); foreach( ViewSheet v in a ) { // create some data for each sheet and add // to some serializable collection called Data SheetData item = new SheetData( v ); data.Add( item ); } // write out data collection to xml XmlTextWriter w = new XmlTextWriter( "C:/SheetData.xml", null ); w.Formatting = Formatting.Indented; w.WriteStartDocument(); w.WriteComment( string.Format( " SheetData from {0} on {1} by Jeremy ", doc.PathName, DateTime.Now ) ); w.WriteStartElement( "ViewSheets" ); foreach( SheetData item in data ) { w.WriteStartElement( "ViewSheet" ); w.WriteElementString( "IsPlaceholder", item.IsPlaceholder.ToString() ); w.WriteElementString( "Name", item.Name ); w.WriteElementString( "SheetNumber", item.SheetNumber ); w.WriteEndElement(); } w.WriteEndElement(); w.WriteEndDocument(); w.Close(); return Result.Succeeded; }
public Result Execute( ExternalCommandData commandData, ref string message, ElementSet elements) { UIApplication app = commandData.Application; Document doc = app.ActiveUIDocument.Document; // retrieve all sheets FilteredElementCollector a = new FilteredElementCollector(doc); a.OfCategory(BuiltInCategory.OST_Sheets); a.OfClass(typeof(ViewSheet)); // create a collection of all relevant data List <SheetData> data = new List <SheetData>(); foreach (ViewSheet v in a) { // create some data for each sheet and add // to some serializable collection called Data SheetData item = new SheetData(v); data.Add(item); } // write out data collection to xml XmlTextWriter w = new XmlTextWriter( "C:/SheetData.xml", null); w.Formatting = Formatting.Indented; w.WriteStartDocument(); w.WriteComment(string.Format( " SheetData from {0} on {1} by Jeremy ", doc.PathName, DateTime.Now)); w.WriteStartElement("ViewSheets"); foreach (SheetData item in data) { w.WriteStartElement("ViewSheet"); w.WriteElementString("IsPlaceholder", item.IsPlaceholder.ToString()); w.WriteElementString("Name", item.Name); w.WriteElementString("SheetNumber", item.SheetNumber); w.WriteEndElement(); } w.WriteEndElement(); w.WriteEndDocument(); w.Close(); return(Result.Succeeded); }