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;
}