Bitbybit Docs
    Preparing search index...

    Class OCCTBrepGraph

    Requêtes structurelles sur une forme OpenCascade vue comme un graphe : quelles faces se touchent, à quelles faces une arête appartient, quelles arêtes se rencontrent à un sommet, quelle surface ou courbe soutient chaque face ou arête, comment les coques et solides se contiennent, et l'arbre des produits et occurrences d'un assemblage. Chaque requête renvoie des données simples avec ok et un message d'erreur plutôt que de lever une exception, de sorte qu'un lot de requêtes peut rapporter des échecs par élément ; reconstruct retransforme un nœud de ces données en une vraie sous-forme.

    Index

    Constructors

    assembly

    • Lit la structure d'assemblage d'une forme en produits et occurrences : un produit est une pièce ou un sous-assemblage défini une fois, une occurrence est un placement de celui-ci avec une matrice et un parent.

      C'est ce que l'import d'assemblage STEP produit et ce qu'une vue en arbre parcourt ; une forme simple ne rapporte aucun produit.

      Parameters

      Returns Promise<BRepGraphAssemblyResult>

      Les produits racines, tous les produits et toutes les occurrences

      const tree = await bitbybit.occt.brepGraph.assembly({ shape: imported });
      console.log(tree.products.length, tree.occurrences.length);

    geometry

    • Décrit la géométrie de chaque face : le type de surface sur laquelle elle se trouve, ses limites UV, si elle porte une triangulation, et un id unique.

      Les faces sont numérotées à partir de 0 dans l'ordre que shapes.face.getFaces utilise.

      Parameters

      Returns Promise<BRepGraphFaceInfoResult>

      Une entrée de géométrie par face

      const faces = await bitbybit.occt.brepGraph.faceInfo({ shape: cylinder });
      console.log(faces.faces.map(f => f.surfaceType));
    • Décrit la géométrie de chaque arête : le type de courbe qu'elle suit, sa plage de paramètres, sa continuité et un id unique.

      Les arêtes sont numérotées à partir de 0 dans l'ordre où shapes.edge.getEdges les liste.

      Parameters

      Returns Promise<BRepGraphEdgeInfoResult>

      Une entrée de géométrie par arête

      const edges = await bitbybit.occt.brepGraph.edgeInfo({ shape: cylinder });
      

    navigate

    • Retransforme un nœud du graphe, donné par son type et son index, en la vraie sous-forme qu'il représente, pour qu'une face ou une arête trouvée par une requête puisse être utilisée dans une opération.

      Les index sont ceux que les résultats de requête utilisent, comptés à partir de 0 par type.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La sous-forme

      const face = await bitbybit.occt.brepGraph.reconstruct({ shape: box, kind: Bit.Inputs.OCCT.brepGraphNodeKindEnum.face, index: 2 });
      
    • Trouve le nœud du graphe qui représente une sous-forme donnée d'une forme : son type, son index et son id unique.

      L'inverse de reconstruct ; une sous-forme qui n'appartient pas à la forme donne un résultat marqué invalide.

      Parameters

      Returns Promise<BRepGraphNodeLookup>

      Le type, l'index et l'id du nœud, ou un résultat invalide

      const faces = await bitbybit.occt.shapes.face.getFaces({ shape: box });
      const node = await bitbybit.occt.brepGraph.nodeOfShape({ shape: box, subShape: faces[0] });
      console.log(node.kind, node.index);

    topology

    • Compte de quoi une forme est faite : solides, coques, faces, fils, arêtes, co-arêtes et sommets, les surfaces et courbes distinctes derrière eux, et les éventuels produits et occurrences d'assemblage.

      Le moyen le plus rapide de voir ce qu'un fichier importé contient, et de distinguer un solide d'un composé qui n'en a que l'air.

      Parameters

      Returns Promise<BRepGraphAnalysis>

      Les décomptes et les métadonnées du graphe

      const census = await bitbybit.occt.brepGraph.analyze({ shape: imported });
      console.log(census.solids, census.faces);
    • Liste, pour chaque face, les faces qui partagent une arête avec elle, avec ses arêtes, son nombre de fils et son fil extérieur.

      Les faces sont numérotées à partir de 0 dans l'ordre où le noyau parcourt la forme, le même ordre que shapes.face.getFaces utilise. C'est la brique de base pour étendre une sélection à partir d'une face de départ ou trouver les faces d'une poche.

      Parameters

      Returns Promise<BRepGraphFaceAdjacencyResult>

      Une entrée d'adjacence par face

      const adjacency = await bitbybit.occt.brepGraph.faceAdjacency({ shape: box });
      console.log(adjacency.faces[0].adjacent);
    • Liste, pour chaque arête, les faces auxquelles elle appartient, ses sommets d'extrémité et ses indicateurs de topologie, tels que si c'est une couture ou une arête de bord.

      Les arêtes sont numérotées à partir de 0 dans l'ordre où shapes.edge.getEdges les liste.

      Parameters

      Returns Promise<BRepGraphEdgeFaceMapResult>

      Une entrée par arête

      const edges = await bitbybit.occt.brepGraph.edgeFaceMap({ shape: box });
      
    • Cartographie les parties de la forme vers le haut : à quelles coques chaque face appartient, à quels solides chaque coque appartient, et dans quels solides chaque face finit.

      Chaque liste contient les index des parents d'un enfant, une face partagée par deux solides liste donc les deux.

      Parameters

      Returns Promise<BRepGraphContainmentResult>

      Les index des parents par face et par coque

      const containment = await bitbybit.occt.brepGraph.containment({ shape: compound });
      
    • Décrit chaque fil : s'il est fermé, s'il est le bord extérieur de sa face, combien de co-arêtes et d'arêtes distinctes il a et quelle face le possède.

      Parameters

      Returns Promise<BRepGraphWireInfoResult>

      Une entrée par fil

      const wires = await bitbybit.occt.brepGraph.wireInfo({ shape: plateWithHoles });
      
    • Déverse toute la structure d'une forme : chaque solide, coque, face, arête et sommet avec son id unique et les parties directement en dessous.

      La requête la plus lourde d'ici, pour raisonner sur toute la topologie à la fois plutôt que répondre à une seule question.

      Parameters

      Returns Promise<BRepGraphDumpResult>

      Les solides, coques, faces, arêtes et sommets avec leurs références

      const structure = await bitbybit.occt.brepGraph.dump({ shape: box });
      console.log(structure.faces.length, structure.edges.length);

    validation

    • Vérifie la structure du graphe d'une forme à la recherche de problèmes tels que des références pendantes ou des liens incohérents, et liste chaque problème trouvé avec sa gravité.

      Ceci vérifie la comptabilité, pas la géométrie ; shapes.shape.isValid et shapeFix.basicShapeRepair traitent la validité géométrique.

      Parameters

      Returns Promise<BRepGraphValidationResult>

      Si le graphe est sain et les problèmes trouvés

      const report = await bitbybit.occt.brepGraph.validate({ shape: imported });
      console.log(report.valid, report.issues);