Génial ça fonctionne !
Désolé pour le mauvais placement, au début, les classes me sont inconnues ça n'existe pas en VBA.
J'ai dû corriger le code, il y à du avoir un léger soucis dans ton copier/coller ; genre ça : (BuiltInCategory.OST_RevisionC louds) ; et ça me sortait 6 erreurs .
Je colle ici le code qui fonctionne chez moi, si ça peux servir à d'autres :
Code:
/*
* Created by SharpDevelop.
* User: Neoris
* Date: 15/10/2014
* Time: 15:57
*
* To change this template use Tools | Options | Coding | Edit Standard Headers.
*/
using System;
using Autodesk.Revit.UI;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using System.Diagnostics;
using System.Text;
namespace Nuages
{
[Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
[Autodesk.Revit.DB.Macros.AddInId("EF1E3559-61AC-46FA-B4B6-47E7440AAA89")]
public partial class ThisApplication
{
private void Module_Startup(object sender, EventArgs e)
{
}
private void Module_Shutdown(object sender, EventArgs e)
{
}
#region Revit Macros generated code
private void InternalStartup()
{
this.Startup += new System.EventHandler(Module_Startup);
this.Shutdown += new System.EventHandler(Module_Shutdown);
}
#endregion
public void RevisionTxt()
{
Document doc = this.ActiveUIDocument.Document;
UIDocument uidoc = new UIDocument(doc);
string folderName = @"C:\\temp_rvt";
string filename = Path.Combine(folderName,"revisions.csv");
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.OfCategory(BuiltInCategory.OST_RevisionClouds).WhereElementIsNotElementType().ToElements();
if(File.Exists(filename)){
File.Delete(filename);
}
if(collector.Count() > 0){
System.IO.Directory.CreateDirectory(folderName);
using(StreamWriter writer = new StreamWriter(filename,false,Encoding.UTF8)){
foreach (Element e in collector) {
Parameter commentaire = e.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS);
View vp = doc.GetElement(e.OwnerViewId) as View;
writer.WriteLine( vp.Name+";"+ e.Name+";"+commentaire.AsString());
}
}
Process.Start(filename);
}else{
TaskDialog.Show("Message","Il n'y a pas de nuages de révisions dans le projet actif");
}
}
}
}
En tout cas, merci pour le partage, ça va m'être très utile