Bitbybit Docs
    Bereite Suchindex vor...

    Klasse OCCTWire

    Drähte in OpenCascade: Ketten von Kanten, Ende an Ende verbunden, offen wie ein Pfad oder geschlossen wie ein Umriss. Bauen Sie sie aus Punkten und Kurven (Polylinien, B-splines, Beziers, Interpolationen, Helices, Spiralen), als fertige ebene Umrisse (Kreise, Rechtecke, Sterne, Trägerprofile, Text), die auf der Grundebene liegen, sofern direction nichts anderes sagt, oder durch Verbinden und Teilen vorhandener Kanten und Drähte; lesen Sie sie als Punkte, Tangenten, Längen und Mittelpunkte zurück; legen Sie sie auf Flächen oder projizieren Sie sie auf Formen. Parameter entlang eines Drahts laufen von 0 an seinem Anfang bis 1 an seinem Ende und folgen dem eigenen Parameter jeder Kante, nicht dem Abstand. Ein geschlossener Draht ist das, was shapes.face füllt, um eine Fläche zu erzeugen.

    Index

    Konstruktoren

    beam profiles

    build

    debug

    edit

    extract

    extract from wires

    from base

    get

    multiple

    place

    primitives

    rebuild

    seam

    via points

    via wires

    Konstruktoren

    beam profiles

    • Erstellt den geschlossenen Umriss eines I-Träger-Querschnitts: zwei horizontale Flansche, verbunden durch einen vertikalen Steg.

      width ist die Flanschbreite, height die Gesamthöhe, webThickness und flangeThickness die Wanddicken; alignment sagt, welcher Punkt des Profilrahmens auf center sitzt, rotation dreht ihn in seiner Ebene, in Grad. Er liegt auf dem Boden, bereit zum Extrudieren.

      Parameter

      • inputs: IBeamProfileDto

        Die Profilgröße, die beiden Dicken, die Ausrichtung, die Drehung, der Mittelpunkt und die Ebenennormale

      Rückgabewert Promise<TopoDSWirePointer>

      Der Umrissdraht des I-Trägers

      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],
      });
    • Erstellt den geschlossenen Umriss eines H-Träger-Querschnitts: zwei vertikale Flansche, verbunden durch einen horizontalen Steg, ein I-Träger auf der Seite.

      width ist die Gesamtbreite, height die Flanschhöhe, webThickness und flangeThickness die Wanddicken; alignment sagt, welcher Punkt des Profilrahmens auf center sitzt, rotation dreht ihn in seiner Ebene, in Grad.

      Parameter

      • inputs: HBeamProfileDto

        Die Profilgröße, die beiden Dicken, die Ausrichtung, die Drehung, der Mittelpunkt und die Ebenennormale

      Rückgabewert Promise<TopoDSWirePointer>

      Der Umrissdraht des H-Trägers

      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],
      });
    • Erstellt den geschlossenen Umriss eines T-Träger-Querschnitts: ein horizontaler Flansch mit einem vertikalen Steg, der von seiner Mitte herabhängt.

      width ist die Flanschbreite, height die Gesamthöhe, webThickness und flangeThickness die Wanddicken; alignment sagt, welcher Punkt des Profilrahmens auf center sitzt, rotation dreht ihn in seiner Ebene, in Grad. Er liegt auf dem Boden.

      Parameter

      • inputs: TBeamProfileDto

        Die Profilgröße, die beiden Dicken, die Ausrichtung, die Drehung, der Mittelpunkt und die Ebenennormale

      Rückgabewert Promise<TopoDSWirePointer>

      Der Umrissdraht des T-Trägers

      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],
      });
    • Erstellt den geschlossenen Umriss eines U-Träger-Querschnitts, einer Rinne: ein Steg mit zwei Flanschen mit flangeWidth, die von seinen Enden aufragen.

      width und height sind die Gesamtgröße, webThickness und flangeThickness die Wand- dicken; alignment sagt, welcher Punkt des Profilrahmens auf center sitzt, rotation dreht ihn in seiner Ebene, in Grad. Er liegt auf dem Boden.

      Parameter

      • inputs: UBeamProfileDto

        Die Profilgröße, die Dicken, die Flanschbreite, die Ausrichtung, die Drehung, der Mittelpunkt und die Ebenennormale

      Rückgabewert Promise<TopoDSWirePointer>

      Der Umrissdraht des U-Trägers

      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

    • Verbindet Kanten und Drähte, die sich Ende an Ende berühren, zu einem Draht.

      Die Stücke müssen anschließen; eine Menge mit einer Lücke oder einem losen Stück löst einen Fehler aus. Formen anderer Arten in der Liste werden ignoriert.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der verbundene Draht

      const outline = await bitbybit.occt.shapes.wire.combineEdgesAndWiresIntoAWire({ shapes: [arc, line1, line2] });
      
    • Packt eine einzelne Kante in einen Draht, damit sie dorthin gehen kann, wo ein Draht erwartet wird.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Draht, der diese Kante enthält

      const wire = await bitbybit.occt.shapes.wire.createWireFromEdge({ shape: edge });
      
    • Erweitert einen Draht um weitere Kanten und Drähte, die ihn Ende an Ende berühren.

      Die Stücke müssen an den Draht oder aneinander anschließen; eine Lücke löst einen Fehler aus. Formen anderer Arten in der Liste werden ignoriert.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der erweiterte Draht

      const longer = await bitbybit.occt.shapes.wire.addEdgesAndWiresToWire({ shape: wire, shapes: [nextEdge, nextWire] });
      

    debug

    • Sammelt diagnostische Fakten über einen Draht: wie viele Kanten er hat, ob er geschlossen ist, seine Gesamtlänge und, für jede Kante, den Kurvenbericht, den shapes.edge.debugInfo liefert.

      Ein leerer oder null-Draht ergibt einen als ungültig markierten Bericht mit Nullzählungen.

      Parameter

      Rückgabewert Promise<WireDebugInfo>

      Der Bericht mit der Kantenanzahl, dem Geschlossen-Flag, der Länge und einem Eintrag pro Kante

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

    edit

    • Schließt einen offenen Draht mit einer geraden Kante von seinem Endpunkt zurück zu seinem Startpunkt.

      Ein Draht, dessen Enden sich bereits treffen, wird zurückgegeben, wie er ist.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der geschlossene Draht

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

    extract

    • Schneidet einen Draht an den gegebenen Punkten in Stücke.

      Jeder Punkt wird vor dem Schneiden zur nächsten Stelle auf dem Draht verschoben, daher muss er nicht genau darauf liegen; wiederholte Punkte werden ignoriert. Die Stücke kommen in Reihenfolge entlang des Drahts zurück, von seinem Anfang bis zu seinem Ende.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer[]>

      Die Stücke des Drahts, in Reihenfolge

      const pieces = await bitbybit.occt.shapes.wire.splitOnPoints({ shape: wire, points: [[3, 0, 0], [7, 0, 0]] });
      
    • Verwandelt jeden Draht einer Form in eine Punktfolge, die seinen Kurven eng genug folgt, um ihn zu zeichnen, eine Liste pro Draht.

      Die Abweichungseinstellungen sagen, wie eng sich die Punkte an gekrümmte Kanten schmiegen; wo eine Kante endet und die nächste beginnt, erscheint der gemeinsame Punkt einmal.

      Parameter

      Rückgabewert Promise<Point3[][]>

      Eine Punktliste pro Draht

      const polylines = await bitbybit.occt.shapes.wire.wiresToPoints({
      shape: wire,
      angularDeflection: 0.1,
      curvatureDeflection: 0.1,
      minimumOfPoints: 2,
      uTolerance: 1e-9,
      minimumLength: 1e-7,
      });
    • Platziert Punkte entlang eines Drahts in gleichen Schritten seines Parameters, von Anfang bis Ende.

      nrOfDivisions Schritte ergeben einen Punkt mehr als das; removeStartPoint und removeEndPoint lassen die Enden weg. Der Parameter folgt dem eigenen Kurvenparameter jeder Kante, daher sind gleiche Schritte keine gleichen Abstände; verwenden Sie divideWireByEqualDistanceToPoints für diese.

      Parameter

      Rückgabewert Promise<Point3[]>

      Die Punkte entlang des Drahts, in Reihenfolge

      const points = await bitbybit.occt.shapes.wire.divideWireByParamsToPoints({ shape: wire, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Platziert Punkte entlang eines Drahts in gleichen Abständen, gemessen entlang seiner Kurven, von Anfang bis Ende.

      nrOfDivisions Schritte ergeben einen Punkt mehr als das; removeStartPoint und removeEndPoint lassen die Enden weg.

      Parameter

      Rückgabewert Promise<Point3[]>

      Die Punkte entlang des Drahts, in Reihenfolge

      const points = await bitbybit.occt.shapes.wire.divideWireByEqualDistanceToPoints({ shape: wire, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Ermittelt den Punkt bei einem Anteil des Wegs entlang eines Drahts: 0 ist der Anfang, 1 das Ende.

      Der Anteil folgt den Parametern der Kanten, nicht dem Abstand, daher ist 0.5 nicht immer die Mitte nach Länge; verwenden Sie pointOnWireAtLength für einen Abstand.

      Parameter

      Rückgabewert Promise<Point3>

      Der Punkt auf dem Draht

      const point = await bitbybit.occt.shapes.wire.pointOnWireAtParam({ shape: wire, param: 0.25 });
      
    • Ermittelt den Punkt in einem gegebenen Abstand entlang eines Drahts von seinem Anfang, gemessen entlang seiner Kurven in Modelleinheiten.

      Parameter

      Rückgabewert Promise<Point3>

      Der Punkt auf dem Draht

      const point = await bitbybit.occt.shapes.wire.pointOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Ermittelt die Punkte in mehreren Abständen entlang eines Drahts von seinem Anfang, gemessen entlang seiner Kurven in Modelleinheiten.

      Parameter

      Rückgabewert Promise<Point3[]>

      Ein Punkt pro Abstand, in derselben Reihenfolge

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtLengths({ shape: wire, lengths: [1, 2.5, 4] });
      
    • Platziert Punkte entlang eines Drahts alle length Modelleinheiten von seinem Anfang, so viele wie passen.

      includeFirst behält den Punkt am Anfang, includeLast hängt den Endpunkt unabhängig vom Abstand an, und tryNext fordert einen weiteren Punkt einen Schritt hinter dem letzten an, der gepasst hat.

      Parameter

      Rückgabewert Promise<Point3[]>

      Die Punkte entlang des Drahts, in Reihenfolge

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtEqualLength({ shape: wire, length: 2, tryNext: false, includeFirst: true, includeLast: false });
      
    • Platziert Punkte entlang eines Drahts in einem sich wiederholenden Muster von Lücken, etwa 1, 3, 1, 3, bis der Draht zu Ende ist.

      lengths ist das Muster der Lücken in Modelleinheiten, vom Anfang an wiederholt; includeFirst behält den Startpunkt, includeLast hängt den Endpunkt an, und tryNext fordert einen weiteren Punkt bei der nächsten Lücke hinter dem letzten an.

      Parameter

      Rückgabewert Promise<Point3[]>

      Die Punkte entlang des Drahts, in Reihenfolge

      const points = await bitbybit.occt.shapes.wire.pointsOnWireAtPatternOfLengths({ shape: wire, lengths: [1, 3], tryNext: false, includeFirst: true, includeLast: false });
      
    • Ermittelt die Richtung, in die der Draht bei einem Anteil des Wegs entlang ihm verläuft, von 0 am Anfang bis 1 am Ende.

      Der Anteil folgt den Parametern der Kanten, nicht dem Abstand.

      Parameter

      Rückgabewert Promise<Vector3>

      Die Tangentenrichtung

      const tangent = await bitbybit.occt.shapes.wire.tangentOnWireAtParam({ shape: wire, param: 0.5 });
      
    • Ermittelt die Richtung, in die der Draht in einem gegebenen Abstand von seinem Anfang verläuft, gemessen entlang seiner Kurven in Modelleinheiten.

      Parameter

      Rückgabewert Promise<Vector3>

      Die Tangentenrichtung

      const tangent = await bitbybit.occt.shapes.wire.tangentOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Berechnet die erste, zweite und dritte Ableitung der Kurve eines Drahts in einem gegebenen Abstand von seinem Anfang.

      Die erste Ableitung ist die Tangente mit ihrer Geschwindigkeit, die zweite sagt, wie sich die Kurve biegt, die dritte, wie sich diese Biegung ändert; alle bezogen auf den Parameter der Kurve. Der Abstand wird entlang der Kurven in Modelleinheiten gemessen.

      Parameter

      Rückgabewert Promise<[Vector3, Vector3, Vector3]>

      Die drei Ableitungsvektoren, erste bis dritte

      const [first, second, third] = await bitbybit.occt.shapes.wire.derivativesOnWireAtLength({ shape: wire, length: 2.5 });
      
    • Berechnet die erste, zweite und dritte Ableitung der Kurve eines Drahts bei einem Anteil des Wegs entlang ihm, von 0 am Anfang bis 1 am Ende.

      Die erste Ableitung ist die Tangente mit ihrer Geschwindigkeit, die zweite sagt, wie sich die Kurve biegt, die dritte, wie sich diese Biegung ändert; alle bezogen auf den Parameter der Kurve.

      Parameter

      Rückgabewert Promise<[Vector3, Vector3, Vector3]>

      Die drei Ableitungsvektoren, erste bis dritte

      const [first, second, third] = await bitbybit.occt.shapes.wire.derivativesOnWireAtParam({ shape: wire, param: 0.5 });
      
    • Liest den Punkt, an dem ein Draht beginnt, in der eigenen Richtung des Drahts.

      Parameter

      Rückgabewert Promise<Point3>

      Der Startpunkt

      const start = await bitbybit.occt.shapes.wire.startPointOnWire({ shape: wire });
      
    • Ermittelt den Punkt auf halbem Weg des Parameterbereichs eines Drahts.

      Der Parameter folgt den eigenen Kurven der Kanten, nicht dem Abstand, daher ist dies bei einem Draht aus ungleichen Kanten nicht immer die Mitte nach Länge; pointOnWireAtLength mit der Hälfte von getWireLength liefert diese.

      Parameter

      Rückgabewert Promise<Point3>

      Der Punkt beim Parameter 0.5

      const middle = await bitbybit.occt.shapes.wire.midPointOnWire({ shape: wire });
      
    • Liest den Punkt, an dem ein Draht endet, in der eigenen Richtung des Drahts.

      Parameter

      Rückgabewert Promise<Point3>

      Der Endpunkt

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

    extract from wires

    • Führt divideWireByParamsToPoints mit denselben Einstellungen auf mehreren Drähten aus.

      Parameter

      Rückgabewert Promise<Point3[][]>

      Eine Punktliste pro Draht, in derselben Reihenfolge

      const lists = await bitbybit.occt.shapes.wire.divideWiresByParamsToPoints({ shapes: wires, nrOfDivisions: 10, removeStartPoint: false, removeEndPoint: false });
      
    • Führt divideWireByEqualDistanceToPoints mit denselben Einstellungen auf mehreren Drähten aus.

      Parameter

      Rückgabewert Promise<Point3[][]>

      Eine Punktliste pro Draht, in derselben Reihenfolge

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

    from base

    • Erstellt einen geraden Einzelkanten-Draht aus einem Linienobjekt der Form { start, end }.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der gerade Draht

      const wire = await bitbybit.occt.shapes.wire.fromBaseLine({ line: { start: [0, 0, 0], end: [10, 0, 0] } });
      
    • Erstellt einen geraden Einzelkanten-Draht pro Linienobjekt der Form { start, end }.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer[]>

      Ein Draht pro Linie, in derselben Reihenfolge

      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] }] });
      
    • Erstellt einen geraden Einzelkanten-Draht aus einem Segment, einem Punktepaar [start, end].

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der gerade Draht

      const wire = await bitbybit.occt.shapes.wire.fromBaseSegment({ segment: [[0, 0, 0], [10, 0, 0]] });
      
    • Erstellt einen geraden Einzelkanten-Draht pro Segment, jedes ein Punktepaar [start, end].

      Parameter

      Rückgabewert Promise<TopoDSWirePointer[]>

      Ein Draht pro Segment, in derselben Reihenfolge

      const wires = await bitbybit.occt.shapes.wire.fromBaseSegments({ segments: [[[0, 0, 0], [10, 0, 0]], [[10, 0, 0], [10, 10, 0]]] });
      
    • Verbindet eine Liste von Punkten in Reihenfolge mit geraden Kanten zu einem Draht.

      Weniger als zwei Punkte werfen einen Fehler. Wenn der letzte Punkt den ersten wiederholt, wird die Wiederholung verworfen und der Draht zurück zum ersten Punkt geschlossen; andernfalls bleibt der Draht offen. Für einen geschlossenen Umriss ohne Wiederholung eines Punkts verwenden Sie createPolygonWire.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Draht durch die Punkte

      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]] });
    • Erstellt einen Draht aus einem Polylinienobjekt, eine gerade Kante pro Segment; eine als geschlossen markierte Polylinie erhält auch die Kante von ihrem letzten Punkt zurück zu ihrem ersten.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Draht

      const outline = await bitbybit.occt.shapes.wire.fromBasePolyline({ polyline: { points: [[0, 0, 0], [10, 0, 0], [10, 0, 10]], isClosed: true } });
      
    • Erstellt einen geschlossenen Dreikanten-Draht aus einem als drei Punkte gegebenen Dreieck.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der geschlossene Draht

      const outline = await bitbybit.occt.shapes.wire.fromBaseTriangle({ triangle: [[0, 0, 0], [10, 0, 0], [0, 0, 10]] });
      
    • Erstellt einen geschlossenen Dreikanten-Draht pro Dreieck eines Meshes.

      Ein Dreieck, dessen Draht nicht gebaut werden kann, wird mit einer Warnung übersprungen, statt den Rest anzuhalten.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer[]>

      Ein Draht pro Dreieck, das gebaut werden konnte

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

    get

    • Wählt einen Draht aus einer Form anhand seiner Position, gezählt ab 0, in der Reihenfolge, in der der Kernel die Form durchläuft.

      Die Form muss ein Draht oder etwas aus Drähten Gebautes sein; ein Index jenseits des letzten Drahts löst einen Fehler aus.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Draht an diesem Index

      const outer = await bitbybit.occt.shapes.wire.getWire({ shape: face, index: 0 });
      
    • Ermittelt den Schwerpunkt eines Drahts, den Gleichgewichtspunkt seiner Kurven; bei einem Kreis ist das sein Mittelpunkt, abseits des Drahts selbst.

      Parameter

      Rückgabewert Promise<Point3>

      Der Schwerpunkt

      const center = await bitbybit.occt.shapes.wire.getWireCenterOfMass({ shape: wire });
      
    • Ermittelt den Schwerpunkt jedes Drahts in einer Liste.

      Parameter

      Rückgabewert Promise<Point3[]>

      Ein Punkt pro Draht, in derselben Reihenfolge

      const centers = await bitbybit.occt.shapes.wire.getWiresCentersOfMass({ shapes: wires });
      
    • Kehrt die Richtung eines Drahts um, sodass sein Anfang zu seinem Ende wird.

      Die Kanten behalten ihre eigene Reihenfolge und ihre Richtungs-Flags; der Draht als Ganzes wird als umgekehrt markiert, was die meisten Operationen lesen. reversedWireFromReversedEdges baut den Draht stattdessen Kante für Kante neu auf.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Ein neuer Draht, der in die andere Richtung verläuft

      const back = await bitbybit.occt.shapes.wire.reversedWire({ shape: wire });
      
    • Kehrt die Richtung eines Drahts um, indem jede Kante umgekehrt und sie in umgekehrter Reihenfolge wieder verbunden werden.

      Das Ergebnis ist ein Draht, der durch und durch in die andere Richtung verläuft, was manche Operationen brauchen, wo das bloße reversedWire-Flag nicht genügt.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Ein neuer Draht, der in die andere Richtung verläuft

      const back = await bitbybit.occt.shapes.wire.reversedWireFromReversedEdges({ shape: wire });
      
    • Sagt, ob ein Draht geschlossen ist, was der Fall ist, wenn sein Start- und Endpunkt innerhalb einer kleinen Toleranz zusammenfallen.

      Parameter

      Rückgabewert Promise<boolean>

      True, wenn sich die Enden treffen

      const wireIsClosed = await bitbybit.occt.shapes.wire.isWireClosed({ shape: wire });
      
    • Misst die Länge eines Drahts entlang seiner Kurven, in Modelleinheiten.

      Parameter

      Rückgabewert Promise<number>

      Die Länge

      const len = await bitbybit.occt.shapes.wire.getWireLength({ shape: wire });
      
    • Misst die Länge jedes Drahts in einer Liste entlang seiner Kurven, in Modelleinheiten.

      Parameter

      Rückgabewert Promise<number[]>

      Eine Länge pro Draht, in derselben Reihenfolge

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

    multiple

    • Erstellt einen geschlossenen Polygondraht pro Punktliste, wie createPolygonWire es tut.

      Mit returnCompound true werden die Drähte in eine Verbundform gepackt statt in eine Liste.

      Parameter

      • inputs: PolygonsDto

        Die Polygone und ob sie in einen Verbund gepackt werden

      Rückgabewert Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Die Drähte in Reihenfolge oder ein Verbund, der sie enthält

      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,
      });
    • Erstellt einen geraden Einzelkanten-Draht pro Liniendefinition.

      Mit returnCompound true werden die Drähte in eine Verbundform gepackt statt in eine Liste.

      Parameter

      Rückgabewert Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Die Drähte in Reihenfolge oder ein Verbund, der sie enthält

      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,
      });
    • Erstellt einen offenen Polyliniendraht pro Punktliste, wie createPolylineWire es tut.

      Mit returnCompound true werden die Drähte in eine Verbundform gepackt statt in eine Liste.

      Parameter

      Rückgabewert Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Die Drähte in Reihenfolge oder ein Verbund, der sie enthält

      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,
      });
    • Erstellt einen Bezier-Draht pro Definition, wie createBezier es tut.

      Mit returnCompound true werden die Drähte in eine Verbundform gepackt statt in eine Liste.

      Parameter

      • inputs: BezierWiresDto

        Die Bezier-Definitionen und ob sie in einen Verbund gepackt werden

      Rückgabewert Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Die Drähte in Reihenfolge oder ein Verbund, der sie enthält

      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,
      });
    • Erstellt einen interpolierten B-spline-Draht pro Definition, wie interpolatePoints es tut.

      Mit returnCompound true werden die Drähte in eine Verbundform gepackt statt in eine Liste.

      Parameter

      • inputs: InterpolateWiresDto

        Die Interpolationsdefinitionen und ob sie in einen Verbund gepackt werden

      Rückgabewert Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Die Drähte in Reihenfolge oder ein Verbund, der sie enthält

      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,
      });
    • Erstellt einen annähernden B-spline-Draht pro Definition, wie createBSpline es tut.

      Mit returnCompound true werden die Drähte in eine Verbundform gepackt statt in eine Liste.

      Parameter

      • inputs: BSplinesDto

        Die B-spline-Definitionen und ob sie in einen Verbund gepackt werden

      Rückgabewert Promise<TopoDSCompoundPointer | TopoDSWirePointer[]>

      Die Drähte in Reihenfolge oder ein Verbund, der sie enthält

      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

    • Bildet einen flachen, auf der Bodenebene gezeichneten Draht auf die Oberfläche einer Fläche ab, als wäre die Zeichnung um sie gewickelt.

      Die Z-Koordinate des Drahts wird als U und seine X-Koordinate als V gelesen, in den echten UV-Werten der Fläche, die shapes.face.getUMinBound und seine Geschwister melden; eine Zeichnung, die in diese Grenzen passt, landet auf der Fläche.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der auf der Oberfläche der Fläche liegende Draht

      const onSurface = await bitbybit.occt.shapes.wire.placeWireOnFace({ wire: flatWire, face: cylinderFace });
      
    • Bildet mehrere flache, auf der Bodenebene gezeichnete Drähte auf die Oberfläche einer Fläche ab, wie placeWireOnFace es für einen tut.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer[]>

      Die auf der Oberfläche der Fläche liegenden Drähte, in derselben Reihenfolge

      const onSurface = await bitbybit.occt.shapes.wire.placeWiresOnFace({ wires: flatWires, face: cylinderFace });
      
    • Projiziert einen Draht entlang einer Richtung auf eine Form, wie das Werfen seines Schattens auf die Oberfläche.

      Das Ergebnis ist ein Verbund der Kurven, an denen die Projektion auf die Flächen der Form trifft, was sowohl auf ihrer nahen als auch auf ihrer fernen Seite sein kann. Schneiden Sie damit eine Fläche über shapes.face.createFaceFromWireOnFace oder verwenden Sie es als Pfad.

      Parameter

      Rückgabewert Promise<TopoDSCompoundPointer>

      Ein Verbund der projizierten Kurven

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

    primitives

    • Erstellt einen vollen Kreis als geschlossenen Einzelkanten-Draht, in der Ebene liegend, deren Normale direction ist; der Standard [0, 1, 0] legt ihn flach auf den Boden.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Kreisdraht

      const circle = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Füllt ein Rechteck auf der Bodenebene mit einem Gitter aus geschlossenen Sechseckdrähten, zentriert auf dem Ursprung.

      Die Sechsecke werden so skaliert, dass nrHexagonsInWidth über width und nrHexagonsInHeight über height passen. Die Skalierungs-, Verrundungs- und Einschlussmuster werden Sechseck für Sechseck gelesen und wiederholen sich; die Extend-Flags strecken die äußeren Reihen über die Ränder hinaus, um das Rechteck abzudecken.

      Parameter

      • inputs: HexagonsInGridDto

        Die Rechteckgröße, die Sechseckanzahlen, die Erweiterungs-Flags und die optionalen Muster

      Rückgabewert Promise<TopoDSWirePointer[]>

      Ein Draht pro Sechseck, Reihe für Reihe

      const cells = await bitbybit.occt.shapes.wire.hexagonsInGrid({
      width: 20,
      height: 10,
      nrHexagonsInWidth: 8,
      nrHexagonsInHeight: 4,
      flatTop: false,
      scalePatternWidth: [0.9],
      scalePatternHeight: [0.9],
      });
    • Erstellt einen geschlossenen Quadratdraht, zentriert auf center.

      direction ist die Normale seiner Ebene: der Standard [0, 1, 0] legt ihn flach auf den Boden.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Quadratdraht

      const square = await bitbybit.occt.shapes.wire.createSquareWire({ size: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Erstellt einen geschlossenen sternförmigen Draht mit numRays Zacken.

      Die Zacken reichen bis outerRadius und die Kerben dazwischen bis innerRadius; offsetOuterEdges hebt die Strahlspitzen um diesen Abstand aus der Ebene und macht so einen 3D-Stern, und half behält die erste Hälfte der Strahlen als offenen Draht. Er liegt flach auf dem Boden, sofern direction nichts anderes sagt.

      Parameter

      • inputs: Bit.Inputs.OCCT.StarDto

        Die beiden Radien, die Anzahl der Strahlen, der Mittelpunkt, die Ebenennormale und die Optionen

      Rückgabewert Promise<TopoDSWirePointer>

      Der Sterndraht

      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 });
      
    • Erstellt einen geschlossenen Draht in Form eines stilisierten Weihnachtsbaums: nrSkirts Astschichten, die sich von outerDist auf innerDist von der Stammlinie verjüngen, auf einem Stamm mit trunkHeight und trunkWidth.

      Anders als die anderen flachen Formen hier steht er aufrecht in der XY-Ebene, Spitze entlang Y; direction ist die Richtung vom Stamm zur Spitze, rotation dreht ihn um diese Achse, in Grad.

      Parameter

      • inputs: ChristmasTreeDto

        Die Baumproportionen, die Stammgröße, die Optionen, der Ursprung und die Richtung vom Stamm zur Spitze

      Rückgabewert Promise<TopoDSWirePointer>

      Der Baumdraht

      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],
      });
    • Erstellt einen geschlossenen regelmäßigen Polygondraht mit nrCorners Ecken, alle auf einem Kreis mit radius.

      direction ist die Normale der Ebene; der Standard [0, 1, 0] legt ihn flach auf den Boden.

      Parameter

      • inputs: NGonWireDto

        Die Anzahl der Ecken, der Radius, der Mittelpunkt und die Ebenennormale

      Rückgabewert Promise<TopoDSWirePointer>

      Der Polygondraht

      const hexagon = await bitbybit.occt.shapes.wire.createNGonWire({ nrCorners: 6, radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Erstellt einen geschlossenen Parallelogrammdraht: ein Rechteck mit width und height, dessen Seiten um angle Grad geneigt sind.

      Mit aroundCenter true ist die Form auf center zentriert; andernfalls beginnt sie dort und erstreckt sich in die positiven Richtungen. direction ist die Ebenennormale; der Standard [0, 1, 0] legt ihn flach auf den Boden.

      Parameter

      • inputs: ParallelogramDto

        Die Breite, die Höhe, der Neigungswinkel, ob es zentriert wird, der Mittelpunkt und die Ebenennormale

      Rückgabewert Promise<TopoDSWirePointer>

      Der Parallelogrammdraht

      const shape = await bitbybit.occt.shapes.wire.createParallelogramWire({ width: 10, height: 5, angle: 30, aroundCenter: true, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Erstellt einen geschlossenen herzförmigen Draht aus zwei glatten Hälften, der ungefähr in ein Quadrat mit sizeApprox passt.

      rotation dreht ihn in seiner Ebene, in Grad. direction ist die Ebenennormale; der Standard [0, 1, 0] legt ihn flach auf den Boden.

      Parameter

      • inputs: Heart2DDto

        Die ungefähre Größe, die Drehung, der Mittelpunkt und die Ebenennormale

      Rückgabewert Promise<TopoDSWirePointer>

      Der Herzdraht

      const heart = await bitbybit.occt.shapes.wire.createHeartWire({ sizeApprox: 10, rotation: 0, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Erstellt einen geschlossenen Rechteckdraht, zentriert auf center.

      Auf der Bodenebene verläuft width entlang X und length entlang Z; direction ist die Normale der Ebene, und der Standard [0, 1, 0] hält den Draht flach auf dem Boden.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Rechteckdraht

      const rectangle = await bitbybit.occt.shapes.wire.createRectangleWire({ width: 20, length: 10, center: [0, 0, 0], direction: [0, 1, 0] });
      
    • Erstellt einen geschlossenen L-förmigen Draht: zwei rechteckige Schenkel, an einer Ecke verbunden.

      Der erste Schenkel hat widthFirst und lengthFirst, der zweite widthSecond und lengthSecond; align setzt die Ecke an die Außenseite, Innenseite oder Mitte der Schenkel, und rotation dreht die Form in ihrer Ebene, in Grad. Er liegt flach auf dem Boden, sofern direction nichts anderes sagt.

      Parameter

      • inputs: LPolygonDto

        Die beiden Schenkelgrößen, die Ausrichtung, die Drehung, der Mittelpunkt und die Ebenennormale

      Rückgabewert Promise<TopoDSWirePointer>

      Der L-förmige Draht

      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],
      });
    • Erstellt eine volle Ellipse als geschlossenen Einzelkanten-Draht, in der Ebene liegend, deren Normale direction ist.

      radiusMajor darf nicht kleiner sein als radiusMinor, sonst verweigert der Kernel die Ellipse; die Standardrichtung [0, 1, 0] legt sie flach auf den Boden.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Ellipsendraht

      const ellipse = await bitbybit.occt.shapes.wire.createEllipseWire({ center: [0, 0, 0], direction: [0, 1, 0], radiusMinor: 3, radiusMajor: 6 });
      
    • Erstellt einen Wendeldraht, eine Spule mit konstantem radius, die pitch Modelleinheiten pro Windung steigt, bis sie height erreicht.

      Sie beginnt neben center und steigt entlang direction; clockwise kehrt die Wicklung um. Die Wendel wird durch eine glatte Kurve innerhalb von tolerance angenähert. Ein Radius, eine Steigung oder eine Höhe von 0 oder weniger ergibt einen null-Draht.

      Parameter

      • inputs: HelixWireDto

        Der Radius, die Steigung, die Höhe, der Basismittelpunkt, die Achsenrichtung, der Windungssinn und die Toleranz

      Rückgabewert Promise<TopoDSWirePointer>

      Der Helixdraht

      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 });
      
    • Erstellt einen Wendeldraht wie createHelixWire, aber bemessen nach numTurns statt nach einer Höhe: die Spule steigt pitch Modelleinheiten pro Windung, numTurns Mal.

      Parameter

      • inputs: HelixWireByTurnsDto

        Der Radius, die Steigung, die Anzahl der Windungen, der Basismittelpunkt, die Achsenrichtung, der Windungssinn und die Toleranz

      Rückgabewert Promise<TopoDSWirePointer>

      Der Helixdraht

      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 });
      
    • Erstellt einen konischen Wendeldraht, dessen Radius sich gleichmäßig von startRadius am Fuß zu endRadius an der Spitze ändert und der pitch Modelleinheiten pro Windung steigt, bis er height erreicht.

      Er beginnt neben center und steigt entlang direction; clockwise kehrt die Wicklung um. Die Kurve wird innerhalb von tolerance angenähert.

      Parameter

      • inputs: TaperedHelixWireDto

        Der Start- und der Endradius, die Steigung, die Höhe, der Basismittelpunkt, die Achsenrichtung, der Windungssinn und die Toleranz

      Rückgabewert Promise<TopoDSWirePointer>

      Der konische Helixdraht

      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 });
      
    • Erstellt einen flachen Spiraldraht in der Ebene, deren Normale direction ist: numTurns Windungen, deren Radius gleichmäßig von startRadius auf endRadius wächst.

      Die Standardrichtung [0, 1, 0] legt ihn flach auf den Boden; clockwise kehrt die Wicklung um, und die Kurve wird innerhalb von tolerance angenähert.

      Parameter

      • inputs: FlatSpiralWireDto

        Der Start- und der Endradius, die Anzahl der Windungen, der Mittelpunkt, die Ebenennormale, der Windungssinn und die Toleranz

      Rückgabewert Promise<TopoDSWirePointer>

      Der Spiraldraht

      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 });
      
    • Schreibt Text als Strichdrähte auf die Bodenebene in der einlinigen Hershey-Simplex-Schrift, ein offener Polyliniendraht pro Stiftstrich.

      height ist die Höhe eines Großbuchstabens in Modelleinheiten, lineSpacing und letterSpacing sind Vielfache davon, align richtet Zeilen unterschiedlicher Länge aus, und centerOnOrigin verschiebt den Block zum Ursprung.

      Parameter

      • inputs: TextWiresDto

        Der Text, seine Größe und sein Abstand, die Ausrichtung und die Platzierungsoptionen

      Rückgabewert Promise<TopoDSWirePointer[]>

      Ein Draht pro Strich, in Schreibreihenfolge

      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,
      });
    • Schreibt Text als Strichdrähte wie textWires und packt sie in Verbünde, zusammen mit der Größe des Blocks.

      Das Ergebnis enthält compound mit dem gesamten Text, characters mit einem Verbund pro Zeichen in Schreibreihenfolge, width und height als Ausdehnung des Blocks entlang X und entlang Z, und center als Mitte des Blocks.

      Parameter

      • inputs: TextWiresDto

        Der Text, seine Größe und sein Abstand, die Ausrichtung und die Platzierungsoptionen

      Rückgabewert Promise<TextWiresDataDto<TopoDSCompoundPointer>>

      Der Textverbund, die Zeichenverbünde und die gemessene Größ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

    • Baut jede Kante eines Drahts als B-spline eines gegebenen Grads neu auf, innerhalb einer Toleranz, und verbindet die Ergebnisse wieder zu einem Draht.

      Ein niedrigerer Grad vereinfacht die Kurven, ein höherer gibt späteren Operationen mehr Freiheit; so oder so bleibt jede neue Kurve innerhalb von tolerance zur alten.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Ein neuer Draht mit den neu aufgebauten Kanten

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

    seam

    • Verschiebt die Naht eines geschlossenen periodischen Drahts, den Punkt, an dem er beginnt und endet, zu einem gegebenen Parameter entlang seiner Kurve.

      Die Geometrie ändert sich nicht; nur wo der Draht als beginnend gilt. Gedacht für Einzelkanten-Drähte wie Kreise: jede periodische Kante wird verschoben, Kanten, die nicht periodisch sind, bleiben, wie sie sind.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Ein neuer Draht, der an der Naht beginnt

      const rotated = await bitbybit.occt.shapes.wire.moveWireSeamByParameter({ shape: circle, parameter: 1.57 });
      
    • Verschiebt die Naht eines geschlossenen periodischen Drahts, den Punkt, an dem er beginnt und endet, um einen Abstand entlang der Kurve von seinem aktuellen Anfang.

      Die Geometrie ändert sich nicht; nur wo der Draht als beginnend gilt. Gedacht für Einzelkanten-Drähte wie Kreise: jede periodische Kante wird verschoben, Kanten, die nicht periodisch sind, bleiben, wie sie sind.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Ein neuer Draht, der an der Naht beginnt

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

    via points

    • Erstellt einen geschlossenen Draht aus geraden Kanten durch eine Liste von Eckpunkten und fügt die Kante vom letzten Punkt zurück zum ersten hinzu.

      Die Punkte müssen nicht in einer Ebene liegen; eine ebene Fläche braucht allerdings einen ebenen Umriss.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der geschlossene Draht

      const square = await bitbybit.occt.shapes.wire.createPolygonWire({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]] });
      
    • Erstellt einen geraden Einzelkanten-Draht zwischen zwei Punkten.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der gerade Draht

      const line = await bitbybit.occt.shapes.wire.createLineWire({ start: [0, 0, 0], end: [10, 0, 0] });
      
    • Erstellt einen geraden Einzelkanten-Draht zwischen zwei Punkten und verlängert ihn über jeden von ihnen hinaus.

      extensionStart und extensionEnd sind Abstände in Modelleinheiten, die über den Anfang und das Ende hinaus entlang der Linie hinzugefügt werden; die beiden Punkte müssen sich unterscheiden, sonst wird ein Fehler ausgelöst.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der verlängerte gerade Draht

      const longer = await bitbybit.occt.shapes.wire.createLineWireWithExtensions({ start: [0, 0, 0], end: [10, 0, 0], extensionStart: 2, extensionEnd: 5 });
      
    • Erstellt einen offenen Draht aus geraden Kanten durch eine Liste von Punkten, der Reihe nach.

      Der Draht ist nicht geschlossen; createPolygonWire fügt die Kante zurück zum ersten Punkt hinzu.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der offene Draht

      const path = await bitbybit.occt.shapes.wire.createPolylineWire({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10]] });
      
    • Erstellt einen glatten Bezier-Draht, der von Kontrollpunkten gelenkt wird: er beginnt am ersten Punkt, endet am letzten und wird zu den dazwischen gezogen, ohne durch sie zu verlaufen.

      closed hängt den ersten Punkt erneut an, sodass sich die Enden treffen; periodic baut stattdessen eine geschlossene Kurve, die über die Naht hinweg glatt ist. degree begrenzt, wie viele Nachbarn jeden Teil formen.

      Parameter

      • inputs: BezierDto

        Die Kontrollpunkte und die Optionen für Schließen und Grad

      Rückgabewert Promise<TopoDSWirePointer>

      Der Bezier-Draht

      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 });
      
    • Erstellt einen Bezier-Draht wie createBezier, mit einem Gewicht pro Kontrollpunkt, das sagt, wie stark er die Kurve zieht.

      Ein Gewicht über 1 zieht die Kurve zu seinem Punkt, unter 1 lässt sie los. Die Gewichte müssen zu den Punkten passen: dieselbe Anzahl, oder eine mehr, wenn closed true und periodic false ist, da sich der erste Punkt wiederholt.

      Parameter

      • inputs: BezierWeightsDto

        Die Kontrollpunkte, ihre Gewichte und die Optionen für Schließen und Grad

      Rückgabewert Promise<TopoDSWirePointer>

      Der gewichtete Bezier-Draht

      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,
      });
    • Erstellt einen glatten B-spline-Draht, der der Reihe nach durch jeden Punkt verläuft.

      periodic schließt die Kurve, sodass sie über die Naht hinweg glatt ist, was schön geformte Schleifen ergibt. parametrization steuert den Abstand zwischen Punkten: centripetal widersteht Spitzen und Überschwingen, wenn die Punkte ungleichmäßig sind. startTangent und endTangent, oder ein tangents- Eintrag pro Punkt, erzwingen dort die Richtung der Kurve.

      Parameter

      • inputs: InterpolationDto

        Die Punkte, ob die Kurve geschlossen wird, die Toleranz, die Parametrisierung und optionale Tangenten

      Rückgabewert Promise<TopoDSWirePointer>

      Der B-spline-Draht durch die Punkte

      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,
      });
    • Erstellt einen geschlossenen, glatten B-spline-Draht durch die Punkte, dessen Form spiegelsymmetrisch ist, wann immer die Punkte es sind, ohne seltsam aussehenden Start- oder Endpunkt.

      Ein einfaches periodisches interpolatePoints kann bei symmetrischen Eingaben wie einem Quadrat oder einem Dreieck an seiner Naht schief aussehen; diese Variante nicht. Sie scheitert mit einem Fehler, wenn die Punkte nicht interpoliert werden können.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der geschlossene symmetrische B-spline-Draht

      const rounded = await bitbybit.occt.shapes.wire.interpolatePointsSymmetric({ points: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]], tolerance: 1e-7 });
      
    • Erstellt einen glatten B-spline-Draht, der eine Liste von Punkten annähert: er folgt ihnen eng, muss aber nicht genau durch jeden verlaufen.

      closed hängt den ersten Punkt erneut an, sodass sich die Enden treffen. Die Anpassung verwendet einen Grad zwischen 3 und 8 und eine Toleranz von 0.001 Modelleinheiten; verwenden Sie interpolatePoints, wenn die Kurve durch die Punkte verlaufen muss.

      Parameter

      • inputs: BSplineDto

        Die Punkte und ob die Kurve geschlossen wird

      Rückgabewert Promise<TopoDSWirePointer>

      Der B-spline-Draht

      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

    • Zeichnet eine Zickzacklinie, die zwischen zwei Drähten hin und her springt: beide werden in dieselbe Anzahl von Punkten geteilt und eine Polylinie besucht sie abwechselnd.

      nrZigZags legt die Anzahl der Sprünge fest; inverse beginnt auf dem zweiten Draht; divideByEqualDistance verteilt die Punkte nach Länge statt nach Parameter; mit zigZagsPerEdge true erhält jede Kante ihren eigenen Zickzack, daher müssen die Kantenanzahlen übereinstimmen.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der Zickzack-Draht

      const zigzag = await bitbybit.occt.shapes.wire.createZigZagBetweenTwoWires({ wire1: lower, wire2: upper, nrZigZags: 20, inverse: false, divideByEqualDistance: true, zigZagsPerEdge: false });
      
    • Verbindet die Startpunkte mehrerer Drähte oder Kanten zu einem neuen Draht und ihre Endpunkte zu einem anderen.

      wireType macht sie zu Polylinien oder glatten interpolierten Kurven, closed verbindet den letzten Punkt zurück mit dem ersten, und tolerance wird für die Interpolation verwendet. Weniger als zwei Formen lösen einen Fehler aus.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer[]>

      Zwei Drähte: einer durch die Startpunkte, einer durch die Endpunkte

      const [starts, ends] = await bitbybit.occt.shapes.wire.createWiresBetweenStartEndPointsOfWiresAndEdges({
      shapes: [wireA, wireB, wireC],
      wireType: Bit.Inputs.OCCT.wireFromPointsTypeEnum.interpolated,
      closed: false,
      tolerance: 1e-7,
      });
    • Teilt mehrere Drähte oder Kanten in dieselbe Anzahl von Punkten und verbindet die Punkte an jeder Position zu einem neuen Draht, wie die Sprossen einer Leiter.

      nrOfDivisions Schritte ergeben eine Sprosse mehr als das; divideByEqualDistance verteilt die Punkte nach Länge statt nach Parameter; wireType macht die Sprossen zu Polylinien oder glatten Kurven, closed verbindet jede zu einer Schleife.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer[]>

      Ein Draht pro Teilungspunkt, in Reihenfolge entlang der Formen

      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,
      });
    • Zeichnet einen geschlossenen Umriss um zwei Kreise, die in einer Ebene liegen, und verbindet sie mit Tangenten- linien: eine Riemen- oder Kapselform.

      keepLines wählt die äußeren Tangentenlinien (den Riemen) oder die sich kreuzenden inneren; circleRemainders wählt, welcher Bogen jedes Kreises im Umriss bleibt. Jeder Kreisdraht muss aus einer einzigen Kante bestehen.

      Parameter

      Rückgabewert Promise<TopoDSWirePointer>

      Der geschlossene Umrissdraht

      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,
      });