Bitbybit Docs
    Preparing search index...

    Class OCCTWire

    Fils dans OpenCascade : des chaînes d'arêtes jointes bout à bout, ouvertes comme un chemin ou fermées comme un contour. Construisez-les à partir de points et de courbes (polylignes, B-splines, Béziers, interpolations, hélices, spirales), comme contours plans prêts à l'emploi (cercles, rectangles, étoiles, profils de poutres, texte) qui reposent sur le plan du sol sauf si direction dit autrement, ou en joignant et divisant des arêtes et fils existants ; relisez-les comme points, tangentes, longueurs et centres ; appliquez-les sur des faces ou projetez-les sur des formes. Les paramètres le long d'un fil vont de 0 à son début à 1 à sa fin et suivent le paramètre propre à chaque arête, pas la distance. Un fil fermé est ce que shapes.face remplit pour faire une face.

    Index

    Constructors

    beam profiles

    build

    debug

    edit

    extract

    extract from wires

    from base

    get

    multiple

    place

    primitives

    rebuild

    seam

    via points

    via wires

    Constructors

    beam profiles

    • Crée le contour fermé d'une section de poutre en I : deux ailes horizontales jointes par une âme verticale.

      width est la largeur des ailes, height la hauteur totale, webThickness et flangeThickness les épaisseurs de paroi ; alignment dit quel point de la boîte du profil se place sur center, rotation le tourne dans son plan, en degrés. Il est posé sur le sol, prêt à extruder.

      Parameters

      • inputs: IBeamProfileDto

        La taille du profil, les deux épaisseurs, l'alignement, la rotation, le centre et la normale du plan

      Returns Promise<TopoDSWirePointer>

      Le fil de contour de poutre en I

      const profile = await bitbybit.occt.shapes.wire.createIBeamProfileWire({
      width: 10,
      height: 20,
      webThickness: 2,
      flangeThickness: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Crée le contour fermé d'une section de poutre en H : deux ailes verticales jointes par une âme horizontale, une poutre en I sur le côté.

      width est la largeur totale, height la hauteur des ailes, webThickness et flangeThickness les épaisseurs de paroi ; alignment dit quel point de la boîte du profil se place sur center, rotation le tourne dans son plan, en degrés.

      Parameters

      • inputs: HBeamProfileDto

        La taille du profil, les deux épaisseurs, l'alignement, la rotation, le centre et la normale du plan

      Returns Promise<TopoDSWirePointer>

      Le fil de contour de poutre en H

      const profile = await bitbybit.occt.shapes.wire.createHBeamProfileWire({
      width: 20,
      height: 10,
      webThickness: 2,
      flangeThickness: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Crée le contour fermé d'une section de poutre en T : une aile horizontale avec une âme verticale suspendue à son milieu.

      width est la largeur de l'aile, height la hauteur totale, webThickness et flangeThickness les épaisseurs de paroi ; alignment dit quel point de la boîte du profil se place sur center, rotation le tourne dans son plan, en degrés. Il est posé sur le sol.

      Parameters

      • inputs: TBeamProfileDto

        La taille du profil, les deux épaisseurs, l'alignement, la rotation, le centre et la normale du plan

      Returns Promise<TopoDSWirePointer>

      Le fil de contour de poutre en T

      const profile = await bitbybit.occt.shapes.wire.createTBeamProfileWire({
      width: 10,
      height: 12,
      webThickness: 2,
      flangeThickness: 2,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Crée le contour fermé d'une section de poutre en U, un profilé en C : une âme avec deux ailes de flangeWidth dressées à ses extrémités.

      width et height sont la taille totale, webThickness et flangeThickness les épaisseurs de paroi ; alignment dit quel point de la boîte du profil se place sur center, rotation le tourne dans son plan, en degrés. Il est posé sur le sol.

      Parameters

      • inputs: UBeamProfileDto

        La taille du profil, les épaisseurs, la largeur des ailes, l'alignement, la rotation, le centre et la normale du plan

      Returns Promise<TopoDSWirePointer>

      Le fil de contour de poutre en U

      const profile = await bitbybit.occt.shapes.wire.createUBeamProfileWire({
      width: 10,
      height: 6,
      webThickness: 1,
      flangeThickness: 1,
      flangeWidth: 3,
      alignment: Bit.Inputs.Base.basicAlignmentEnum.midMid,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });

    build

    • Réunit des arêtes et des fils qui se touchent bout à bout en un seul fil.

      Les morceaux doivent se connecter ; un ensemble avec un trou ou un morceau isolé lève une erreur. Les formes d'autres types dans la liste sont ignorées.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil assemblé

      const outline = await bitbybit.occt.shapes.wire.combineEdgesAndWiresIntoAWire({ shapes: [arc, line1, line2] });
      
    • Enveloppe une seule arête dans un fil, pour qu'elle puisse aller là où un fil est attendu.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil contenant cette arête

      const wire = await bitbybit.occt.shapes.wire.createWireFromEdge({ shape: edge });
      

    debug

    • Rassemble des informations de diagnostic sur un fil : combien d'arêtes il a, s'il est fermé, sa longueur totale et, pour chaque arête, le rapport de courbe que shapes.edge.debugInfo donne.

      Un fil vide ou null donne un rapport marqué invalide avec des comptes à zéro.

      Parameters

      Returns Promise<WireDebugInfo>

      Le rapport avec le nombre d'arêtes, l'indicateur de fermeture, la longueur et une entrée par arête

      const info = await bitbybit.occt.shapes.wire.debugInfo({ shape: wire });
      console.log(info.nbEdges, info.closed, info.totalLength);

    edit

    • Ferme un fil ouvert par une arête droite de son point d'arrivée à son point de départ.

      Un fil dont les extrémités se rejoignent déjà est renvoyé tel quel.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil fermé

      const closedWire = await bitbybit.occt.shapes.wire.closeOpenWire({ shape: openWire });
      

    extract

    • Coupe un fil en morceaux aux points donnés.

      Chaque point est déplacé à l'endroit le plus proche sur le fil avant la coupe, il n'a donc pas besoin d'être exactement dessus ; les points répétés sont ignorés. Les morceaux reviennent dans l'ordre le long du fil, de son début à sa fin.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Les morceaux du fil, dans l'ordre

      const pieces = await bitbybit.occt.shapes.wire.splitOnPoints({ shape: wire, points: [[3, 0, 0], [7, 0, 0]] });
      
    • Transforme chaque fil d'une forme en une suite de points qui suit ses courbes d'assez près pour le dessiner, une liste par fil.

      Les réglages de déflexion disent à quel point les points épousent les arêtes courbes ; là où une arête finit et la suivante commence, le point partagé apparaît une fois.

      Parameters

      Returns Promise<Point3[][]>

      Une liste de points par fil

      const polylines = await bitbybit.occt.shapes.wire.wiresToPoints({
      shape: wire,
      angularDeflection: 0.1,
      curvatureDeflection: 0.1,
      minimumOfPoints: 2,
      uTolerance: 1e-9,
      minimumLength: 1e-7,
      });
    • Place des points le long d'un fil à 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. Le paramètre suit le paramètre de courbe propre de chaque arête, des pas égaux ne sont donc pas des distances égales ; utilisez divideWireByEqualDistanceToPoints pour celles-ci.

      Parameters

      Returns Promise<Point3[]>

      Les points le long du fil, dans l'ordre

      const points = await bitbybit.occt.shapes.wire.divideWireByParamsToPoints({ shape: wire, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Place des points le long d'un fil à distances égales mesurées le long de ses courbes, 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 du fil, dans l'ordre

      const points = await bitbybit.occt.shapes.wire.divideWireByEqualDistanceToPoints({ shape: wire, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Trouve le point situé à une fraction du chemin le long d'un fil : 0 est le début, 1 la fin.

      La fraction suit les paramètres des arêtes, pas la distance, 0.5 n'est donc pas toujours le milieu en longueur ; utilisez pointOnWireAtLength pour une distance.

      Parameters

      Returns Promise<Point3>

      Le point sur le fil

      const point = await bitbybit.occt.shapes.wire.pointOnWireAtParam({ shape: wire, param: 0.25 });
      
    • Trouve le point à une distance donnée le long d'un fil depuis son début, mesurée le long de ses courbes en unités du modèle.

      Parameters

      Returns Promise<Point3>

      Le point sur le fil

      const point = await bitbybit.occt.shapes.wire.pointOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Trouve les points à plusieurs distances le long d'un fil depuis son début, mesurées le long de ses courbes en unités du modèle.

      Parameters

      Returns Promise<Point3[]>

      Un point par distance, dans le même ordre

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtLengths({ shape: wire, lengths: [1, 2.5, 4] });
      
    • Place des points le long d'un fil toutes les length unités du modèle depuis son début, autant qu'il en tient.

      includeFirst garde le point au début, includeLast ajoute le point d'arrivée quel que soit l'espacement, et tryNext demande un point de plus un pas au-delà du dernier qui tenait.

      Parameters

      Returns Promise<Point3[]>

      Les points le long du fil, dans l'ordre

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtEqualLength({ shape: wire, length: 2, tryNext: false, includeFirst: true, includeLast: false });
      
    • Place des points le long d'un fil selon un motif répété d'écarts, comme 1, 3, 1, 3, jusqu'à épuisement du fil.

      lengths est le motif d'écarts en unités du modèle, répété depuis le début ; includeFirst garde le point de départ, includeLast ajoute le point d'arrivée, et tryNext demande un point de plus à l'écart suivant après le dernier.

      Parameters

      Returns Promise<Point3[]>

      Les points le long du fil, dans l'ordre

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtPatternOfLengths({ shape: wire, lengths: [1, 3], tryNext: false, includeFirst: true, includeLast: false });
      
    • Trouve la direction dans laquelle le fil se dirige à une fraction du chemin le long de lui, de 0 au début à 1 à la fin.

      La fraction suit les paramètres des arêtes, pas la distance.

      Parameters

      Returns Promise<Vector3>

      La direction de la tangente

      const tangent = await bitbybit.occt.shapes.wire.tangentOnWireAtParam({ shape: wire, param: 0.5 });
      
    • Trouve la direction dans laquelle le fil se dirige à une distance donnée de son début, mesurée le long de ses courbes en unités du modèle.

      Parameters

      Returns Promise<Vector3>

      La direction de la tangente

      const tangent = await bitbybit.occt.shapes.wire.tangentOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Calcule les dérivées première, seconde et troisième de la courbe d'un fil à une distance donnée de son début.

      La dérivée première est la tangente avec sa vitesse, la seconde dit comment la courbe se plie, la troisième comment cette courbure change ; toutes sont par rapport au paramètre de la courbe. La distance est mesurée le long des courbes en unités du modèle.

      Parameters

      Returns Promise<[Vector3, Vector3, Vector3]>

      Les trois vecteurs dérivés, du premier au troisième

      const [first, second, third] = await bitbybit.occt.shapes.wire.derivativesOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Calcule les dérivées première, seconde et troisième de la courbe d'un fil à une fraction du chemin le long de lui, de 0 au début à 1 à la fin.

      La dérivée première est la tangente avec sa vitesse, la seconde dit comment la courbe se plie, la troisième comment cette courbure change ; toutes sont par rapport au paramètre de la courbe.

      Parameters

      Returns Promise<[Vector3, Vector3, Vector3]>

      Les trois vecteurs dérivés, du premier au troisième

      const [first, second, third] = await bitbybit.occt.shapes.wire.derivativesOnWireAtParam({ shape: wire, param: 0.5 });
      
    • Lit le point où un fil commence, dans le sens propre du fil.

      Parameters

      Returns Promise<Point3>

      Le point de départ

      const start = await bitbybit.occt.shapes.wire.startPointOnWire({ shape: wire });
      
    • Trouve le point à mi-chemin de la plage de paramètres d'un fil.

      Le paramètre suit les courbes propres des arêtes, pas la distance, sur un fil aux arêtes inégales ce n'est donc pas toujours le milieu en longueur ; pointOnWireAtLength avec la moitié de getWireLength donne celui-ci.

      Parameters

      Returns Promise<Point3>

      Le point au paramètre 0.5

      const middle = await bitbybit.occt.shapes.wire.midPointOnWire({ shape: wire });
      
    • Lit le point où un fil finit, dans le sens propre du fil.

      Parameters

      Returns Promise<Point3>

      Le point d'arrivée

      const end = await bitbybit.occt.shapes.wire.endPointOnWire({ shape: wire });
      

    extract from wires

    • Exécute divideWireByParamsToPoints sur plusieurs fils avec les mêmes réglages.

      Parameters

      Returns Promise<Point3[][]>

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

      const lists = await bitbybit.occt.shapes.wire.divideWiresByParamsToPoints({ shapes: wires, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Exécute divideWireByEqualDistanceToPoints sur plusieurs fils avec les mêmes réglages.

      Parameters

      Returns Promise<Point3[][]>

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

      const lists = await bitbybit.occt.shapes.wire.divideWiresByEqualDistanceToPoints({ shapes: wires, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      

    from base

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

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil droit

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

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Un fil par ligne, dans le même ordre

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

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil droit

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

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Un fil par segment, dans le même ordre

      const wires = await bitbybit.occt.shapes.wire.fromBaseSegments({ segments: [[[0, 0, 0], [10, 0, 0]], [[10, 0, 0], [10, 10, 0]]] });
      
    • Joint une liste de points dans l'ordre par des arêtes droites en un seul fil.

      Moins de deux points lèvent une erreur. Quand le dernier point répète le premier, la répétition est supprimée et le fil est refermé sur le premier point ; sinon le fil reste ouvert. Pour un contour fermé sans répéter un point, utilisez createPolygonWire.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil passant par les points

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

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil

      const outline = await bitbybit.occt.shapes.wire.fromBasePolyline({ polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 0, 10]], isClosed: true } });
      
    • Crée un fil fermé à trois arêtes à partir d'un triangle donné par trois points.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil fermé

      const outline = await bitbybit.occt.shapes.wire.fromBaseTriangle({ triangle: [[0, 0, 0], [10, 0, 0], [0, 0, 10]] });
      
    • Crée un fil fermé à trois arêtes par triangle d'un maillage.

      Un triangle dont le fil ne peut pas être construit 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<TopoDSWirePointer[]>

      Un fil par triangle qui a pu être construit

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

    get

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

      La forme doit être un fil ou quelque chose construit à partir de fils ; un index au-delà du dernier fil lève une erreur.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil à cet index

      const outer = await bitbybit.occt.shapes.wire.getWire({ shape: face, index: 0 });
      
    • Trouve le centre de masse d'un fil, le point d'équilibre de ses courbes ; pour un cercle c'est son centre, hors du fil lui-même.

      Parameters

      Returns Promise<Point3>

      Le point du centre de masse

      const center = await bitbybit.occt.shapes.wire.getWireCenterOfMass({ shape: wire });
      
    • Trouve le centre de masse de chaque fil d'une liste.

      Parameters

      Returns Promise<Point3[]>

      Un point par fil, dans le même ordre

      const centers = await bitbybit.occt.shapes.wire.getWiresCentersOfMass({ shapes: wires });
      
    • Inverse le sens d'un fil, de sorte que son début devient sa fin.

      Les arêtes gardent leur propre ordre et leurs indicateurs de sens ; le fil dans son ensemble est marqué inversé, ce qui est ce que la plupart des opérations lisent. reversedWireFromReversedEdges reconstruit plutôt le fil arête par arête.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nouveau fil parcouru dans l'autre sens

      const back = await bitbybit.occt.shapes.wire.reversedWire({ shape: wire });
      
    • Inverse le sens d'un fil en inversant chaque arête et en les rejoignant dans l'ordre opposé.

      Le résultat est un fil qui va dans l'autre sens de part en part, ce dont certaines opérations ont besoin là où le simple indicateur reversedWire ne suffit pas.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nouveau fil parcouru dans l'autre sens

      const back = await bitbybit.occt.shapes.wire.reversedWireFromReversedEdges({ shape: wire });
      
    • Indique si un fil est fermé, c'est-à-dire quand ses points de départ et d'arrivée coïncident à une petite tolérance près.

      Parameters

      Returns Promise<boolean>

      Vrai quand les extrémités se rejoignent

      const wireIsClosed = await bitbybit.occt.shapes.wire.isWireClosed({ shape: wire });
      
    • Mesure la longueur d'un fil le long de ses courbes, en unités du modèle.

      Parameters

      Returns Promise<number>

      La longueur

      const len = await bitbybit.occt.shapes.wire.getWireLength({ shape: wire });
      
    • Mesure la longueur de chaque fil d'une liste le long de ses courbes, en unités du modèle.

      Parameters

      Returns Promise<number[]>

      Une longueur par fil, dans le même ordre

      const lengths = await bitbybit.occt.shapes.wire.getWiresLengths({ shapes: wires });
      

    multiple

    • Crée un fil polygonal fermé par liste de points, comme le fait createPolygonWire.

      Avec returnCompound vrai, les fils sont regroupés dans une seule forme composée au lieu d'une liste.

      Parameters

      • inputs: PolygonsDto

        Les polygones et s'il faut les regrouper dans un composé

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Les fils dans l'ordre, ou un composé qui les contient

      const outlines = await bitbybit.occt.shapes.wire.createPolygons({
      polygons: [{ points: [[0, 0, 0], [5, 0, 0], [5, 0, 5]] }, { points: [[10, 0, 0], [15, 0, 0], [15, 0, 5]] }],
      returnCompound: false,
      });
    • Crée un fil droit à une seule arête par définition de ligne.

      Avec returnCompound vrai, les fils sont regroupés dans une seule forme composée au lieu d'une liste.

      Parameters

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Les fils dans l'ordre, ou un composé qui les contient

      const lines = await bitbybit.occt.shapes.wire.createLines({
      lines: [{ start: [0, 0, 0], end: [10, 0, 0] }, { start: [0, 0, 5], end: [10, 0, 5] }],
      returnCompound: false,
      });
    • Crée un fil polyligne ouvert par liste de points, comme le fait createPolylineWire.

      Avec returnCompound vrai, les fils sont regroupés dans une seule forme composée au lieu d'une liste.

      Parameters

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Les fils dans l'ordre, ou un composé qui les contient

      const paths = await bitbybit.occt.shapes.wire.createPolylines({
      polylines: [{ points: [[0, 0, 0], [5, 0, 0], [5, 0, 5]] }, { points: [[10, 0, 0], [15, 0, 0]] }],
      returnCompound: false,
      });
    • Crée un fil de Bézier par définition, comme le fait createBezier.

      Avec returnCompound vrai, les fils sont regroupés dans une seule forme composée au lieu d'une liste.

      Parameters

      • inputs: BezierWiresDto

        Les définitions de Bézier et s'il faut les regrouper dans un composé

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Les fils dans l'ordre, ou un composé qui les contient

      const curves = await bitbybit.occt.shapes.wire.createBezierWires({
      bezierWires: [{ points: [[0, 0, 0], [5, 0, 10], [10, 0, 0]], closed: false }, { points: [[0, 0, 5], [5, 0, 15], [10, 0, 5]], closed: false }],
      returnCompound: false,
      });
    • Crée un fil B-spline interpolé par définition, comme le fait interpolatePoints.

      Avec returnCompound vrai, les fils sont regroupés dans une seule forme composée au lieu d'une liste.

      Parameters

      • inputs: InterpolateWiresDto

        Les définitions d'interpolation et s'il faut les regrouper dans un composé

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Les fils dans l'ordre, ou un composé qui les contient

      const curves = await bitbybit.occt.shapes.wire.interpolateWires({
      interpolations: [{ points: [[0, 0, 0], [5, 0, 5], [10, 0, 0]], periodic: false, tolerance: 1e-7 }, { points: [[0, 0, 5], [5, 0, 10], [10, 0, 5]], periodic: false, tolerance: 1e-7 }],
      returnCompound: false,
      });
    • Crée un fil B-spline d'approximation par définition, comme le fait createBSpline.

      Avec returnCompound vrai, les fils sont regroupés dans une seule forme composée au lieu d'une liste.

      Parameters

      • inputs: BSplinesDto

        Les définitions de B-spline et s'il faut les regrouper dans un composé

      Returns Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Les fils dans l'ordre, ou un composé qui les contient

      const curves = await bitbybit.occt.shapes.wire.createBSplines({
      bSplines: [{ points: [[0, 0, 0], [5, 0, 5], [10, 0, 0]], closed: false }, { points: [[0, 0, 5], [5, 0, 10], [10, 0, 5]], closed: false }],
      returnCompound: false,
      });

    place

    • Reporte un fil plat dessiné sur le plan du sol sur la surface d'une face, comme si le dessin était enroulé autour d'elle.

      La coordonnée Z du fil est lue comme U et sa coordonnée X comme V, dans les vraies valeurs UV de la face, que shapes.face.getUMinBound et ses semblables rapportent ; un dessin qui tient dans ces limites atterrit sur la face.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil posé sur la surface de la face

      const onSurface = await bitbybit.occt.shapes.wire.placeWireOnFace({ wire: flatWire, face: cylinderFace });
      
    • Projette un fil sur une forme le long d'une direction, comme en projetant son ombre sur la surface.

      Le résultat est un composé des courbes là où la projection rencontre les faces de la forme, qui peuvent être sur son côté proche comme sur son côté éloigné. Découpez une face avec lui via shapes.face.createFaceFromWireOnFace ou utilisez-le comme chemin.

      Parameters

      Returns Promise<TopoDSCompoundPointer>

      Un composé des courbes projetées

      const shadow = await bitbybit.occt.shapes.wire.project({ wire: circle, shape: sphere, direction: [0, -1, 0] });
      

    primitives

    • Crée un cercle complet sous forme de fil fermé à une seule arête, posé dans le plan dont la normale est direction ; la valeur par défaut [0, 1, 0] le pose à plat sur le sol.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil circulaire

      const circle = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Remplit un rectangle sur le plan du sol avec une grille de fils hexagonaux fermés, centrée sur l'origine.

      Les hexagones sont mis à l'échelle pour que nrHexagonsInWidth tiennent sur width et nrHexagonsInHeight sur height. Les motifs d'échelle, de congé et d'inclusion sont lus hexagone par hexagone et se répètent ; les indicateurs d'extension étirent les rangées extérieures au-delà des bords pour couvrir le rectangle.

      Parameters

      • inputs: HexagonsInGridDto

        La taille du rectangle, les nombres d'hexagones, les indicateurs d'extension et les motifs facultatifs

      Returns Promise<TopoDSWirePointer[]>

      Un fil par hexagone, rangée par rangée

      const cells = await bitbybit.occt.shapes.wire.hexagonsInGrid({
      width: 20,
      height: 10,
      nrHexagonsInWidth: 8,
      nrHexagonsInHeight: 4,
      flatTop: false,
      scalePatternWidth: [0.9],
      scalePatternHeight: [0.9],
      });
    • Crée un fil carré fermé centré sur center.

      direction est la normale de son plan : la valeur par défaut [0, 1, 0] le pose à plat sur le sol.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil carré

      const square = await bitbybit.occt.shapes.wire.createSquareWire({ size: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Crée un fil fermé en forme d'étoile à numRays pointes.

      Les pointes atteignent outerRadius et les creux entre elles innerRadius ; offsetOuterEdges soulève les bouts des rayons hors du plan de cette distance, ce qui fait une étoile 3D, et half garde la première moitié des rayons sous forme de fil ouvert. Elle est posée à plat sur le sol sauf si direction dit autrement.

      Parameters

      • inputs: Bit.Inputs.OCCT.StarDto

        Les deux rayons, le nombre de branches, le centre, la normale du plan et les options

      Returns Promise<TopoDSWirePointer>

      Le fil en étoile

      const star = await bitbybit.occt.shapes.wire.createStarWire({ outerRadius: 5, innerRadius: 2, numRays: 5, center: [0, 0, 0], direction: [0, 1, 0], offsetOuterEdges: 0, half: false });
      
    • Crée un fil fermé en forme de sapin de Noël stylisé : nrSkirts couches de branches, se rétrécissant de outerDist à innerDist par rapport à la ligne du tronc, sur un tronc de trunkHeight et trunkWidth.

      Contrairement aux autres formes plates d'ici, il se dresse dans le plan XY, la pointe le long de Y ; direction est la direction du tronc vers la pointe, rotation le fait tourner autour de cet axe, en degrés.

      Parameters

      • inputs: ChristmasTreeDto

        Les proportions du sapin, la taille du tronc, les options, l'origine et la direction du tronc vers la cime

      Returns Promise<TopoDSWirePointer>

      Le fil en sapin

      const tree = await bitbybit.occt.shapes.wire.createChristmasTreeWire({
      height: 10,
      innerDist: 1.5,
      outerDist: 4,
      nrSkirts: 4,
      trunkHeight: 1.5,
      trunkWidth: 1,
      half: false,
      rotation: 0,
      origin: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Crée un fil polygonal régulier fermé à nrCorners coins, tous sur un cercle de radius.

      direction est la normale du plan ; la valeur par défaut [0, 1, 0] le pose à plat sur le sol.

      Parameters

      • inputs: NGonWireDto

        Le nombre de coins, le rayon, le centre et la normale du plan

      Returns Promise<TopoDSWirePointer>

      Le fil polygonal

      const hexagon = await bitbybit.occt.shapes.wire.createNGonWire({ nrCorners: 6, radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Crée un fil de parallélogramme fermé : un rectangle de width et height dont les côtés penchent de angle degrés.

      Avec aroundCenter vrai, la forme est centrée sur center ; sinon elle y commence et s'étend dans les directions positives. direction est la normale du plan ; la valeur par défaut [0, 1, 0] le pose à plat sur le sol.

      Parameters

      • inputs: ParallelogramDto

        La largeur, la hauteur, l'angle d'inclinaison, s'il faut le centrer, le centre et la normale du plan

      Returns Promise<TopoDSWirePointer>

      Le fil en parallélogramme

      const shape = await bitbybit.occt.shapes.wire.createParallelogramWire({ width: 10, height: 5, angle: 30, aroundCenter: true, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Crée un fil fermé en forme de cœur à deux moitiés lisses qui tient à peu près dans un carré de sizeApprox.

      rotation le fait tourner dans son plan, en degrés. direction est la normale du plan ; la valeur par défaut [0, 1, 0] le pose à plat sur le sol.

      Parameters

      • inputs: Heart2DDto

        La taille approximative, la rotation, le centre et la normale du plan

      Returns Promise<TopoDSWirePointer>

      Le fil en cœur

      const heart = await bitbybit.occt.shapes.wire.createHeartWire({ sizeApprox: 10, rotation: 0, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Crée un fil rectangulaire fermé centré sur center.

      Sur le plan du sol, width suit X et length suit Z ; direction est la normale du plan, et la valeur par défaut [0, 1, 0] garde le fil à plat sur le sol.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil rectangulaire

      const rectangle = await bitbybit.occt.shapes.wire.createRectangleWire({ width: 20, length: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Crée un fil fermé en forme de L : deux branches rectangulaires jointes à un coin.

      La première branche a widthFirst et lengthFirst, la seconde widthSecond et lengthSecond ; align place le coin à l'extérieur, à l'intérieur ou au milieu des branches, et rotation tourne la forme dans son plan, en degrés. Elle est posée à plat sur le sol sauf si direction dit autrement.

      Parameters

      • inputs: LPolygonDto

        Les tailles des deux branches, l'alignement, la rotation, le centre et la normale du plan

      Returns Promise<TopoDSWirePointer>

      Le fil en L

      const outline = await bitbybit.occt.shapes.wire.createLPolygonWire({
      widthFirst: 2,
      lengthFirst: 10,
      widthSecond: 2,
      lengthSecond: 6,
      align: Bit.Inputs.OCCT.directionEnum.outside,
      rotation: 0,
      center: [0, 0, 0],
      direction: [0, 1, 0],
      });
    • Crée une ellipse complète sous forme de fil fermé à une seule arête, posé dans le plan dont la normale est direction.

      radiusMajor ne doit pas être plus petit que radiusMinor, sinon le noyau refuse l'ellipse ; la direction par défaut [0, 1, 0] la pose à plat sur le sol.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil elliptique

      const ellipse = await bitbybit.occt.shapes.wire.createEllipseWire({ center: [0, 0, 0], direction: [0, 1, 0], radiusMinor: 3, radiusMajor: 6 });
      
    • Crée un fil hélicoïdal, une spire de radius constant qui monte de pitch unités du modèle par tour jusqu'à atteindre height.

      Elle commence à côté de center et monte le long de direction ; clockwise inverse l'enroulement. L'hélice est approchée par une courbe lisse à tolerance près. Un rayon, un pas ou une hauteur de 0 ou moins donne un fil null.

      Parameters

      • inputs: HelixWireDto

        Le rayon, le pas, la hauteur, le centre de la base, la direction de l'axe, le sens d'enroulement et la tolérance

      Returns Promise<TopoDSWirePointer>

      Le fil hélicoïdal

      const spring = await bitbybit.occt.shapes.wire.createHelixWire({ radius: 2, pitch: 1, height: 10, center: [0, 0, 0], direction: [0, 1, 0], clockwise: false, tolerance: 1e-4 });
      
    • Crée un fil hélicoïdal comme createHelixWire, mais dimensionné par numTurns au lieu d'une hauteur : la spire monte de pitch unités du modèle par tour, numTurns fois.

      Parameters

      • inputs: HelixWireByTurnsDto

        Le rayon, le pas, le nombre de tours, le centre de la base, la direction de l'axe, le sens d'enroulement et la tolérance

      Returns Promise<TopoDSWirePointer>

      Le fil hélicoïdal

      const spring = await bitbybit.occt.shapes.wire.createHelixWireByTurns({ radius: 2, pitch: 1, numTurns: 5, center: [0, 0, 0], direction: [0, 1, 0], clockwise: false, tolerance: 1e-4 });
      
    • Crée un fil hélicoïdal conique dont le rayon change régulièrement de startRadius à la base à endRadius au sommet, montant de pitch unités du modèle par tour jusqu'à atteindre height.

      Il commence à côté de center et monte le long de direction ; clockwise inverse l'enroulement. La courbe est approchée à tolerance près.

      Parameters

      • inputs: TaperedHelixWireDto

        Les rayons de départ et d'arrivée, le pas, la hauteur, le centre de la base, la direction de l'axe, le sens d'enroulement et la tolérance

      Returns Promise<TopoDSWirePointer>

      Le fil hélicoïdal conique

      const cone = await bitbybit.occt.shapes.wire.createTaperedHelixWire({ startRadius: 3, endRadius: 0.5, pitch: 1, height: 8, center: [0, 0, 0], direction: [0, 1, 0], clockwise: false, tolerance: 1e-4 });
      
    • Crée un fil en spirale plate dans le plan dont la normale est direction : numTurns tours dont le rayon croît régulièrement de startRadius à endRadius.

      La direction par défaut [0, 1, 0] la pose à plat sur le sol ; clockwise inverse l'enroulement, et la courbe est approchée à tolerance près.

      Parameters

      • inputs: FlatSpiralWireDto

        Les rayons de départ et d'arrivée, le nombre de tours, le centre, la normale du plan, le sens d'enroulement et la tolérance

      Returns Promise<TopoDSWirePointer>

      Le fil en spirale

      const spiral = await bitbybit.occt.shapes.wire.createFlatSpiralWire({ startRadius: 0.5, endRadius: 5, numTurns: 4, center: [0, 0, 0], direction: [0, 1, 0], clockwise: false, tolerance: 1e-4 });
      
    • Écrit du texte sous forme de fils de traits sur le plan du sol dans la police simplex Hershey à trait unique, un fil polyligne ouvert par trait de plume.

      height est la hauteur d'une lettre majuscule en unités du modèle, lineSpacing et letterSpacing en sont des multiples, align aligne les lignes de longueurs différentes, et centerOnOrigin déplace le bloc à l'origine.

      Parameters

      • inputs: TextWiresDto

        Le texte, sa taille et son espacement, l'alignement et les options de placement

      Returns Promise<TopoDSWirePointer[]>

      Un fil par trait, dans l'ordre d'écriture

      const strokes = await bitbybit.occt.shapes.wire.textWires({
      text: "Hello",
      height: 5,
      lineSpacing: 1.5,
      letterSpacing: 0,
      align: Bit.Inputs.Base.horizontalAlignEnum.left,
      centerOnOrigin: true,
      });
    • Écrit du texte sous forme de fils de traits comme textWires et les regroupe dans des composés, avec la taille du bloc à côté.

      Le résultat porte compound avec tout le texte, characters avec un composé par caractère dans l'ordre d'écriture, width et height comme étendue du bloc le long de X et le long de Z, et center comme milieu du bloc.

      Parameters

      • inputs: TextWiresDto

        Le texte, sa taille et son espacement, l'alignement et les options de placement

      Returns Promise<TextWiresDataDto<TopoDSCompoundPointer>>

      Le composé du texte, les composés des caractères et la taille mesurée

      const text = await bitbybit.occt.shapes.wire.textWiresWithData({
      text: "Hi",
      height: 5,
      lineSpacing: 1.5,
      letterSpacing: 0,
      align: Bit.Inputs.Base.horizontalAlignEnum.left,
      centerOnOrigin: false,
      });
      console.log(text.width, text.height, text.characters.length);

    rebuild

    • Reconstruit chaque arête d'un fil en B-spline d'un degré donné, à une tolérance près, et rejoint les résultats en un fil.

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

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nouveau fil avec les arêtes reconstruites

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

    seam

    • Déplace la couture d'un fil périodique fermé, le point où il commence et finit, vers un paramètre donné le long de sa courbe.

      La géométrie ne change pas ; seulement l'endroit où le fil est considéré comme commençant. Destiné aux fils à une seule arête tels que les cercles : chaque arête périodique est déplacée, les arêtes non périodiques restent telles quelles.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nouveau fil commençant à la couture

      const rotated = await bitbybit.occt.shapes.wire.moveWireSeamByParameter({ shape: circle, parameter: 1.57 });
      
    • Déplace la couture d'un fil périodique fermé, le point où il 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ù le fil est considéré comme commençant. Destiné aux fils à une seule arête tels que les cercles : chaque arête périodique est déplacée, les arêtes non périodiques restent telles quelles.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Un nouveau fil commençant à la couture

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

    via points

    • Crée un fil fermé d'arêtes droites passant par une liste de points de coin, en ajoutant l'arête du dernier point au premier.

      Les points n'ont pas besoin d'être dans un même plan ; une face plane a cependant besoin d'un contour plan.

      Parameters

      • inputs: PolygonDto

        Les points de coin, dans l'ordre

      Returns Promise<TopoDSWirePointer>

      Le fil fermé

      const square = await bitbybit.occt.shapes.wire.createPolygonWire({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]] });
      
    • Crée un fil droit à une seule arête entre deux points.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil droit

      const line = await bitbybit.occt.shapes.wire.createLineWire({ start: [0, 0, 0], end: [10, 0, 0] });
      
    • Crée un fil droit à une seule arête entre deux points et le prolonge au-delà de chacun d'eux.

      extensionStart et extensionEnd sont des distances en unités du modèle ajoutées au-delà du début et de la fin le long de la ligne ; les deux points doivent différer, sinon une erreur est levée.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil droit prolongé

      const longer = await bitbybit.occt.shapes.wire.createLineWireWithExtensions({ start: [0, 0, 0], end: [10, 0, 0], extensionStart: 2, extensionEnd: 5 });
      
    • Crée un fil ouvert d'arêtes droites passant par une liste de points, dans l'ordre.

      Le fil n'est pas fermé ; createPolygonWire ajoute l'arête de retour au premier point.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil ouvert

      const path = await bitbybit.occt.shapes.wire.createPolylineWire({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10]] });
      
    • Crée un fil de Bézier lisse guidé par des points de contrôle : il commence au premier point, finit au dernier et est attiré vers ceux entre les deux sans passer par eux.

      closed ajoute à nouveau le premier point pour que les extrémités se rejoignent ; periodic construit plutôt une courbe fermée lisse à travers la couture. degree limite le nombre de voisins qui façonnent chaque partie.

      Parameters

      • inputs: BezierDto

        Les points de contrôle et les options de fermeture et de degré

      Returns Promise<TopoDSWirePointer>

      Le fil de Bézier

      const curve = await bitbybit.occt.shapes.wire.createBezier({ points: [[0, 0, 0], [5, 0, 10], [10, 0, -10], [15, 0, 0]], closed: false, periodic: false });
      
    • Crée un fil de Bézier comme createBezier, avec un poids par point de contrôle qui dit avec quelle force il attire la courbe.

      Un poids supérieur à 1 attire la courbe vers son point, inférieur à 1 la laisse aller. Les poids doivent correspondre aux points : le même nombre, ou un de plus quand closed est vrai et periodic faux, puisque le premier point se répète.

      Parameters

      • inputs: BezierWeightsDto

        Les points de contrôle, leurs poids et les options de fermeture et de degré

      Returns Promise<TopoDSWirePointer>

      Le fil de Bézier pondéré

      const curve = await bitbybit.occt.shapes.wire.createBezierWeights({
      points: [[0, 0, 0], [5, 0, 10], [10, 0, 0]],
      weights: [1, 3, 1],
      closed: false,
      periodic: false,
      });
    • Crée un fil B-spline lisse qui passe par chaque point dans l'ordre.

      periodic ferme la courbe pour qu'elle soit lisse à travers la couture, ce qui donne des boucles bien formées. parametrization contrôle l'espacement entre les points : centripetal résiste aux pointes et aux dépassements quand les points sont irréguliers. startTangent et endTangent, ou une entrée tangents par point, imposent la direction de la courbe à cet endroit.

      Parameters

      • inputs: InterpolationDto

        Les points, s'il faut fermer la courbe, la tolérance, la paramétrisation et des tangentes facultatives

      Returns Promise<TopoDSWirePointer>

      Le fil B-spline passant par les points

      const loop = await bitbybit.occt.shapes.wire.interpolatePoints({
      points: [[0, 0, 0], [10, 0, 5], [10, 0, 15], [0, 0, 10]],
      periodic: true,
      tolerance: 1e-7,
      parametrization: Bit.Inputs.OCCT.bSplineParametrizationEnum.centripetal,
      });
    • Crée un fil B-spline fermé et lisse passant par les points dont la forme est symétrique en miroir chaque fois que les points le sont, sans point de départ ou d'arrivée d'aspect étrange.

      Un interpolatePoints périodique simple peut paraître déformé à sa couture pour des entrées symétriques telles qu'un carré ou un triangle ; cette variante non. Elle échoue avec une erreur si les points ne peuvent pas être interpolés.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil B-spline symétrique fermé

      const rounded = await bitbybit.occt.shapes.wire.interpolatePointsSymmetric({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]], tolerance: 1e-7 });
      
    • Crée un fil B-spline lisse qui approche une liste de points : il les suit de près mais n'a pas besoin de passer exactement par chacun.

      closed ajoute à nouveau le premier point pour que les extrémités se rejoignent. L'ajustement utilise un degré entre 3 et 8 et une tolérance de 0.001 unités du modèle ; utilisez interpolatePoints quand la courbe doit passer par les points.

      Parameters

      • inputs: BSplineDto

        Les points et s'il faut fermer la courbe

      Returns Promise<TopoDSWirePointer>

      Le fil B-spline

      const curve = await bitbybit.occt.shapes.wire.createBSpline({ points: [[0, 0, 0], [5, 0, 5], [10, 0, 0], [15, 0, 5]], closed: false });
      

    via wires

    • Trace une ligne en zigzag qui rebondit entre deux fils : les deux sont divisés en un même nombre de points et une polyligne les visite alternativement.

      nrZigZags règle le nombre de rebonds ; inverse commence sur le second fil ; divideByEqualDistance espace les points selon la longueur plutôt que le paramètre ; avec zigZagsPerEdge vrai chaque arête reçoit son propre zigzag, les nombres d'arêtes doivent donc correspondre.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil en zigzag

      const zigzag = await bitbybit.occt.shapes.wire.createZigZagBetweenTwoWires({ wire1: lower, wire2: upper, nrZigZags: 20, inverse: false, divideByEqualDistance: true, zigZagsPerEdge: false });
      
    • Relie les points de départ de plusieurs fils ou arêtes en un nouveau fil et leurs points d'arrivée en un autre.

      wireType en fait des polylignes ou des courbes interpolées lisses, closed rejoint le dernier point au premier, et tolerance est utilisée pour l'interpolation. Moins de deux formes lèvent une erreur.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Deux fils : un par les points de départ, un par les points d'arrivée

      const [starts, ends] = await bitbybit.occt.shapes.wire.createWiresBetweenStartEndPointsOfWiresAndEdges({
      shapes: [wireA, wireB, wireC],
      wireType: Bit.Inputs.OCCT.wireFromPointsTypeEnum.interpolated,
      closed: false,
      tolerance: 1e-7,
      });
    • Divise plusieurs fils ou arêtes en un même nombre de points et relie les points à chaque position en un nouveau fil, comme les barreaux d'une échelle.

      nrOfDivisions pas donnent un barreau de plus que cela ; divideByEqualDistance espace les points selon la longueur plutôt que le paramètre ; wireType fait des barreaux des polylignes ou des courbes lisses, closed ferme chacun en boucle.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Un fil par point de division, dans l'ordre le long des formes

      const rungs = await bitbybit.occt.shapes.wire.createWiresBetweenSubdividedPointsOfWiresAndEdges({
      shapes: [rail1, rail2],
      nrOfDivisions: 10,
      divideByEqualDistance: true,
      wireType: Bit.Inputs.OCCT.wireFromPointsTypeEnum.polyline,
      closed: false,
      tolerance: 1e-7,
      });
    • Trace un contour fermé autour de deux cercles situés dans un même plan, en les reliant par des lignes tangentes : une forme de courroie ou de capsule.

      keepLines choisit les lignes tangentes extérieures (la courroie) ou les lignes intérieures croisées ; circleRemainders choisit quel arc de chaque cercle reste dans le contour. Chaque fil de cercle doit être constitué d'une seule arête.

      Parameters

      Returns Promise<TopoDSWirePointer>

      Le fil de contour fermé

      const belt = await bitbybit.occt.shapes.wire.createWireFromTwoCirclesTan({
      circle1,
      circle2,
      keepLines: Bit.Inputs.OCCT.twoSidesStrictEnum.outside,
      circleRemainders: Bit.Inputs.OCCT.fourSidesStrictEnum.outside,
      tolerance: 1e-7,
      });