Un petit exemple commenté de création d'un mur via l'API Revit :
public void CreateWall()
{
// On récupére le document actif.
Document document = ActiveUIDocument.Document;
// On crée une transaction. C'est nécessaire quand on doit modifier le document.
using(var tr = new Transaction(document, "Création mur")) {
// On démarre la transaction.
tr.Start();
// Pour créer notre mur, on a besoin de créer au préalable la courbe support. On
// doit donc créer une ligne droite. Pour créer cette ligne, on doit créer d'abord
// son point de départ et son point d'arrivée. On crée donc 2 objets points start et
// end.
// Comme on veut créer un mur de 4 mètres de long et que Revit travaille avec des
// pieds, on utilise la classe UnitUtils pour effectuer une conversion d'unité.
var start = new XYZ(0,0,0);
var end = new XYZ(UnitUtils.ConvertToInternalUnits(4, DisplayUnitType.DUT_METERS),
0, 0);
// On crée la ligne.
using (Line line = Line.CreateBound(start, end)) {
// On crée notre mur. On doit préciser le niveau.
// On prend le niveau associé à la vue active.
Wall.Create(document, line, ActiveUIDocument.ActiveView.GenLevel.Id, false);
}
// On valide la transaction. Si on avait rencontré une erreur, on aurait pu annuler
// la transaction pour annuler toutes les opérations qui s'étaient déroulée depuis
// le démarrage de la transaction.
// Si on ne valide pas la transaction, notre mur ne sera pas créé.
tr.Commit();
}
}
Le code est valable pour Revit 2014 et doit être exécuté sous la forme d'une macro.
![]() |
Besoin d'un développement spécifique pour Autodesk Revit ?
Développement de compléments à Revit et aux autres logiciels Autodesk (AutoCAD, Inventor, Navisworks, Vault, 3ds Max...). C#/VB/.NET, C++/ObjectARX, AutoLISP, VBA.
Maxence DELANNOY - Tél. : 06.46.40.75.66 - contact@wiip.fr
|
![]() |
Ajouter un commentaire