Bonjour,
Je souhaite remplacer la valeur des paramètres partagés avec l'aide de DYNAMO. Pour par la suite, supprimer les paramètres partagés.
Malheureusement, le script PYTHON ne fonctionne pas et indique toujours une erreur...
Pouvez-vous m'aider sur ce sujet ?
Par avance merci !
Voici mon script PYTHON et mon DYNAMO.
Le titre du sujet a été modifié par un modérateur pour faciliter la recherche. Titre original:
Remplacer la valeur des paramètres partagés avec l'aide de DYNAMO
Résolu ! Accéder à la solution.
Résolu par c.poupin. Accéder à la solution.
Bonjour,
il y a plusieurs erreurs dans ton script Python
clr.AddReference("System.Core")
clr.ImportExtensions(System.Linq)
Voici un exemple de début de code
import clr
import sys
import System
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.AddReference("DSCoreNodes")
import DSCore
from DSCore import *
# Import RevitAPI
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
pf_path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.ProgramFilesX86)
sys.path.append(pf_path + '\\IronPython 2.7\\Lib')
clr.AddReference("System.Core")
clr.ImportExtensions(System.Linq)
# Récupérer la famille par son nom
family_name = "Bathtub-TOTO-Nexus-FBF794S" #"PLB_BATI-SUPPORT"
type_name = "01 Cotton"
familyType = FilteredElementCollector(doc).OfClass(FamilySymbol).FirstOrDefault(lambda f: f.FamilyName == family_name and Element.Name.GetValue(f) == type_name)
if familyType is not None:
# Récupérer le paramètre par son nom
parameter_name = "EAN code"
parameter = familyType.LookupParameter(parameter_name)
if parameter is not None and not System.String.IsNullOrEmpty(parameter.AsValueString()):
# Récupérer les valeurs actuelles du paramètre
values = parameter.AsValueString().split(",")
# reste du code
#
Cyril POUPIN
Bonjour @marie_allizan
Parmi les réponses qui vous ont été données, si une (ou plusieurs) d'entre elles apporte une solution à votre problème ou vous a permis de mieux l'analyser et le comprendre, voulez vous avoir l'amabilité de cliquer sur le bouton APPROUVER LA SOLUTION en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.
Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.