Communauté
BIM Revit, BIM et Autodesk Construction Cloud (ACC) - Français
Bienvenue sur le forum AEC francophone dédié aux solutions BIM de la société Autodesk. Cet espace est dédié aux professionnels et passionnés du secteur de l'Architecture, de l'Ingénierie et de la Construction (AEC) qui utilisent le logiciel Revit ainsi que les plateformes collaboratives d'Autodesk (ACC et Autodesk Forma). Partagez vos connaissances, posez des questions, collaborez sur des idées, et explorez les sujets, que vous soyez architecte, ingénieur, gestionnaire de projet ou tout autre acteur de l'AEC.
annuler
Affichage des résultats de 
Afficher  uniquement  | Rechercher plutôt 
Vouliez-vous dire : 

API Revit - BoundingBox

6 RÉPONSES 6
RÉSOLU
Répondre
Message 1 sur 7
lmillet3216
246 Visites, 6 Réponses

API Revit - BoundingBox

Bonjour,

 

Pour trouver les 8 sommets d'une boîte englobante d'un objet 3D, on utilise : 

 

BoundingBoxXYZ boundingBox = element.get_BoundingBox(view);
XYZ pt1 = new XYZ(boundingBox.Min.X, boundingBox.Min.Y, boundingBox.Min.Z);
XYZ pt2 = new XYZ(boundingBox.Max.X, boundingBox.Min.Y, boundingBox.Min.Z);
XYZ pt3 = new XYZ(boundingBox.Max.X, boundingBox.Max.Y, boundingBox.Min.Z);
XYZ pt4 = new XYZ(boundingBox.Min.X, boundingBox.Max.Y, boundingBox.Min.Z);
XYZ pt5 = new XYZ(boundingBox.Min.X, boundingBox.Min.Y, boundingBox.Max.Z);
XYZ pt6 = new XYZ(boundingBox.Max.X, boundingBox.Min.Y, boundingBox.Max.Z);
XYZ pt7 = new XYZ(boundingBox.Max.X, boundingBox.Max.Y, boundingBox.Max.Z);
XYZ pt8 = new XYZ(boundingBox.Min.X, boundingBox.Max.Y, boundingBox.Max.Z);

 

ainsi lorsque l'on est dans

  • une vue en plan, on utilise les points 1-2-3-4 (car 5-6-7-8 ne sont pas visibles car confondus avec les 4 premiers) pour décrire les contours de l'objet en 2D.
  • une vue en coupe tangente à l'axe x, on utilise 1-2-5-6 pour décrire les contours de l'objet en 2D.
  • une vue en coupe tangente à l'axe y, on utilise 1-4-5-8 pour décrire les contours de l'objet en 2D.

 

En revanche je suis très embêté dans le cas d'une coupe biaise, c'est à dire qui n'est ni selon l'axe x ni selon l'axe y, comment déterminer quels sont les points (sommets) les plus à l'extérieur pour décrire les contours de l'objet en 2D ?

 

Le mystère reste complet (sans doute lié à des lacunes significatives en géométrie dans l'espace et en mathématiques) 🤔

6 RÉPONSES 6
Message 2 sur 7
francis_l-haridon
en réponse à: lmillet3216

Bonsoir

 

j'ai l'impression que cela donnera :

* soit 1-3-7-5

* soit 4-2-6-8

en fonction de la direction de la coupe

 

@ plus

Message 3 sur 7
lmillet3216
en réponse à: francis_l-haridon

ISOLATION DE LA FACE.png

Oui effectivement c'est bien ces 2 combinaisons de sommets, mais comment savoir informatiquement dans quelle orientation on est ?

Message 4 sur 7

Bonjour,

As-tu essayé de le faire avec "PointOnPlane" ? 

PointOnPlane NewPointOnPlane(
	Document doc,
	Reference planeReference,
	XYZ position,
	XYZ xvec
)

 Avec:

planeReference = plane de la vue

position = points max ou min

xvec = xvec du plane

Message 5 sur 7
Charles.Piro
en réponse à: lmillet3216

Salut,

 

pour ton cas, il faut déjà dissocier les points en 2 listes :

- ceux qui sont au Z max

- ceux qui sont au Z min

 

Cela te fais 2 listes de 4 points. Ensuite tu peux projeter les points sur ton plan (plan de la vue) avec la méthode : "Project" : https://www.revitapidocs.com/2020/4bee3e30-74fa-3103-c2f4-d07618fbcedf.htm 

 

Une fois tous tes points points projeté, il faut calculer/trouver les 2 points les plus éloignés, ainsi tu aura tes sommets !

 

Hésite pas à mettre un bout de code si tu bloque sur certaines étapes. 😉



PIRO Charles
Developer

PIRO CIE
Linkedin


Message 6 sur 7
patrick.emin
en réponse à: lmillet3216

Bonjour @lmillet3216 

La communauté a essayé de répondre à votre question. Si vous pensez qu'une ou plusieurs de ces réponses vous aident, voulez vous avoir l'amabilité de cliquer sur le bouton  APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.
Si nos équipes de support technique ont pu vous apporter une solution ou contribuer significativement à vous aider en dehors de ce forum, pouvez vous partager ici la solution trouvée et cliquer sur le bouton  APPROUVER LA SOLUTION  de façon qu'elle bénéficie à la communauté?
Merci.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or
Message 7 sur 7
patrick.emin
en réponse à: lmillet3216

Bonjour @lmillet3216 

Merci d’avoir participé à notre communauté ! Vos questions et leurs réponses aident tout le monde. Si des réponses vous paraissent appropriées, voulez vous avoir l'amabilité de cliquer sur le bouton  APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Merci de ne pas accepter comme solution le message que vous êtes en train de lire.


Patrick Emin animateur de la communauté francophone


Vous avez trouvé un message utile? Alors donnez un "J'aime" à ce message!
Votre question a eu une réponse satisfaisante? Voulez vous avoir l'amabilité de cliquer sur le bouton
 APPROUVER LA SOLUTION  en bas de la réponse qui apporte une solution?
Signez notre Livre d'Or

Vous n'avez pas trouvé ce que vous recherchiez ? Posez une question à la communauté ou partagez vos connaissances.

Publier dans les forums  

Autodesk Design & Make Report