Bitbybit Docs
    Preparing search index...

    Class Draw

    Dessiner n'importe quoi dans la scène : formes des noyaux, points, lignes, polylignes, courbes, maillages et étiquettes passent tous par drawAnyAsync, qui choisit le bon moteur de rendu pour l'entité et renvoie l'objet dessiné. Les méthodes options construisent les options de dessin avec des valeurs par défaut pour chaque type d'entité, createPBRMaterial et createTexture fabriquent des matériaux pour les emplacements de faces, et un objet dessiné peut être redessiné sur place en le repassant.

    Hierarchy (View Summary)

    Index

    Constructors

    • Returns Bit.Draw

    draw async

    • Dessine n'importe quelle entité dans la scène, comme le fait drawAnyAsync, sans renvoyer l'objet dessiné ; pour la dernière étape d'un script qui a seulement besoin que le résultat apparaisse.

      Parameters

      • inputs: DrawAny

        L'entité à dessiner et les options de dessin facultatives

      Returns 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 });
    • Dessine dans la scène n'importe quelle entité produite par la bibliothèque et renvoie l'objet dessiné : formes de noyau d'OCCT, JSCAD et Manifold, points, lignes, polylignes, courbes, maillages, étiquettes et nœuds.

      Les options sont adaptées à l'entité, avec des valeurs par défaut quand aucune n'est donnée ; repassez le résultat précédent dans l'emplacement de mise à jour pour redessiner sur place.

      Type Parameters

      • E extends any

      Parameters

      • inputs: DrawAny<E>

        L'entité à dessiner, les options de dessin facultatives et le résultat précédent lors d'une mise à jour

      Returns Promise<Drawn<E, Mesh>>

      Ce que produit le dessin de l'entité : un objet de scène pour la géométrie, l'étiquette ou les étiquettes pour une étiquette, un trièdre d'axes pour un nœud ; undefined pour une liste vide

      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

    • Dessine une entité qui ne demande aucun travail du noyau, comme le fait drawAny, sans renvoyer l'objet dessiné ; les points, lignes, polylignes et étiquettes conviennent, les formes de noyau non.

      Parameters

      • inputs: DrawAny

        L'entité à dessiner et les options de dessin facultatives

      Returns void

      bitbybit.draw.drawAnyNoReturn({ entity: [[0, 0, 0], [5, 5, 5], [10, 0, 0]] });
      
    • Dessine immédiatement dans la scène une entité qui ne demande aucun travail du noyau et renvoie l'objet dessiné : points, lignes, polylignes, étiquettes et nœuds.

      Les formes de noyau d'OCCT, JSCAD et Manifold doivent passer par drawAnyAsync, qui attend que le noyau les maille.

      Type Parameters

      • E extends any

      Parameters

      • inputs: DrawAny<E>

        L'entité à dessiner, les options de dessin facultatives et le résultat précédent lors d'une mise à jour

      Returns Drawn<E, Mesh>

      Ce que produit le dessin de l'entité : un objet de scène pour la géométrie, l'étiquette ou les étiquettes pour une étiquette, un trièdre d'axes pour un nœud ; undefined pour une liste vide

      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

    • Dessine une grille sur le plan du sol, comme le fait drawGridMesh, sans renvoyer le maillage.

      Parameters

      • inputs: SceneDrawGridMeshDto

        La taille, l'espacement des lignes, les couleurs et l'opacité de la grille

      Returns 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" });
      
    • Dessine une grille sur le plan du sol, le plan XZ passant par l'origine, pour donner une idée de l'échelle et de l'orientation ; par défaut, une ligne sur dix est dessinée plus épaisse.

      Parameters

      • inputs: SceneDrawGridMeshDto

        La taille, l'espacement des lignes, les couleurs et l'opacité de la grille

      Returns Mesh

      Le maillage de la grille

      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

    • Crée une texture d'image à partir d'une URL pour les emplacements de texture de createPBRMaterial, avec une répétition, un décalage, une rotation et un filtrage qui signifient la même chose dans chaque moteur de rendu.

      Parameters

      • inputs: GenericTextureDto

        L'URL de l'image et les options de répétition, de décalage, de rotation, de retournement et d'échantillonnage

      Returns Texture

      La texture du moteur

      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 });
      
    • Crée un matériau à rendu physique à partir de réglages qui signifient la même chose dans chaque moteur de rendu : couleur de base, métallique et rugosité, opacité, lueur émissive, les emplacements de texture et les options d'alpha et de face ; placez-le dans le faceMaterial des options de dessin.

      Parameters

      • inputs: GenericPBRMaterialDto

        Le nom, les couleurs, les valeurs métallique et de rugosité, l'opacité, les textures et les options de rendu

      Returns PBRMetallicRoughnessMaterial

      Le matériau du moteur

      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

    • Construit les options de dessin pour les points, lignes, polylignes, courbes, surfaces et maillages JSCAD : couleurs, taille, opacité, rendu double face et pointes de flèche sur les lignes, avec des valeurs par défaut pour ce qui est omis.

      Parameters

      Returns DrawBasicGeometryOptions

      Les options de dessin

      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 });
      
    • Construit les options de dessin complètes pour les formes OCCT : précision de maillage, couleurs et tailles des faces, arêtes et sommets, libellés d'index, flèches sur les arêtes, rendu double face et cache de triangulation, avec des valeurs par défaut pour ce qui est omis.

      Parameters

      Returns DrawOcctShapeOptions

      Les options de dessin

      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 });
      
    • Construit les options de dessin les plus utilisées pour les formes OCCT, précision, couleurs des faces et des arêtes et rendu double face, avec des valeurs par défaut pour ce qui est omis.

      Parameters

      Returns DrawOcctShapeSimpleOptions

      Les options de dessin

      const options = bitbybit.draw.optionsOcctShapeSimple({ precision: 0.01, drawFaces: true, faceColour: "#ff0000", drawEdges: true, edgeColour: "#ffffff", edgeWidth: 2, drawTwoSided: true, backFaceColour: "#0000ff", backFaceOpacity: 1 });
      
    • Construit les options de dessin pour les formes OCCT dont les faces utilisent un matériau complet du moteur, tel que createPBRMaterial en crée un, plus la précision et le style des arêtes.

      Parameters

      Returns DrawOcctShapeMaterialOptions

      Les options de dessin

      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 });
    • Construit les options de dessin pour les solides et sections Manifold : couleur des faces ou matériau complet du moteur, style de ligne des sections, normales et rendu double face.

      Parameters

      Returns DrawManifoldOrCrossSectionOptions

      Les options de dessin

      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 });
    • Construit les options de dessin pour les nœuds de transformation, qui sont dessinés comme un trièdre de lignes d'axes colorées d'une longueur donnée.

      Parameters

      Returns DrawNodeOptions

      Les options de dessin

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