Bitbybit Docs
    Preparing search index...

    Class OCCTEdge

    Arêtes dans OpenCascade : des courbes simples entre deux sommets, droites, circulaires, elliptiques ou libres. Construisez-les à partir de points et de lignes, comme arcs, cercles et ellipses, ou comme constructions tangentes contre des cercles ; relisez-les comme points, longueurs, tangentes et centres ; et extrayez des arêtes de n'importe quelle forme. Les arêtes se joignent bout à bout en fils, que shapes.wire gère. Les paramètres le long d'une arête vont de 0 à son début à 1 à sa fin ; les angles sont en degrés.

    Index

    Constructors

    constraint

    • Trace les lignes droites depuis deux points qui touchent juste un cercle, une ligne tangente depuis chaque point.

      positionResult garde les solutions d'un côté du cercle ou toutes, et circleRemainder ajoute le morceau du cercle entre les points de contact.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Les lignes tangentes, et le morceau de cercle si demandé

      const tangents = await bitbybit.occt.shapes.edge.constraintTanLinesFromTwoPtsToCircle({
      circle,
      point1: [20, 0, 0],
      point2: [-20, 0, 0],
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainder: Bit.Inputs.OCCT.circleInclusionEnum.none,
      });
    • Trace les deux lignes droites depuis un point qui touchent juste un cercle.

      positionResult garde la solution d'un côté du cercle ou les deux, et circleRemainder ajoute le morceau du cercle entre les points de contact.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Les lignes tangentes, et le morceau de cercle si demandé

      const tangents = await bitbybit.occt.shapes.edge.constraintTanLinesFromPtToCircle({
      circle,
      point: [20, 0, 0],
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainder: Bit.Inputs.OCCT.circleInclusionEnum.none,
      });
    • Trace les lignes droites qui touchent juste deux cercles à la fois, comme une courroie autour de deux poulies.

      positionResult garde les lignes d'un côté ou toutes, et circleRemainders ajoute les morceaux extérieurs ou intérieurs des cercles entre les points de contact, ce qui complète la forme de courroie.

      Parameters

      Returns Promise<TopoDSShapePointer[]>

      Les lignes tangentes, et les morceaux de cercle si demandés

      const belt = await bitbybit.occt.shapes.edge.constraintTanLinesOnTwoCircles({
      circle1,
      circle2,
      tolerance: 1e-7,
      positionResult: Bit.Inputs.OCCT.positionResultEnum.all,
      circleRemainders: Bit.Inputs.OCCT.twoCircleInclusionEnum.outside,
      });

    debug

    • Rassemble des informations de diagnostic sur la courbe d'une arête : son type et son degré, le nombre de points de contrôle et de nœuds, si elle est rationnelle, périodique ou fermée, sa plage de paramètres et sa période, sa longueur et ses points d'extrémité.

      Parameters

      Returns Promise<EdgeDebugInfo>

      Le rapport sur la courbe de l'arête

      const info = await bitbybit.occt.shapes.edge.debugInfo({ shape: edge });
      

    extract

    • Trouve le point situé à une fraction du chemin le long d'une arête : 0 est le début, 1 la fin, 0.5 le milieu de la plage de paramètres.

      La fraction suit le paramètre propre de la courbe, qui pour une courbe libre n'est pas réparti uniformément selon la longueur ; utilisez pointOnEdgeAtLength pour une distance.

      Parameters

      Returns Promise<Point3>

      Le point sur l'arête

      const middle = await bitbybit.occt.shapes.edge.pointOnEdgeAtParam({ shape: edge, param: 0.5 });
      
    • Trouve le point à la même fraction le long de chaque arête d'une liste.

      Parameters

      Returns Promise<Point3[]>

      Un point par arête, dans le même ordre

      const middles = await bitbybit.occt.shapes.edge.pointsOnEdgesAtParam({ shapes: edges, param: 0.5 });
      
    • Transforme chaque arête d'une forme en une suite de points qui suit sa courbe d'assez près pour la dessiner, une liste par arête.

      Les réglages de déflexion disent à quel point les points épousent les arêtes courbes ; les arêtes d'un fil viennent dans leur ordre le long du fil.

      Parameters

      Returns Promise<Point3[][]>

      Une liste de points par arête

      const polylines = await bitbybit.occt.shapes.edge.edgesToPoints({
      shape: wire,
      angularDeflection: 0.1,
      curvatureDeflection: 0.1,
      minimumOfPoints: 2,
      uTolerance: 1e-9,
      minimumLength: 1e-7,
      });
    • Trouve la direction dans laquelle l'arête se dirige à une fraction du chemin le long d'elle, de 0 au début à 1 à la fin.

      Parameters

      Returns Promise<Vector3>

      La direction de la tangente

      const tangent = await bitbybit.occt.shapes.edge.tangentOnEdgeAtParam({ shape: arc, param: 0.5 });
      
    • Trouve la direction dans laquelle chaque arête d'une liste se dirige à la même fraction le long d'elle.

      Parameters

      Returns Promise<Point3[]>

      Une tangente par arête, dans le même ordre

      const tangents = await bitbybit.occt.shapes.edge.tangentsOnEdgesAtParam({ shapes: edges, param: 0.5 });
      
    • Trouve le point à une distance donnée le long d'une arête depuis son début, mesurée le long de la courbe en unités du modèle.

      Parameters

      Returns Promise<Point3>

      Le point sur l'arête

      const point = await bitbybit.occt.shapes.edge.pointOnEdgeAtLength({ shape: edge, length: 2.5 });
      
    • Trouve le point à la même distance du début le long de chaque arête d'une liste.

      Parameters

      Returns Promise<Point3[]>

      Un point par arête, dans le même ordre

      const points = await bitbybit.occt.shapes.edge.pointsOnEdgesAtLength({ shapes: edges, length: 2.5 });
      
    • Trouve la direction dans laquelle l'arête se dirige à une distance donnée le long d'elle depuis son début, mesurée le long de la courbe.

      Parameters

      Returns Promise<Vector3>

      La direction de la tangente

      const tangent = await bitbybit.occt.shapes.edge.tangentOnEdgeAtLength({ shape: arc, length: 2.5 });
      
    • Trouve la direction dans laquelle chaque arête d'une liste se dirige à la même distance de son début.

      Parameters

      Returns Promise<Vector3[]>

      Une tangente par arête, dans le même ordre

      const tangents = await bitbybit.occt.shapes.edge.tangentsOnEdgesAtLength({ shapes: edges, length: 2.5 });
      
    • Lit le point où une arête commence, dans le sens propre de l'arête.

      Parameters

      Returns Promise<Point3>

      Le point de départ

      const start = await bitbybit.occt.shapes.edge.startPointOnEdge({ shape: edge });
      
    • Lit le point de départ de chaque arête d'une liste.

      Parameters

      Returns Promise<Point3[]>

      Un point de départ par arête, dans le même ordre

      const starts = await bitbybit.occt.shapes.edge.startPointsOnEdges({ shapes: edges });
      
    • Lit le point où une arête finit, dans le sens propre de l'arête.

      Parameters

      Returns Promise<Point3>

      Le point d'arrivée

      const end = await bitbybit.occt.shapes.edge.endPointOnEdge({ shape: edge });
      
    • Lit le point d'arrivée de chaque arête d'une liste.

      Parameters

      Returns Promise<Point3[]>

      Un point d'arrivée par arête, dans le même ordre

      const ends = await bitbybit.occt.shapes.edge.endPointsOnEdges({ shapes: edges });
      
    • Place des points le long d'une arête à pas égaux de son paramètre, du début à la fin.

      nrOfDivisions pas donnent un point de plus que cela ; removeStartPoint et removeEndPoint retirent les extrémités. Sur une courbe libre, des pas de paramètre égaux ne sont pas des distances égales ; utilisez divideEdgeByEqualDistanceToPoints pour celles-ci.

      Parameters

      Returns Promise<Point3[]>

      Les points le long de l'arête, dans l'ordre

      const points = await bitbybit.occt.shapes.edge.divideEdgeByParamsToPoints({ shape: edge, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Place des points le long de chaque arête d'une liste à pas égaux de son paramètre, une liste par arête.

      Parameters

      Returns Promise<Point3[][]>

      Une liste de points par arête, dans le même ordre

      const points = await bitbybit.occt.shapes.edge.divideEdgesByParamsToPoints({ shapes: edges, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Place des points le long d'une arête à distances égales mesurées le long de sa courbe, du début à la fin.

      nrOfDivisions pas donnent un point de plus que cela ; removeStartPoint et removeEndPoint retirent les extrémités.

      Parameters

      Returns Promise<Point3[]>

      Les points le long de l'arête, dans l'ordre

      const points = await bitbybit.occt.shapes.edge.divideEdgeByEqualDistanceToPoints({ shape: edge, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Place des points le long de chaque arête d'une liste à distances égales le long de sa courbe, une liste par arête.

      Parameters

      Returns Promise<Point3[][]>

      Une liste de points par arête, dans le même ordre

      const points = await bitbybit.occt.shapes.edge.divideEdgesByEqualDistanceToPoints({ shapes: edges, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      

    from

    from base

    • Crée une arête droite à partir d'un objet ligne de la forme { start, end }.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête droite

      const edge = await bitbybit.occt.shapes.edge.fromBaseLine({ line: { start: [0, 0, 0], end: [10, 0, 0] } });
      
    • Crée une arête droite par objet ligne de la forme { start, end }.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Une arête par ligne, dans le même ordre

      const edges = await bitbybit.occt.shapes.edge.fromBaseLines({ lines: [{ start: [0, 0, 0], end: [10, 0, 0] }, { start: [10, 0, 0], end: [10, 10, 0] }] });
      
    • Crée une arête droite à partir d'un segment, une paire de points [start, end].

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête droite

      const edge = await bitbybit.occt.shapes.edge.fromBaseSegment({ segment: [[0, 0, 0], [10, 0, 0]] });
      
    • Crée une arête droite par segment, chacun une paire de points [start, end].

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Une arête par segment, dans le même ordre

      const edges = await bitbybit.occt.shapes.edge.fromBaseSegments({ segments: [[[0, 0, 0], [10, 0, 0]], [[10, 0, 0], [10, 10, 0]]] });
      
    • Relie chaque point au suivant par une arête droite, de sorte qu'une liste de points devient une chaîne d'arêtes.

      Les arêtes sont renvoyées détachées ; shapes.wire.createPolylineWire crée directement le fil joint.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Une arête par paire de points voisins

      const edges = await bitbybit.occt.shapes.edge.fromPoints({ points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]] });
      
    • Crée une arête droite par segment d'un objet polyligne ; une polyligne fermée reçoit aussi l'arête de son dernier point à son premier.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Une arête par segment, dans l'ordre

      const edges = await bitbybit.occt.shapes.edge.fromBasePolyline({ polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 10, 0]], isClosed: true } });
      
    • Crée les trois arêtes droites d'un triangle donné par trois points.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Ses trois arêtes

      const edges = await bitbybit.occt.shapes.edge.fromBaseTriangle({ triangle: [[0, 0, 0], [10, 0, 0], [0, 10, 0]] });
      
    • Crée les trois arêtes droites de chaque triangle d'un maillage, toutes dans une seule liste plate.

      Un triangle dont les arêtes ne peuvent pas être construites est sauté avec un avertissement plutôt que d'arrêter le reste.

      Parameters

      • inputs: MeshBaseDto

        Le maillage sous forme de liste de triangles

      Returns Promise<TopoDSEdgePointer[]>

      Les arêtes de tous les triangles

      const edges = await bitbybit.occt.shapes.edge.fromBaseMesh({ mesh: triangles });
      

    get

    • Choisit une arête d'une forme par sa position, en comptant à partir de 0, dans l'ordre où le noyau parcourt la forme.

      La forme doit être une arête, un fil ou quelque chose construit à partir d'eux ; un index au-delà de la dernière arête lève une erreur.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête à cet index

      const first = await bitbybit.occt.shapes.edge.getEdge({ shape: wire, index: 0 });
      
    • Liste chaque arête d'une forme dans l'ordre où le noyau la parcourt, qui n'est pas l'ordre le long d'un fil ; utilisez getEdgesAlongWire pour cela.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Les arêtes trouvées dans la forme

      const edges = await bitbybit.occt.shapes.edge.getEdges({ shape: box });
      
    • Liste les arêtes d'un fil dans l'ordre où elles se suivent le long de lui, chacune orientée dans le sens du fil.

      Une arête seule est renvoyée sous forme de liste à un élément.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Ses arêtes dans l'ordre le long du fil

      const ordered = await bitbybit.occt.shapes.edge.getEdgesAlongWire({ shape: wire });
      
    • Liste seulement les arêtes circulaires d'un fil, dans l'ordre où elles se suivent le long de lui.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Ses arêtes circulaires dans l'ordre

      const arcs = await bitbybit.occt.shapes.edge.getCircularEdgesAlongWire({ shape: roundedRectangle });
      
    • Liste seulement les arêtes droites d'un fil, dans l'ordre où elles se suivent le long de lui.

      Parameters

      Returns Promise<TopoDSEdgePointer[]>

      Ses arêtes droites dans l'ordre

      const straights = await bitbybit.occt.shapes.edge.getLinearEdgesAlongWire({ shape: roundedRectangle });
      
    • Liste les points d'extrémité de chaque arête d'une forme, sans répétitions, de sorte qu'un coin où plusieurs arêtes se rejoignent apparaît une fois.

      Les points viennent sans ordre particulier.

      Parameters

      Returns Promise<Point3[]>

      Les points d'extrémité uniques des arêtes

      const corners = await bitbybit.occt.shapes.edge.getCornerPointsOfEdgesForShape({ shape: box });
      
    • Mesure la longueur d'une arête le long de sa courbe, en unités du modèle.

      Parameters

      Returns Promise<number>

      La longueur

      const len = await bitbybit.occt.shapes.edge.getEdgeLength({ shape: edge });
      
    • Mesure chaque arête d'une forme le long de sa courbe, en unités du modèle.

      Parameters

      Returns Promise<number[]>

      Une longueur par arête, dans l'ordre où getEdges les liste

      const lengths = await bitbybit.occt.shapes.edge.getEdgeLengthsOfShape({ shape: box });
      
    • Mesure chaque arête d'une liste le long de sa courbe, en unités du modèle.

      Parameters

      Returns Promise<number[]>

      Une longueur par arête, dans le même ordre

      const lengths = await bitbybit.occt.shapes.edge.getEdgesLengths({ shapes: edges });
      
    • Trouve le centre de masse d'une arête, le point d'équilibre de sa courbe ; pour une arête droite c'est son milieu, pour un arc un point à l'intérieur de la courbe.

      Parameters

      Returns Promise<Point3>

      Le point du centre de masse

      const center = await bitbybit.occt.shapes.edge.getEdgeCenterOfMass({ shape: edge });
      
    • Trouve le centre de masse de chaque arête d'une liste.

      Parameters

      Returns Promise<Point3[]>

      Un point par arête, dans le même ordre

      const centers = await bitbybit.occt.shapes.edge.getEdgesCentersOfMass({ shapes: edges });
      

    get circular edge

    • Trouve le centre du cercle sur lequel se trouve une arête circulaire.

      Une arête qui n'est pas circulaire lève une erreur.

      Parameters

      Returns Promise<Point3>

      Le point central

      const center = await bitbybit.occt.shapes.edge.getCircularEdgeCenterPoint({ shape: arc });
      
    • Lit le rayon du cercle sur lequel se trouve une arête circulaire.

      Une arête qui n'est pas circulaire lève une erreur.

      Parameters

      Returns Promise<number>

      Le rayon en unités du modèle

      const radius = await bitbybit.occt.shapes.edge.getCircularEdgeRadius({ shape: arc });
      
    • Lit la normale du plan dans lequel se trouve une arête circulaire.

      Une arête qui n'est pas circulaire lève une erreur.

      Parameters

      Returns Promise<Vector3>

      La normale unitaire du plan du cercle

      const normal = await bitbybit.occt.shapes.edge.getCircularEdgePlaneDirection({ shape: arc });
      

    is

    • Indique si une arête est une ligne droite.

      Parameters

      Returns Promise<boolean>

      Vrai quand l'arête est droite

      const straight = await bitbybit.occt.shapes.edge.isEdgeLinear({ shape: edge });
      
    • Indique si une arête se trouve sur un cercle, qu'il s'agisse d'un cercle complet ou d'un arc.

      Parameters

      Returns Promise<boolean>

      Vrai quand l'arête est circulaire

      const round = await bitbybit.occt.shapes.edge.isEdgeCircular({ shape: edge });
      

    primitives

    • Crée une arête droite entre deux points, l'arête la plus simple qui soit.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête droite

      const edge = await bitbybit.occt.shapes.edge.line({ start: [0, 0, 0], end: [10, 0, 0] });
      
    • Crée un arc de cercle qui commence au premier point, passe par celui du milieu et finit au dernier.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête en arc

      const arc = await bitbybit.occt.shapes.edge.arcThroughThreePoints({ start: [0, 0, 0], middle: [5, 5, 0], end: [10, 0, 0] });
      
    • Crée un arc de cercle d'un point à un autre qui quitte le premier point dans une direction donnée.

      La tangente fixe le plan et le rayon de l'arc.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête en arc

      const arc = await bitbybit.occt.shapes.edge.arcThroughTwoPointsAndTangent({ start: [0, 0, 0], tangentVec: [0, 1, 0], end: [10, 0, 0] });
      
    • Découpe un arc dans une arête circulaire entre deux points situés dessus.

      sense choisit dans quel sens autour du cercle l'arc va du premier point au second.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête en arc

      const arc = await bitbybit.occt.shapes.edge.arcFromCircleAndTwoPoints({ circle, start: [10, 0, 0], end: [0, 0, 10], sense: true });
      
    • Découpe un arc dans une arête circulaire entre deux angles, en degrés, mesurés autour du cercle depuis son propre début.

      sense choisit dans quel sens autour du cercle l'arc va du premier angle au second.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête en arc

      const quarter = await bitbybit.occt.shapes.edge.arcFromCircleAndTwoAngles({ circle, alphaAngle1: 0, alphaAngle2: 90, sense: true });
      
    • Découpe un arc dans une arête circulaire qui commence à un point du cercle et couvre un angle donné, en degrés.

      sense choisit dans quel sens autour du cercle l'arc va.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête en arc

      const arc = await bitbybit.occt.shapes.edge.arcFromCirclePointAndAngle({ circle, point: [10, 0, 0], alphaAngle: 45, sense: true });
      
    • Crée un cercle complet sous forme d'une seule arête fermée, posée dans le plan dont la normale est direction.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête circulaire

      const circle = await bitbybit.occt.shapes.edge.createCircleEdge({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Crée une ellipse complète sous forme d'une seule arête fermée, posée dans le plan dont la normale est direction.

      radiusMajor ne doit pas être plus petit que radiusMinor, sinon le noyau refuse l'ellipse.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      L'arête elliptique

      const ellipse = await bitbybit.occt.shapes.edge.createEllipseEdge({ center: [0, 0, 0], direction: [0, 1, 0], radiusMinor: 3, radiusMajor: 6 });
      

    rebuild

    • Reconstruit la courbe d'une arête en B-spline d'un degré donné, à une tolérance près.

      Baisser le degré simplifie la courbe, l'augmenter donne plus de liberté aux opérations ultérieures ; dans les deux cas la nouvelle courbe reste à moins de tolerance de l'ancienne.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Une nouvelle arête avec la courbe reconstruite

      const simpler = await bitbybit.occt.shapes.edge.rebuildEdgeDegree({ shape: edge, degree: 3, tolerance: 1e-3 });
      

    seam

    • Déplace la couture d'une arête périodique fermée, le point où elle commence et finit, vers un paramètre donné le long de la courbe.

      La géométrie ne change pas ; seulement l'endroit où l'arête est considérée comme commençant.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Une nouvelle arête commençant à la couture

      const rotated = await bitbybit.occt.shapes.edge.moveEdgeSeamByParameter({ shape: circle, parameter: 1.57 });
      
    • Déplace la couture d'une arête périodique fermée, le point où elle commence et finit, d'une distance le long de la courbe depuis son début actuel.

      La géométrie ne change pas ; seulement l'endroit où l'arête est considérée comme commençant.

      Parameters

      Returns Promise<TopoDSEdgePointer>

      Une nouvelle arête commençant à la couture

      const rotated = await bitbybit.occt.shapes.edge.moveEdgeSeamByLength({ shape: circle, length: 2.5 });
      

    shapes

    • Fusionne les faces qui se trouvent sur la même surface et les arêtes sur la même courbe, ce qui retire les coutures internes qu'une opération booléenne ou une fusion laisse derrière elle.

      C'est shapes.shape.unifySameDomain avec les arêtes et les faces unifiées toutes deux et les B-splines laissées telles quelles.

      Parameters

      Returns Promise<TopoDSShapePointer>

      La forme sans coutures internes

      const clean = await bitbybit.occt.shapes.edge.removeInternalEdges({ shape: fused });