Je cherche à savoir comment déterminer les surfaces qui sont en contact avec rien c’et à dire avec l’air ambiant.
Merci d’avance
Je cherche à savoir comment déterminer les surfaces qui sont en contact avec rien c’et à dire avec l’air ambiant.
Bonjour,
Regardez de côté du nœud Geometry.DoesIntersect avec le nœud If.
JF
Oui effectivement mais puis je faire avec if, je n’ai pas réussi, je suis débutant dans le domaine
Bonjour,
Dans l’image si dessous je veux obtenir les surfaces en contact avec rien pour mes murs:
Le script python sert à déterminer si les intersections entre les géométries sont des bien des surfaces (le noeud Does.Intersect détecte sinon une intersection entre une face verticale et le sol sous forme d’une ligne):
# Charger les bibliothèques DesignScript et Standard Python
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Les entrées effectuées dans ce noeud sont stockées sous forme de liste dans les variables IN.
intersects = IN[0]
out=[]
for intersect in intersects:
for i in intersect:
test = False
try:
area = i.Area
test = True
break
except:
continue
out.append(test)
# Placer votre code au-dessous de cette ligne
# Affectez la sortie à la variable OUT.
OUT = out
La sortie IN est donc la surface en contact et la sortie OUT correspond aux surfaces en contact avec rien
AP
J’ai appliqué cette démarche à mon problème qui est basé sur six briques identiques que je vais devoir déplacer afin d’obtenir un nouveau calcul.
Il s’avère que les calculs ne sont pas cohérents.
Voici un autre exemple avec plusieurs briques, ici je n’ai pas considéré de briques en surplomb, mais c’est sans doute possible d’intégrer ce cas de figure.
Su mon dernier exemple:
Le Noeud Does. Intersect est en combinaison « Le plus long »
Le dernier noeud du script est une soustraction.
Après modification, cela a l’aire d’être bon. je vais encore essayer les deux autres configurations demain.
Merci pour les conseils.
J’ai enfin réussi à mettre le script Python et j’obtiens une réponse blizzard où l’on voit apparaître une face de Coté d’une brique. A votre avis pourquoi?
Merci d’avance
import sys
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
intersects = IN[0]
out=[]
for intersect in intersects:
for i in intersect:
test = False
try:
area = i.Area
test = True
break
except:
continue
out.append(test)
Hello,
Il faut que tu mettes le noeud Geometry.Intersect en combinaison vectorielle. Clique-droit dessus puis Combinaison puis vectorielle
AP
Merci pour la réponse qui fonctionne très bien.
Mais puis-je avoir la surface totale chiffrée de la géométrie en contact avec le vide ?
Avec un autre script ou avec des noeuds et lesquels?
Merci d’avance