Bonjour à tous,
J’essaye d’associer à chaque vue 3D un gabarit différents, j’ai essayé avec un script python mais étant débutante je bloque assez rapidement. Avez vous une idée ??

Merci de votre aide
Pauline
Bonjour à tous,
J’essaye d’associer à chaque vue 3D un gabarit différents, j’ai essayé avec un script python mais étant débutante je bloque assez rapidement. Avez vous une idée ??
Merci de votre aide
Pauline
Bonjour,
Connecte dans le IN[0] les vues 3D et dans le IN[1] les gabarits de vues (Ce qui sort du noeud View CreateViewTemplate).
Bonne journée
Bha c’est ce que j’ai fait là non ?
IN[0] est relier à mes vues donc là au nœud View.SetDiscipline et IN[1] est relier au nœud List.Flatten car après le nœud View CreateViewTemplaye je modifie juste leur nom.
Quelle est l’erreur dans le noeud python?
Erreur du nœud Python :
Avertissement:IronPythonEvaluator.EvaluateIronPythonScript l’opération a échoué.
Traceback (most recent call last):
** File « », line 14, in **
AttributeError: ‹ AxonometricView › object has no attribute 'ViewTemplateId’
Il te manque un UnwrapElement et une transaction pour faire les modifs
Je n’ai jamais si à quoi ça servait le Unwrap mais je suis sûr que d’autre ici vont répondre à cette question.
Le transaction permet d’autoriser des modifications du modèle.
Voilà le code:
import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
TransactionManager.Instance.EnsureInTransaction(doc)
view = UnwrapElement(IN[0])
viewtemplate = IN[1]
j=0
for i in view:
i.ViewTemplateId = ElementId(viewtemplate[j].Id)
j=j+1
TransactionManager.Instance.TransactionTaskDone()
OUT = view
Merci beaucoup, ça fonctionne très bien.