Bitbybit Docs
    Preparing search index...

    Class CrossSectionOperations

    Trabalhar com secções transversais Manifold para lá das operações booleanas: transformá-las em sólidos extrudindo ao longo de Z ou revolvendo, deslocar os seus contornos, envolvê-las num invólucro convexo, simplificá-las, e compô-las e decompô-las. Cada método devolve uma nova forma.

    Index

    Constructors

    basic

    • Varre uma secção transversal ao longo de Z num sólido com a altura dada.

      twistDegrees roda o topo em relação à base, scaleTopX e scaleTopY encolhem-no ou fazem-no crescer, e nDivisions adiciona secções intermédias para que torções e afunilamentos se mantenham suaves; 0 para ambas as escalas do topo cria um cone. center centra o sólido no plano XY em vez de o assentar sobre ele.

      Parameters

      Returns Promise<ManifoldPointer>

      O sólido extrudido

      const twisted = await bitbybit.manifold.crossSection.operations.extrude({ crossSection: square, height: 20, nDivisions: 20, twistDegrees: 90, scaleTopX: 0.5, scaleTopY: 0.5, center: false });
      
    • Roda uma secção transversal em torno do eixo Y num sólido, como um torno; só a parte do contorno do lado positivo de X é usada.

      revolveDegrees abaixo de 360 dá uma volta parcial e circularSegments define quão redondo é o resultado. O kernel põe o resultado de pé ao longo de Z; matchProfile, verdadeiro por predefinição, roda-o de volta para corresponder ao perfil.

      Parameters

      Returns Promise<ManifoldPointer>

      O sólido de revolução

      const vase = await bitbybit.manifold.crossSection.operations.revolve({ crossSection: profile, revolveDegrees: 360, circularSegments: 64, matchProfile: true });
      
    • Move o contorno de uma secção transversal para fora por delta, ou para dentro para um delta negativo, de modo que um contorno exterior cresce e um furo encolhe.

      joinType diz como os cantos são tratados: arredondados, cortados a direito, em meia-esquadria ou chanfrados; miterLimit limita até onde uma meia-esquadria se pode estender e circularSegments quão redondo é um canto arredondado. simplify a seguir limpa segmentos minúsculos.

      Parameters

      Returns Promise<CrossSectionPointer>

      A secção transversal deslocada

      const bigger = await bitbybit.manifold.crossSection.operations.offset({ crossSection: outline, delta: 1, joinType: Bit.Inputs.Manifold.manifoldJoinTypeEnum.round, miterLimit: 2, circularSegments: 32 });
      
    • Remove pontos de uma secção transversal que fiquem dentro de epsilon da linha entre os seus vizinhos, descartando quase-duplicados e pontos colineares.

      Um epsilon maior remove mais; execute-o depois de offset para limpar os segmentos minúsculos que o deslocamento deixa.

      Parameters

      Returns Promise<CrossSectionPointer>

      A secção transversal simplificada

      const cleaner = await bitbybit.manifold.crossSection.operations.simplify({ crossSection: offsetOutline, epsilon: 1e-4 });
      

    composition

    • Agrupa várias secções transversais ou polígonos numa só secção transversal sem os fundir, o inverso de decompose.

      Parameters

      Returns Promise<CrossSectionPointer>

      Uma secção transversal que contém todas elas

      const packed = await bitbybit.manifold.crossSection.operations.compose({ polygons: [square, disc] });