- Marquer comme nouveau
- Marquer
- S'abonner
- Sourdine
- S'abonner au fil RSS
- Lien permanent
- Imprimer
- Signaler
Bonjour,
Pour un dynamo, je souhaite créer des filtres dans des nomenclatures.
En utilisant les nœuds de base, pas de problème pour des filtres contenants du texte ou une valeur, par contre impossible de faire un filtre sur un champ "Oui/Non". J'ai essayé avec 0/1, "0"/"1", "Oui"/"Non", "Yes"/"No", un nœud boolean, rien y fait !, le nœud fait une erreur
Du coup je tente en python mais je n' y connait rien et j'ai récupéré ce script qui permet d'appliquer un filtre à une nomenclature.
Le script marche, mais que sur la première nomenclature et pas sur les autres. Il n'y a pas de message d'erreur, ça ce termine correctement mais les nomenclatures n'ont pas le filtre (sauf la première).
Savez-vous pourquoi le script ci-dessous n'applique pas le filtre à toute les nomenclatures ?
import clr
clr.AddReference("ProtoGeometry")
from Autodesk.DesignScript.Geometry import *
# Dynamo Example
import clr
clr.AddReference("RevitAPI")
clr.AddReference("RevitAPIUI")
from Autodesk.Revit.DB import *
from Autodesk.Revit.UI import *
# RevitServices
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
# doc and uiapp
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
Views = IN[0]
FieldId = IN[1]
Value = IN[2]
Filters = list()
for Id in FieldId:
F = ScheduleFilter(ScheduleFieldId(Id),ScheduleFilterType.Equal,Value)
Filters.append(F)
TransactionManager.Instance.EnsureInTransaction(doc)
for View,Filter in zip(Views,Filters):
(UnwrapElement(View).Definition).InsertFilter(Filter,0)
TransactionManager.Instance.TransactionTaskDone()
OUT = IN[0]
Merci
Résolu ! Accéder à la solution.