Bitbybit Docs
    Bereite Suchindex vor...

    Klasse JSCAD

    Der Einstiegspunkt zum JSCAD-Kernel, einem mesh-basierten Volumenmodellierer mit drei Arten von Geometrie: einem Volumenkörper, gehalten als geschlossene Menge von Polygonen; einer ebenen 2D-Form, gehalten als Region in der XY-Ebene; und einem 2D-Pfad, einer offenen oder geschlossenen Polylinie in dieser Ebene. shapes und polygon bauen sie, booleans, extrusions, expansions und hulls kombinieren und vergrößern sie, text schreibt mit ihnen und colors färbt sie. Ebene Formen liegen in der XY-Ebene und werden entlang Z extrudiert. Die Methoden des Dienstes selbst wandeln Volumenkörper in Mesh-Daten um, bewegen sie mit Matrizen und schreiben STL-, DXF- und 3MF-Dateien. Dank an die JSCAD-Community für den Kernel.

    Index

    Konstruktoren

    Eigenschaften

    booleans: JSCADBooleans
    expansions: JSCADExpansions
    extrusions: JSCADExtrusions
    hulls: JSCADHulls
    path: JSCADPath
    polygon: JSCADPolygon
    shapes: JSCADShapes
    text: JSCADText
    colors: JSCADColors

    conversions

    • Verwandelt einen Volumenkörper in eine Liste von Dreiecken, jedes als drei Punkte gegeben, mit der eigenen Transformation des Volumenkörpers bereits angewendet.

      Eine flache 2D-Form erhält zuerst eine winzige Dicke, damit sie überhaupt Flächen hat. Eine Entität ohne Polygone ergibt eine leere Liste.

      Parameter

      Rückgabewert Promise<Mesh3>

      Die Dreiecke als Listen von drei Punkten

      const cube = await bitbybit.jscad.shapes.cube({ center: [0, 0, 0], size: 10 });
      const triangles = await bitbybit.jscad.toPolygonPoints({ mesh: cube });

    io

    • Schreibt einen Volumenkörper als binäre STL-Datei, das gängige Format für den 3D-Druck, und lädt sie im Browser als fileName plus .stl herunter.

      Parameter

      Rückgabewert Promise<void>

      Die STL-Datei als Blob; die asynchrone API startet stattdessen den Download und gibt nichts zurück

      await bitbybit.jscad.downloadSolidSTL({ mesh: cube, fileName: "cube" });
      
    • Schreibt mehrere Volumenkörper in eine binäre STL-Datei und lädt sie im Browser als fileName plus .stl herunter.

      Parameter

      Rückgabewert Promise<void>

      Die STL-Datei als Blob; die asynchrone API startet stattdessen den Download und gibt nichts zurück

      await bitbybit.jscad.downloadSolidsSTL({ meshes: [cube, sphere], fileName: "parts" });
      
    • Schreibt einen Volumenkörper, eine 2D-Form, einen Pfad oder eine Liste davon als DXF-Zeichnungsdatei und lädt sie im Browser als fileName plus .dxf herunter.

      options wird unverändert an den DXF-Schreiber übergeben und kann weggelassen werden.

      Parameter

      Rückgabewert Promise<void>

      Die DXF-Datei als Blob; die asynchrone API startet stattdessen den Download und gibt nichts zurück

      const circle = await bitbybit.jscad.polygon.circle({ center: [0, 0], radius: 5, segments: 32 });
      await bitbybit.jscad.downloadGeometryDxf({ geometry: circle, fileName: "circle", options: {} });
    • Schreibt einen Volumenkörper, eine 2D-Form, einen Pfad oder eine Liste davon als 3MF-Datei, ein modernes 3D-Druck- format, und lädt sie im Browser als fileName plus .3mf herunter.

      options wird unverändert an den 3MF-Schreiber übergeben und kann weggelassen werden.

      Parameter

      Rückgabewert Promise<void>

      Die 3MF-Datei als Blob; die asynchrone API startet stattdessen den Download und gibt nichts zurück

      await bitbybit.jscad.downloadGeometry3MF({ geometry: [cube, sphere], fileName: "parts", options: {} });
      

    transforms

    • Verschiebt, dreht oder skaliert mehrere Volumenkörper mit derselben Transformation und liefert neue Volumenkörper in derselben Reihenfolge.

      transformation ist eine 4x4-Matrix, eine Liste von Matrizen, die der Reihe nach angewendet werden, oder eine Liste solcher Listen; eine flache 2D-Form oder ein Pfad löst einen Fehler aus.

      Parameter

      Rückgabewert Promise<JSCADEntity[]>

      Die transformierten Volumenkörper, in derselben Reihenfolge

      const translation = bitbybit.transforms.translationXYZ({ translation: [10, 0, 0] });
      const moved = await bitbybit.jscad.transformSolids({ meshes: [cube, sphere], transformation: translation });
    • Verschiebt, dreht oder skaliert einen Volumenkörper mit einer Transformation und liefert einen neuen Volumenkörper.

      transformation ist eine 4x4-Matrix, eine Liste von Matrizen, die der Reihe nach angewendet werden, oder eine Liste solcher Listen; eine flache 2D-Form oder ein Pfad löst einen Fehler aus.

      Parameter

      Rückgabewert Promise<JSCADEntity>

      Der transformierte Volumenkörper

      const rotation = bitbybit.transforms.rotationCenterAxis({ angle: 45, axis: [0, 1, 0], center: [0, 0, 0] });
      const turned = await bitbybit.jscad.transformSolid({ mesh: cube, transformation: rotation });