Рисует любую сущность в сцене, как drawAnyAsync, не возвращая нарисованный объект; для последнего шага скрипта, которому нужно только, чтобы результат появился.
Сущность для отрисовки и необязательные параметры отрисовки
Рисует любую сущность, которую производит библиотека, в сцене и возвращает нарисованный объект: формы ядер OCCT, JSCAD и Manifold, точки, линии, полилинии, кривые, меши, теги и узлы.
Параметры подбираются под сущность, со значениями по умолчанию, когда они не заданы; передайте предыдущий результат обратно в слот обновления, чтобы перерисовать на месте.
То, что дает отрисовка сущности: объект сцены для геометрии, тег или теги для тега, триада осей для узла; undefined для пустого списка
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 });
Рисует сущность, не требующую работы ядра, как drawAny, не возвращая нарисованный объект; подходят точки, линии, полилинии и теги, формы ядер - нет.
Сущность для отрисовки и необязательные параметры отрисовки
Сразу рисует в сцене сущность, не требующую работы ядра, и возвращает нарисованный объект: точки, линии, полилинии, теги и узлы.
Формы ядер OCCT, JSCAD и Manifold должны идти через drawAnyAsync, который ждет, пока ядро построит их меш.
То, что дает отрисовка сущности: объект сцены для геометрии, тег или теги для тега, триада осей для узла; undefined для пустого списка
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 });
Рисует сетку на плоскости земли, как drawGridMesh, не возвращая меш.
Размер, шаг линий, цвета и непрозрачность сетки
Рисует сетку на плоскости земли, плоскости XZ через начало координат, чтобы дать ощущение масштаба и ориентации; по умолчанию каждая десятая линия рисуется толще.
Размер, шаг линий, цвета и непрозрачность сетки
Меш сетки
Создает текстуру-изображение из URL для слотов текстур createPBRMaterial, с повторением, смещением, поворотом и фильтрацией, которые означают одно и то же в каждом рендерере.
URL изображения и параметры повторения, смещения, поворота, отражения и выборки
Текстура движка
Создает физически корректный материал из настроек, которые означают одно и то же в каждом рендерере: базовый цвет, металличность и шероховатость, непрозрачность, свечение, слоты текстур и параметры альфа-канала и сторон; поместите его в faceMaterial параметров отрисовки.
Имя, цвета, значения металличности и шероховатости, непрозрачность, текстуры и параметры рендеринга
Материал движка
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 });
Строит параметры отрисовки для точек, линий, полилиний, кривых, поверхностей и мешей JSCAD: цвета, размер, непрозрачность, двусторонний рендеринг и стрелки на линиях, со значениями по умолчанию для того, что опущено.
Параметры, от которых отталкиваться
Параметры отрисовки
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 });
Строит полные параметры отрисовки для форм OCCT: точность построения меша, цвета и размеры граней, ребер и вершин, метки индексов, стрелки на ребрах, двусторонний рендеринг и кэш триангуляции, со значениями по умолчанию для того, что опущено.
Параметры, от которых отталкиваться
Параметры отрисовки
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 });
Строит самые используемые параметры отрисовки для форм OCCT, точность, цвета граней и ребер и двусторонний рендеринг, со значениями по умолчанию для того, что опущено.
Параметры, от которых отталкиваться
Параметры отрисовки
Строит параметры отрисовки для форм OCCT, грани которых используют полный материал движка, как его делает createPBRMaterial, плюс точность и стиль ребер.
Параметры, от которых отталкиваться
Параметры отрисовки
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 });
Строит параметры отрисовки для тел и сечений Manifold: цвет граней или полный материал движка, стиль линий сечений, нормали и двусторонний рендеринг.
Параметры, от которых отталкиваться
Параметры отрисовки
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 });
Строит параметры отрисовки для узлов преобразования, которые рисуются как триада цветных линий осей заданной длины.
Параметры, от которых отталкиваться
Параметры отрисовки
Отрисовка чего угодно в сцену: формы ядер, точки, линии, полилинии, кривые, меши и теги проходят через
drawAnyAsync, который выбирает подходящий рендерер для сущности и возвращает нарисованный объект. Методыoptionsстроят параметры отрисовки со значениями по умолчанию для каждого вида сущности,createPBRMaterialиcreateTextureсоздают материалы для слотов граней, а нарисованный объект можно перерисовать на месте, передав его обратно.