Bitbybit Docs
    Preparing search index...

    Class BabylonMeshBuilder

    Собственные примитивы мешей BabylonJS, строящиеся прямо в сцене как готовые к рендерингу меши, а не через CAD-ядро: параллелепипеды, сферы, диски, торы, многоугольники, трубки, многогранники, капсулы, цилиндры, выдавливания, ленты, тела вращения и земля. Их быстро создавать и дешево рисовать, но они не несут точной геометрии, поэтому используйте ядра, когда форму нужно измерять, резать или экспортировать. Каждый построитель центрирует свой меш в начале координат, задает sideOrientation и регистрирует его для теней, если enableShadows не равен false.

    Index

    Constructors

    create simple

    • Строит бокс, центрированный на начале координат, с width вдоль X, height вдоль Y и depth вдоль Z.

      Parameters

      • inputs: CreateBoxDto

        Три размера, ориентация сторон и флаг теней

      Returns Mesh

      Меш параллелепипеда

      const box = bitbybit.babylon.meshBuilder.createBox({ width: 10, height: 5, depth: 20, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Строит куб, центрированный на начале координат, с каждым ребром длиной size.

      Parameters

      • inputs: CreateCubeDto

        Длина ребра, ориентация сторон и флаг теней

      Returns Mesh

      Меш куба

      const cube = bitbybit.babylon.meshBuilder.createCube({ size: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Строит плоский квадрат со стороной size, центрированный на начале координат в плоскости XY, обращенный к оси Z; односторонняя плоскость невидима сзади, если sideOrientation не двусторонняя.

      Parameters

      • inputs: CreateSquarePlaneDto

        Длина стороны, ориентация сторон и флаг теней

      Returns Mesh

      Меш плоскости

      const plane = bitbybit.babylon.meshBuilder.createSquarePlane({ size: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Строит сферу заданного diameter, центрированную на начале координат; segments задает, насколько мелко она разделена, больше - круглее и тяжелее.

      Parameters

      • inputs: CreateSphereDto

        Диаметр, число сегментов, ориентация сторон и флаг теней

      Returns Mesh

      Меш сферы

      const ball = bitbybit.babylon.meshBuilder.createSphere({ diameter: 10, segments: 32, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Строит сферу из треугольников равного размера, подразбитых из икосаэдра, которая затеняется ровнее, чем createSphere.

      radiusX, radiusY и radiusZ растягивают ее по осям и возвращаются к radius, когда равны 0; flat дает граненое затенение.

      Parameters

      • inputs: CreateIcoSphereDto

        Радиусы, флаг плоского затенения, подразбиения, ориентация сторон и флаг теней

      Returns Mesh

      Меш икосферы

      const ball = bitbybit.babylon.meshBuilder.createIcoSphere({ radius: 5, radiusX: 0, radiusY: 0, radiusZ: 0, flat: false, subdivisions: 4, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Строит плоский диск заданного radius, центрированный на начале координат в плоскости XY; arc ниже 1 оставляет сектор, так что 0.5 - полудиск.

      Parameters

      • inputs: CreateDiscDto

        Радиус, тесселяция, доля дуги, ориентация сторон и флаг теней

      Returns Mesh

      Меш диска

      const disc = bitbybit.babylon.meshBuilder.createDisc({ radius: 5, tessellation: 32, arc: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Строит кольцо, лежащее в плоскости XZ вокруг начала координат: diameter - общий диаметр кольца, а thickness - диаметр его трубки.

      Parameters

      • inputs: CreateTorusDto

        Диаметр, толщина трубки, тесселяция, ориентация сторон и флаг теней

      Returns Mesh

      Меш тора

      const ring = bitbybit.babylon.meshBuilder.createTorus({ diameter: 10, thickness: 2, tessellation: 32, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Строит трубку, свитую в узел вокруг начала координат: p и q - сколько раз она обвивается вокруг кольца и через его отверстие, так что 2 и 3 дают классический трилистник.

      Parameters

      • inputs: CreateTorusKnotDto

        Радиус, радиус трубки, числа сегментов, числа витков, ориентация сторон и флаг теней

      Returns Mesh

      Меш торического узла

      const knot = bitbybit.babylon.meshBuilder.createTorusKnot({ radius: 5, tube: 1, radialSegments: 128, tubularSegments: 32, p: 2, q: 3, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Строит плоский залитый многоугольник из точек его очертания, с необязательными отверстиями, лежащий в плоскости XZ; depth больше 0 дает ему толщину вниз.

      Точки трехмерные, но используются только X и Z, и очертание не должно самопересекаться.

      Parameters

      • inputs: CreatePolygonDto

        Контур, отверстия, глубина, сглаживание, ориентация сторон, флаг обертывания и флаг теней

      Returns Mesh

      Меш многоугольника

      const slab = bitbybit.babylon.meshBuilder.createPolygon({ shape: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]], holes: [], depth: 0, smoothingThreshold: 0.01, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, wrap: false, enableShadows: true });
      
    • Строит тело выдавливанием плоского многоугольника, заданного точками очертания в плоскости XZ с необязательными отверстиями, вниз на depth.

      Parameters

      • inputs: ExtrudePolygonDto

        Контур, отверстия, глубина, ориентация сторон, флаг обертывания и флаг теней

      Returns Mesh

      Выдавленный меш

      const block = bitbybit.babylon.meshBuilder.extrudePolygon({ shape: [[0, 0, 0], [10, 0, 0], [10, 0, 10], [0, 0, 10]], holes: [[[3, 0, 3], [7, 0, 3], [7, 0, 7], [3, 0, 7]]], depth: 5, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, wrap: false, enableShadows: true });
      
    • Строит трубку заданного radius вдоль пути из точек; cap закрывает ни один, один или оба конца, а arc ниже 1 оставляет трубку открытой вдоль ее длины.

      Parameters

      • inputs: CreateTubeDto

        Путь, радиус, тесселяция, режим торцов, доля дуги, ориентация сторон и флаг теней

      Returns Mesh

      Меш трубки

      const pipe = bitbybit.babylon.meshBuilder.createTube({ path: [[0, 0, 0], [10, 0, 0], [10, 10, 0]], radius: 1, tessellation: 32, cap: 3, arc: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Строит один из пятнадцати встроенных многогранников по type, от тетраэдра (0) до удлиненного пятиугольного купола (14), или ваш собственный из данных custom.

      sizeX, sizeY и sizeZ растягивают его по осям и возвращаются к size, когда равны 0; flat дает граненое затенение.

      Parameters

      • inputs: CreatePolyhedronDto

        Размер и тип, пользовательские данные, флаг плоского затенения, ориентация сторон и флаг теней

      Returns Mesh

      Меш многогранника

      const dodecahedron = bitbybit.babylon.meshBuilder.createPolyhedron({ size: 5, type: 2, sizeX: 0, sizeY: 0, sizeZ: 0, flat: true, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Строит геодезическую сферу, икосаэдр, грани которого подразбиты на треугольники, как задают m и n, так что поверхность состоит из почти равных треугольников.

      sizeX, sizeY и sizeZ растягивают ее по осям и возвращаются к size, когда равны 0.

      Parameters

      • inputs: CreateGeodesicDto

        Числа подразбиений, размеры, флаг плоского затенения, ориентация сторон и флаг теней

      Returns Mesh

      Геодезический меш

      const dome = bitbybit.babylon.meshBuilder.createGeodesic({ m: 4, n: 4, size: 5, sizeX: 0, sizeY: 0, sizeZ: 0, flat: false, subdivisions: 4, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.frontside, enableShadows: true });
      
    • Строит многогранник Голдберга, шар из шестиугольников и двенадцати пятиугольников, как футбольный мяч, где m и n задают, сколько шестиугольников.

      sizeX, sizeY и sizeZ растягивают его по осям и возвращаются к size, когда равны 0.

      Parameters

      • inputs: CreateGoldbergDto

        Числа подразбиений, размеры, ориентация сторон и флаг теней

      Returns Mesh

      Меш Голдберга

      const ball = bitbybit.babylon.meshBuilder.createGoldberg({ m: 4, n: 4, size: 5, sizeX: 0, sizeY: 0, sizeZ: 0, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Строит капсулу, цилиндр со скругленными концами, заданных height и radius вдоль orientation; radiusTop и radiusBottom задают размеры двух концов отдельно.

      Parameters

      • inputs: CreateCapsuleDto

        Ориентация, размеры, числа подразбиений, ориентация сторон и флаг теней

      Returns Mesh

      Меш капсулы

      const pill = bitbybit.babylon.meshBuilder.createCapsule({ orientation: [0, 1, 0], subdivisions: 2, tessellation: 16, height: 10, radius: 2, capSubdivisions: 6, radiusTop: 2, radiusBottom: 2, topCapSubdivisions: 6, bottomCapSubdivisions: 6, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Строит цилиндр, стоящий вдоль Y, центрированный на начале координат; разные верхний и нижний диаметры дают конус или сужение, а 0 сводит конец в точку.

      Parameters

      • inputs: CreateCylinderDto

        Высота, два диаметра, тесселяция, подразбиения, ориентация сторон и флаг теней

      Returns Mesh

      Меш цилиндра

      const cone = bitbybit.babylon.meshBuilder.createCylinder({ height: 10, diameterTop: 0, diameterBottom: 6, tessellation: 64, subdivisions: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Протягивает профиль вдоль пути: shape - профиль как точки в плоскости XY, а path - точки, через которые он проходит, с scale и rotation в радианах, применяемыми шаг за шагом по пути.

      closeShape соединяет концы профиля, closePath - концы пути, а cap закрывает ни один, один или оба конца.

      Parameters

      • inputs: CreateExtrudedShapeDto

        Профиль, путь, масштаб, поворот на шаг, флаги замыкания, режим торцов, ориентация сторон и флаг теней

      Returns Mesh

      Протянутый меш

      const rail = bitbybit.babylon.meshBuilder.createExtrudedSahpe({ shape: [[-1, 0, 0], [1, 0, 0], [1, 1, 0], [-1, 1, 0]], path: [[0, 0, 0], [10, 0, 0], [10, 0, 10]], scale: 1, rotation: 0, closeShape: true, closePath: false, cap: 3, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Строит поверхность через несколько путей из точек, соединяя соседние пути треугольниками, как ткань, натянутую на набор линий.

      closePath соединяет концы каждого пути, closeArray соединяет последний путь обратно с первым, а offset сдвигает то, как точки образуют пары, когда задан только один путь.

      Parameters

      • inputs: CreateRibbonDto

        Пути, флаги замыкания, смещение, флаг обновляемости, ориентация сторон и флаг теней

      Returns Mesh

      Меш ленты

      const sheet = bitbybit.babylon.meshBuilder.createRibbon({ pathArray: [[[0, 0, 0], [10, 0, 0], [20, 0, 0]], [[0, 5, 5], [10, 5, 5], [20, 5, 5]]], closeArray: false, closePath: false, offset: 0, updatable: false, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Вращает профиль вокруг оси Y, как токарный станок обтачивает дерево: shape - профиль как точки в плоскости XY, где X - расстояние от оси, radius отодвигает его наружу, а arc ниже 1 оставляет вращение открытым.

      Parameters

      • inputs: CreateLatheDto

        Профиль, радиус, тесселяция, доля дуги, флаг замкнутости, ориентация сторон и флаг теней

      Returns Mesh

      Меш тела вращения

      const vase = bitbybit.babylon.meshBuilder.createLathe({ shape: [[2, 0, 0], [3, 3, 0], [2, 6, 0], [2.5, 8, 0]], radius: 0, tessellation: 64, arc: 1, closed: true, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Строит плоскую плоскость земли, центрированную на начале координат в плоскости XZ, width вдоль X и height вдоль Z, разделенную на сетку из subdivisionsX на subdivisionsY ячеек.

      Parameters

      • inputs: CreateGroundDto

        Ширина, высота, подразбиения, ориентация сторон и флаг теней

      Returns Mesh

      Меш земли

      const ground = bitbybit.babylon.meshBuilder.createGround({ width: 100, height: 100, subdivisionsX: 1, subdivisionsY: 1, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });
      
    • Строит плоский прямоугольник, центрированный на начале координат в плоскости XY, width вдоль X и height вдоль Y, обращенный к оси Z.

      Parameters

      • inputs: CreateRectanglePlaneDto

        Ширина, высота, ориентация сторон и флаг теней

      Returns Mesh

      Меш плоскости

      const plane = bitbybit.babylon.meshBuilder.createRectanglePlane({ width: 20, height: 10, sideOrientation: Bit.Inputs.BabylonMesh.sideOrientationEnum.doubleside, enableShadows: true });