Problème pour lire ou écrire la valeur d'un paramètre partagé de type Nombre

Bonjour,

J’ai un problème dans l’un de mes scripts quand j’essaye de lire ou d’écrire la valeur d’un paramètre partagé de type nombre, j’ai le même problème pour les paramètres de type débit

Je pense que ça doit d’être le cas depuis une certaine mise à jour de revit ou dynamo (sans savoir laquelle) car c’est une chose que je faisais déjà avec d’autres scripts et qui ne marche plus à l’heure actuelle aussi. Actuellement je le fais avec Revit 2021 et dynamo 2.5.

Parametre BaseDeCalcul

Voici l’erreur :

Avertissement:Element.GetParameterValueByName l’opération a échoué.
unitType is an invalid unit type. See UnitUtils.IsValidUnitType() and UnitUtils.GetValidUnitTypes().
Parameter name: unitType

J’ai donc un paramètre partagé du nom de Base de calcul de type nombre .

Dans dynamo j’ai bien un Double d’enregistré dans le paramètre, mais l’unité est UT_Custom au lieu d’être UT-Number et pour le type il est indiqué 99 au lieu de Number.

Avez-vous déjà rencontré ce problème ?

Bonjour,

Je pense que Dynamo débloque un peu car le type 99 n’existe pas : ParameterType Enumeration

Fait un copier-coller de tes noeuds et rebranche tout, avec un peu de chance ça remarchera !

Bonne journée

1 « J'aime »

J’ai tenté de réécrire le code dans un nouveau script, mais rien ne change.

l’erreur semble être localisée au niveau du noeud GetParameterValueByName, peux-tu faire une capture d’écran de l’erreur de ce noeuds ou mieux montrer les sorties de tous les noeuds dans ta capture @Fabien034

Je soupconne que tu n’as simplement pas converti la donnée stringToNumber ou l’inverse résoudra probablement ton problème avant de passer la valeur souhaitée

image

Pour le GetParameterValueByName en entrée je mets une liste d’élément space et un string comme parametreName.
Le problème vient du UT.Custom et du type 99 qui n’existe pas, mais je ne connais pas la raison.

Surtout que c’est un code que j’utilsais déjà et qui fonctionné, mais je ne sais pas a partir de quand il s’est mis a ne plus fonctionné.

Bonjour,

Je fais un petit retour, car il semble que ce soit un bug avec Revit 2021, car sur Revit 2022 aucun problème pour exécuté le script.

cdt,

Bonjour,
Le UnitUtils Class de Revit API a une nouvelle mise à jour dans la version 2021, qui a rendu obsolètes quelques membres de cette classe.
https://www.revitapidocs.com/2021.1/09fb3758-fff0-42f1-baf7-35043f66b2ce.htm

le UnitType :
https://www.revitapidocs.com/2021.1/bbb293b0-394d-8ac4-39bc-a7c1ced7cb3d.htm

possible de déposer le script ou au moins une partie qui contient le noeud Element.GetParameterValueByName ?