1 Attachment(s)
Dynamo - Appliquer automatiquement un paramètre d'un volume à ses sols de volumes
Bonjour à tous,
Dans Revit, j'ai créé un paramètre partagé que j'ai appliqué aux volumes et aux sols de volumes.
Je voudrais que Dynamo:
1- récupère le paramètre que je renseigne dans mon volume
2- le transfert automatiquement vers le paramètre de tous les sols du volume en question.
J'ai réussi à faire la partie 1 mais la partie 2 ne me satisfait pas car elle diffuse le paramètre à l'ensemble des sols de volumes du fichier!
Je n'arrive pas à trouver comment ne selectionner que les sols du volume en question et pas ceux des autres volumes du fichier.
Merci d'avance
Eric
1 Attachment(s)
Re: Dynamo - Appliquer automatiquement un paramètre d'un volume à ses sols de volumes
il est nécessaire de trouver un lien entre le sol de volume et le volume. C'est une fonction qui existe dans l'API mais pas dans Dynamo "de base".
http://forums.augi.com/attachment.ph...id=99674&stc=1
voici le code du bloc Python.
#python nodes in dynamo 0.7
#proposed by Julien Benoit @jbenoit44
#http://aecuandme.wordpress.com/
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
# Import geometry conversion extension methods
clr.ImportExtensions(Revit.GeometryConversion)
# Import DocumentManager and TransactionManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from System.Collections.Generic import *
# Import RevitAPI
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
#The inputs to this node will be stored as a list in the IN variable.
MLD=[]
for i in IN[0]:MLD.append(UnwrapElement(i))
Mass=[]
for i in MLD:Mass.append(doc.GetElement(i.OwningMassId).ToDSType(False))
#Assign your output to the OUT variable
OUT = Mass
bon courage