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.
L'entité à dessiner et les options de dessin facultatives
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.
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 });
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.
L'entité à dessiner et les options de dessin facultatives
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.
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 });
Dessine une grille sur le plan du sol, comme le fait drawGridMesh, sans renvoyer le maillage.
La taille, l'espacement des lignes, les couleurs et l'opacité de la grille
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.
La taille, l'espacement des lignes, les couleurs et l'opacité de la grille
Le maillage de la grille
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.
L'URL de l'image et les options de répétition, de décalage, de rotation, de retournement et d'échantillonnage
La texture du moteur
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.
Le nom, les couleurs, les valeurs métallique et de rugosité, l'opacité, les textures et les options de rendu
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 });
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.
Les options de départ
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.
Les options de départ
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.
Les options de départ
Les options de dessin
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.
Les options de départ
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.
Les options de départ
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.
Les options de départ
Les options de dessin
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éthodesoptionsconstruisent les options de dessin avec des valeurs par défaut pour chaque type d'entité,createPBRMaterialetcreateTexturefabriquent des matériaux pour les emplacements de faces, et un objet dessiné peut être redessiné sur place en le repassant.