Bitbybit Docs
    Bereite Suchindex vor...

    Klasse Draw

    Zeichnet alles in die Szene: Kernel-Formen, Punkte, Linien, Polylinien, Kurven, Meshes und Tags laufen alle über drawAnyAsync, das den passenden Renderer für die Entität wählt und das gezeichnete Objekt zurückgibt. Die options-Methoden bauen die Zeichenoptionen mit Standardwerten für jede Art von Entität, createPBRMaterial und createTexture erstellen Materialien für die Flächenslots, und ein gezeichnetes Objekt kann an Ort und Stelle neu gezeichnet werden, indem es zurückgegeben wird.

    Hierarchie (Zusammenfassung anzeigen)

    Index

    Konstruktoren

    • Rückgabewert Bit.Draw

    draw async

    • Zeichnet eine beliebige Entität in die Szene, wie drawAnyAsync es tut, ohne das gezeichnete Objekt zurückzugeben; für den letzten Schritt eines Skripts, das nur will, dass das Ergebnis erscheint.

      Parameter

      • inputs: DrawAny

        Die zu zeichnende Entität und die optionalen Zeichenoptionen

      Rückgabewert Promise<void>

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
      await bitbybit.draw.drawAnyAsyncNoReturn({ entity: box });
    • Zeichnet eine beliebige Entität, die die Bibliothek erzeugt, in die Szene und gibt das gezeichnete Objekt zurück: Kernel- Formen aus OCCT, JSCAD und Manifold, Punkte, Linien, Polylinien, Kurven, Meshes, Tags und Knoten.

      Die Optionen werden auf die Entität abgestimmt, mit Standardwerten, wenn keine angegeben sind; übergeben Sie das vorherige Ergebnis im Aktualisierungs-Slot, um an Ort und Stelle neu zu zeichnen.

      Typenparameter

      • E extends any

      Parameter

      • inputs: DrawAny<E>

        Die zu zeichnende Entität, die optionalen Zeichenoptionen und das vorherige Ergebnis beim Aktualisieren

      Rückgabewert Promise<Drawn<E, Mesh>>

      Was das Zeichnen der Entität ergibt: ein Szenenobjekt für Geometrie, das Tag oder die Tags für ein Tag, ein Achsenkreuz für einen Knoten; undefined für eine leere Liste

      const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
      const options = bitbybit.draw.optionsOcctShapeSimple({ precision: 0.01, drawFaces: true, faceColour: "#ff0000", drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1 });
      const drawn = await bitbybit.draw.drawAnyAsync({ entity: box, options });

    draw sync

    • Zeichnet eine Entität, die keine Kernel-Arbeit braucht, wie drawAny es tut, ohne das gezeichnete Objekt zurückzugeben; Punkte, Linien, Polylinien und Tags kommen infrage, Kernel-Formen nicht.

      Parameter

      • inputs: DrawAny

        Die zu zeichnende Entität und die optionalen Zeichenoptionen

      Rückgabewert void

      bitbybit.draw.drawAnyNoReturn({ entity: [[0, 0, 0], [5, 5, 5], [10, 0, 0]] });
      
    • Zeichnet eine Entität, die keine Kernel-Arbeit braucht, sofort in die Szene und gibt das gezeichnete Objekt zurück: Punkte, Linien, Polylinien, Tags und Knoten.

      Kernel-Formen aus OCCT, JSCAD und Manifold müssen durch drawAnyAsync gehen, das darauf wartet, dass der Kernel sie vernetzt.

      Typenparameter

      • E extends any

      Parameter

      • inputs: DrawAny<E>

        Die zu zeichnende Entität, die optionalen Zeichenoptionen und das vorherige Ergebnis beim Aktualisieren

      Rückgabewert Drawn<E, Mesh>

      Was das Zeichnen der Entität ergibt: ein Szenenobjekt für Geometrie, das Tag oder die Tags für ein Tag, ein Achsenkreuz für einen Knoten; undefined für eine leere Liste

      const options = bitbybit.draw.optionsSimple({ colours: "#00ff00", size: 0.5, opacity: 1, updatable: false, hidden: false, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1, colorMapStrategy: Bit.Inputs.Base.colorMapStrategyEnum.lastColorRemainder, arrowSize: 0, arrowAngle: 15 });
      const drawn = bitbybit.draw.drawAny({ entity: [[0, 0, 0], [5, 5, 5], [10, 0, 0]], options });

    grid

    • Zeichnet ein Gitter auf die Bodenebene, wie drawGridMesh es tut, ohne das Mesh zurückzugeben.

      Parameter

      • inputs: SceneDrawGridMeshDto

        Die Größe, der Linienabstand, die Farben und die Deckkraft des Gitters

      Rückgabewert void

      bitbybit.draw.drawGridMeshNoReturn({ width: 400, height: 400, subdivisions: 10, majorUnitFrequency: 10, minorUnitVisibility: 0.45, gridRatio: 0.5, opacity: 0.5, backFaceCulling: false, mainColor: "#ffffff", secondaryColor: "#ffffff" });
      
    • Zeichnet ein Gitter auf die Bodenebene, die XZ-Ebene durch den Ursprung, um ein Gefühl für Maßstab und Orientierung zu geben; jede zehnte Linie wird standardmäßig dicker gezeichnet.

      Parameter

      • inputs: SceneDrawGridMeshDto

        Die Größe, der Linienabstand, die Farben und die Deckkraft des Gitters

      Rückgabewert Mesh

      Das Gitter-Mesh

      const grid = bitbybit.draw.drawGridMesh({ width: 400, height: 400, subdivisions: 10, majorUnitFrequency: 10, minorUnitVisibility: 0.45, gridRatio: 0.5, opacity: 0.5, backFaceCulling: false, mainColor: "#ffffff", secondaryColor: "#ffffff" });
      

    material

    • Erstellt eine Bildtextur aus einer URL für die Textur-Slots von createPBRMaterial, mit Kachelung, Versatz, Drehung und Filterung, die in jedem Renderer dasselbe bedeuten.

      Parameter

      • inputs: GenericTextureDto

        Die Bild-URL und die Optionen für Kachelung, Versatz, Drehung, Spiegelung und Abtastung

      Rückgabewert Texture

      Die Textur der Engine

      const texture = bitbybit.draw.createTexture({ url: "https://example.com/wood.jpg", name: "wood", uScale: 2, vScale: 2, uOffset: 0, vOffset: 0, wAng: 0, invertY: false, invertZ: false, samplingMode: Bit.Inputs.Draw.samplingModeEnum.trilinear });
      
    • Erstellt ein physikalisch basiertes Material aus Einstellungen, die in jedem Renderer dasselbe bedeuten: Grund- farbe, Metallic und Rauheit, Deckkraft, emissives Leuchten, die Textur-Slots und die Alpha- und Seitenoptionen; legen Sie es in das faceMaterial der Zeichenoptionen.

      Parameter

      • inputs: GenericPBRMaterialDto

        Der Name, die Farben, die Metallic- und Rauheitswerte, die Deckkraft, die Texturen und die Renderoptionen

      Rückgabewert PBRMetallicRoughnessMaterial

      Das Material der Engine

      const material = bitbybit.draw.createPBRMaterial({ name: "steel", baseColor: "#c0c0c0", metallic: 1, roughness: 0.4, alpha: 1, emissiveColor: "#000000", emissiveIntensity: 1, zOffset: 0, zOffsetUnits: 0, alphaMode: Bit.Inputs.Draw.alphaModeEnum.opaque, alphaCutoff: 0.5, doubleSided: false, wireframe: false, unlit: false });
      const options = bitbybit.draw.optionsOcctShapeMaterial({ precision: 0.01, faceMaterial: material, drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2 });

    options

    • Erzeugt Zeichenoptionen für Punkte, Linien, Polylinien, Kurven, Oberflächen und JSCAD-Meshes: Farben, Größe, Deckkraft, zweiseitiges Rendern und Pfeilspitzen an Linien, mit Standardwerten für das, was weggelassen wird.

      Parameter

      Rückgabewert DrawBasicGeometryOptions

      Die Zeichenoptionen

      const options = bitbybit.draw.optionsSimple({ colours: "#ff0000", size: 2, opacity: 1, updatable: false, hidden: false, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1, colorMapStrategy: Bit.Inputs.Base.colorMapStrategyEnum.lastColorRemainder, arrowSize: 0, arrowAngle: 15 });
      
    • Erzeugt die vollständigen Zeichenoptionen für OCCT-Formen: Vernetzungsgenauigkeit, Flächen-, Kanten- und Vertex- Farben und -Größen, Indexbeschriftungen, Pfeile an Kanten, zweiseitiges Rendern und der Triangulations- Cache, mit Standardwerten für das, was weggelassen wird.

      Parameter

      Rückgabewert DrawOcctShapeOptions

      Die Zeichenoptionen

      const options = bitbybit.draw.optionsOcctShape({ faceOpacity: 1, edgeOpacity: 1, edgeColour: "#ffffff", faceColour: "#ff0000", edgeWidth: 2, drawEdges: true, drawFaces: true, drawVertices: false, vertexColour: "#ff00ff", vertexSize: 0.03, precision: 0.01, drawEdgeIndexes: false, edgeIndexHeight: 0.06, edgeIndexColour: "#ff00ff", drawFaceIndexes: false, faceIndexHeight: 0.06, faceIndexColour: "#0000ff", drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1, edgeArrowSize: 0, edgeArrowAngle: 15, keepMeshData: false, allowQualityDecrease: true, forceFaceDeflection: false });
      
    • Erzeugt die meistgenutzten Zeichenoptionen für OCCT-Formen, Genauigkeit, Flächen- und Kantenfarben und zweiseitiges Rendern, mit Standardwerten für das, was weggelassen wird.

      Parameter

      Rückgabewert DrawOcctShapeSimpleOptions

      Die Zeichenoptionen

      const options = bitbybit.draw.optionsOcctShapeSimple({ precision: 0.01, drawFaces: true, faceColour: "#ff0000", drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1 });
      
    • Erzeugt Zeichenoptionen für OCCT-Formen, deren Flächen ein vollständiges Engine-Material verwenden, wie createPBRMaterial eines erzeugt, plus die Genauigkeit und den Kantenstil.

      Parameter

      Rückgabewert DrawOcctShapeMaterialOptions

      Die Zeichenoptionen

      const material = bitbybit.draw.createPBRMaterial({ name: "steel", baseColor: "#c0c0c0", metallic: 1, roughness: 0.4, alpha: 1, emissiveColor: "#000000", emissiveIntensity: 1, zOffset: 0, zOffsetUnits: 0, alphaMode: Bit.Inputs.Draw.alphaModeEnum.opaque, alphaCutoff: 0.5, doubleSided: false, wireframe: false, unlit: false });
      const options = bitbybit.draw.optionsOcctShapeMaterial({ precision: 0.01, faceMaterial: material, drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2 });
    • Erzeugt Zeichenoptionen für Manifold-Volumenkörper und -Querschnitte: Flächenfarbe oder ein vollständiges Engine- Material, der Linienstil von Querschnitten, Normalen und das zweiseitige Rendern.

      Parameter

      Rückgabewert DrawManifoldOrCrossSectionOptions

      Die Zeichenoptionen

      const options = bitbybit.draw.optionsManifoldShapeMaterial({ faceOpacity: 1, faceColour: "#ff0000", faceMaterial: material, crossSectionColour: "#ff00ff", crossSectionWidth: 2, crossSectionOpacity: 1, computeNormals: false, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1 });
      const drawn = await bitbybit.draw.drawAnyAsync({ entity: solid, options });
    • Erzeugt Zeichenoptionen für Transformationsknoten, die als Dreibein farbiger Achsenlinien einer gegebenen Länge gezeichnet werden.

      Parameter

      Rückgabewert DrawNodeOptions

      Die Zeichenoptionen

      const options = bitbybit.draw.optionsBabylonNode({ colorX: "#ff0000", colorY: "#00ff00", colorZ: "#0000ff", size: 2 });
      const drawn = await bitbybit.draw.drawAnyAsync({ entity: node, options });