Se connecter   Inscription
  jeudi 15 février 2018
  3 Replies
  4.7K Visits
  Subscribe
Bonjour à tous !


Je bloque sur un script Dynamo :(

J'ai modélisé un Sol sur REVIT. J'en ai créé un élément (Catégorie Parts de REVIT). Puis j'ai découpé cet élément en 26 sous-éléments.

Ensuite sur DYNAMO:

1) Je sélectionne les 26 faces via le nœud "Select Faces".
2) Je relie la sortie au noeud "Surface.FilterByOrientation".
3) Je récupère les courbes constituant le périmètre des faces inférieures en reliant la sortie "Horizontal Down" au noeud"Surface.PerimeterCurves" (Cf. pièce jointe: Capture 1)
4) J'obtiens 26 listes contenant les segments (Curves) périmétriques de chacun de mes 26 sous-éléments.

Mon problème:

Parmi mes 26 sous-éléments, certains contiennent des trémies (ouvertures) présentes dans le sol d'origine. Et les segments formant le contour de ces trémies sont inclus dans les segments périmétriques.

Si je prends l'exemple de la liste à l'index 0, j'obtiens une liste de 12 "curves" périmétriques. (Cf. pièce jointe: Capture 2)

Je souhaiterais supprimer les "curves" [0,5] à [0,11] pour conserver uniquement les "curves" extérieures !

La finalité étant de créer un sol via le noeud "Flor.ByOutlineTypeAndLevel", cela ne fonctionne pas si les limites que je renseigne en donnée d'entrée contiennent des "curves" intérieures...

Quelqu'un aurait une solution pour supprimer toutes les "curves" intérieures de mes 26 listes et ne garder que les curves constituant le périmètre strictement extérieur à l’élément ??

Merci pour vos réponses ! En espérant avoir été clair :D
il y a environ 4 ans
·
#8350
0
Votes
Annuler
Bonsoir,
essaies "Polycurve by joined curve" qui devrait te sortir les différents contours. Calcule leur surface et tries-les par ordre croissant. Tu devrais ainsi pouvoir éliminer les surfaces les plus petites et donc conserver le périmètre pour créer ton sol.
Attention néanmoins, pour utiliser cette technique, il m'arrive parfois que les contours ne soient pas reconnus, et ce pour des sols très simples... Impossible de comprendre pourquoi... Attention aussi à la façon dont sont modélisés les sols: si certains contours représentent d'autres sols (2 esquisses dans un même Sol), l'opération sera faussée.
il y a environ 4 ans
·
#8355
0
Votes
Annuler
Bonjour,
tu extrais toutes les curves de ta surface puis tu groupes avec le nœud "Groupe curves "" Archi lab". calcule la langueur de chaque curve puis la somme de chaque ensemble de curve. tu extrais l'index de la langueur max qui te permet d'extraire la liste des curves ext
Pour être plus clair ( voir l'exemple )
Capture.PNG
il y a environ 4 ans
·
#8387
0
Votes
Annuler
Merci à tous les deux! ;)

Finalement je m'en suis sorti avec le "Group.Curves" d'Archi lab !

Sur l'ensemble des tests que j'ai effectué: je suis seulement tombé sur une trémie récalcitrante où le sol n'a pas été créé...mais globalement cette base fonctionne sur 95% de mes projets ! :)
Cette discussion ne contient encore aucune réponse.
Soyez le premier à y répondre !