Orientation des portes (int/ext et gauche/droite)

Bonjour,

J’ai besoin de récupérer le sens d’orientation des portes dans une nomenclature parce que sans ces infos, les ouvriers galèrent sur site. Nativement, les portes ne contiennent pas ces paramètres types. Savez-vous comment les récupérer par Dynamo ou via Revit API ?

Si vous avez besoin de plus d’éclaircissements, n’hésitez pas à commenter mon post.

Merci beaucoup

Plus précisément, j’ai besoin de récupérer l’interprétation des deux symboles d’orientation dans une nomenclature : Modification de l'orientation d'une porte | Revit 2019 | Autodesk Knowledge Network
image

Problem solved :
Ajouter deux paramètres d’occurence :


Remplir les deux paramètres via l’API :

DoorHandFlipped :

import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

door = UnwrapElement(IN[0])

if door.HandFlipped == True :
	OUT = "Droite"
else :
	OUT = "Gauche"

DoorFaceFlipped :

import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

door = UnwrapElement(IN[0])

if door.FacingFlipped == True :
	OUT = "Tirant"
else :
	OUT = "Poussant"
2 J'aime

À noter que cette solution dépend de la construction de la famille :slightly_smiling_face:

4 J'aime

Bonjour,

Que faudrait 'il ajouter dans ces scripts Python pour qu’ils acceptent une liste de portes ?

1 J'aime

@jfbrigaud

un boucle et une liste si on souhaite voir le résultat en sortie:

import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

doors = UnwrapElement(IN[0])
# la liste en question
flipped = []
# la boucle
for door in doors:
     if door.HandFlipped == True :
        # l'ajout d'un texte dans la liste en fonction de la réponse booléenne à la question door.HandFlipped
        flipped.append("Droite")
else :
        flipped.append("Gauche")

# l'affichage de la liste en sortie
OUT = flipped

Bonjour @Jean_Marc ,
Merci déjà pour votre réponse. Lorsque je teste par exemple avec 4 portes, 3 seulement sont prisent en compte par le script Python!

juste un problème d’indentation dans le code, le else était mal indenté

import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *

doors = UnwrapElement(IN[0])
# la liste en question
flipped = []
# la boucle
for door in doors:
	if door.HandFlipped == True :
        # l'ajout d'un texte dans la liste en fonction de la réponse booléenne à la question door.HandFlipped
		flipped.append("Droite")
	else :
		flipped.append("Gauche")

# l'affichage de la liste en sortie
OUT = flipped
1 J'aime

Bravo @Jean_Marc , c’est bien ça.
Encore merci pour ce cours de Python.
Bien cordialement.
JF

De mémoire l’ouvrant de la porte doit être modélisé vers le haut pour que le sens de poussée récupéré par l’API soit correct. Cela impacte également IfcDoorOperationEnum.

1 J'aime