lundi 23 janvier 2023
  2 réponses
  1.1K vues
  Suivre cette discussion
Bonjour,

Je suis en train de réaliser une famille de porte, j'aimerais avoir le choix d'avoir un linteau ou non. Pour ce faire j'ai un paramètre d'occurrence qui se nomme "Linteau maçonnerie" que je coche lorsque j'ai un linteau. J'aimerais que l'étiquette de ma porte affiche la hauteur du linteau quand il y en a un ou "Pas de linteau" quand il n'y en a pas (le but étant d'avoir une seule étiquette et de ne chager que la porte).
Le problème est que je n'arrive pas à faire une formule "If" qui fonctionne avec du texte et des nombres ... (En pièce jointe ma formule)

Avez-vous des idées de comment résoudre mon problème ?

Merci d'avance
0
Votes
Undo
Bonjour Florian,

Tu n'as pas affiché l'erreur qui est celle ci-dessous. En effet, une chaine de caractère et une longueur ne sont pas compatibles. Impossible de convertir comme en python avec str(nombre). Te voilà confronté aux limites de Revit.
Quelqu'un proposera peut-être une bidouille, autre que deux étiquettes ou convertir la valeur via dynamo (qui lui est capable de faire cette opération très triviale).

Raphaël
0
Votes
Undo
Sauf erreur de ma part, c'est impossible avec une seule et même formule. Tu ne pourras pas "transformer" une longueur en texte dans une formule. C'est d'ailleurs dommage :p mais c'est comme ça.
Par contre une solution de contournement que j'ai utilisée plusieurs fois:
1/ Dans ta famille de porte, ne conserve que la case à cocher et la hauteur de linteau.
2/ Dans ta famille d'étiquette, fais 2 types avec chacun un libellé qui comporte une formule. L'un affiche la hauteur si c'est coché, l'autre "pas de linteau" si ce n'est pas coché, et des paramètres de visibilité qui vont bien.
Je n'ai pas de comportement plus automatique - du moins sur Revit 2022.
Au plaisir,
Thibault
There are no replies made for this post yet.
Le Cron démarre