Dibuja cualquier entidad en la escena, como hace drawAnyAsync, sin devolver el objeto
dibujado; para el último paso de un script que solo necesita que aparezca el resultado.
La entidad que se va a dibujar y las opciones de dibujo opcionales
Dibuja en la escena cualquier entidad que produce la biblioteca y devuelve el objeto dibujado: formas de núcleo de OCCT, JSCAD y Manifold, puntos, líneas, polilíneas, curvas, mallas, etiquetas y nodos.
Las opciones se ajustan a la entidad, con valores predeterminados cuando no se da ninguna; pasa el resultado anterior en la ranura de actualización para redibujar en el sitio.
Lo que produce dibujar la entidad: un objeto de escena para la geometría, la etiqueta o etiquetas para una etiqueta, una tríada de ejes para un nodo; undefined para una lista vacía
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 });
Dibuja una entidad que no necesita trabajo del núcleo, como hace drawAny, sin devolver el objeto
dibujado; puntos, líneas, polilíneas y etiquetas sirven, las formas de núcleo no.
La entidad que se va a dibujar y las opciones de dibujo opcionales
Dibuja de inmediato en la escena una entidad que no necesita trabajo del núcleo y devuelve el objeto dibujado: puntos, líneas, polilíneas, etiquetas y nodos.
Las formas de núcleo de OCCT, JSCAD y Manifold deben pasar por drawAnyAsync, que espera a que
el núcleo las malle.
Lo que produce dibujar la entidad: un objeto de escena para la geometría, la etiqueta o etiquetas para una etiqueta, una tríada de ejes para un nodo; undefined para una lista vacía
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 });
Dibuja una cuadrícula en el plano del suelo, como hace drawGridMesh, sin devolver la malla.
El tamaño, la separación de las líneas, los colores y la opacidad de la cuadrícula
Dibuja una cuadrícula en el plano del suelo, el plano XZ que pasa por el origen, para dar una sensación de escala y orientación; de forma predeterminada cada décima línea se dibuja más gruesa.
El tamaño, la separación de las líneas, los colores y la opacidad de la cuadrícula
La malla de la cuadrícula
Crea una textura de imagen a partir de una URL para las ranuras de textura de createPBRMaterial, con
repetición, desplazamiento, rotación y filtrado que significan lo mismo en todos los renderizadores.
La URL de la imagen y las opciones de repetición, desplazamiento, rotación, volteo y muestreo
La textura del motor
Crea un material basado en la física a partir de ajustes que significan lo mismo en todos los renderizadores: color
base, metálico y rugosidad, opacidad, brillo emisivo, las ranuras de textura y las opciones de alfa y
de lado; ponlo en el faceMaterial de las opciones de dibujo.
El nombre, los colores, los valores metálico y de rugosidad, la opacidad, las texturas y las opciones de renderizado
El material del motor
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 });
Construye opciones de dibujo para puntos, líneas, polilíneas, curvas, superficies y mallas JSCAD: colores, tamaño, opacidad, renderizado a dos caras y puntas de flecha en las líneas, con valores predeterminados para lo que se omite.
Las opciones de las que partir
Las opciones de dibujo
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 });
Construye las opciones de dibujo completas para formas OCCT: precisión del mallado, colores y tamaños de caras, aristas y vértices, etiquetas de índice, flechas en las aristas, renderizado a dos caras y la caché de triangulación, con valores predeterminados para lo que se omite.
Las opciones de las que partir
Las opciones de dibujo
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 });
Construye las opciones de dibujo más usadas para formas OCCT, precisión, colores de caras y aristas y renderizado a dos caras, con valores predeterminados para lo que se omite.
Las opciones de las que partir
Las opciones de dibujo
Construye opciones de dibujo para formas OCCT cuyas caras usan un material completo del motor, como
lo crea createPBRMaterial, más la precisión y el estilo de las aristas.
Las opciones de las que partir
Las opciones de dibujo
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 });
Construye opciones de dibujo para sólidos y secciones transversales de Manifold: color de las caras o un material completo del motor, el estilo de línea de las secciones transversales, las normales y el renderizado a dos caras.
Las opciones de las que partir
Las opciones de dibujo
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 });
Construye opciones de dibujo para nodos de transformación, que se dibujan como una tríada de líneas de eje coloreadas de una longitud dada.
Las opciones de las que partir
Las opciones de dibujo
Dibujar cualquier cosa en la escena: formas de los núcleos, puntos, líneas, polilíneas, curvas, mallas y etiquetas pasan todos por
drawAnyAsync, que elige el renderizador adecuado para la entidad y devuelve el objeto dibujado. Los métodosoptionsconstruyen las opciones de dibujo con valores predeterminados para cada tipo de entidad,createPBRMaterialycreateTexturecrean materiales para las ranuras de las caras, y un objeto dibujado puede redibujarse en su sitio pasándolo de vuelta.