Bitbybit Docs
    Preparing search index...

    Class ManifoldCrossSection

    Contornos planos no kernel Manifold, as formas 2D que operations.extrude e operations.revolve transformam em sólidos e que slice e project recortam deles. Uma secção transversal é um ou mais polígonos fechados no plano XY, furos incluídos; shapes constrói-as, booleans combina-as, operations desloca-as, envolve-as e extrude-as, transforms move-as e evaluate mede-as. Os métodos aqui convertem entre secções transversais e listas de pontos simples, e libertam a memória que uma secção transversal ocupa.

    Index

    Constructors

    Properties

    create

    • Constrói uma secção transversal a partir de um polígono dado como pontos; só o X e o Y de cada ponto são usados.

      fillRule decide quais regiões de um polígono que se autocruza contam como interior; removeDuplicates descarta primeiro pontos consecutivos repetidos dentro de tolerance.

      Parameters

      Returns Promise<CrossSectionPointer>

      A secção transversal

      const outline = await bitbybit.manifold.crossSection.crossSectionFromPoints({
      points: [[0, 0, 0], [10, 0, 0], [10, 10, 0], [0, 10, 0]],
      fillRule: Bit.Inputs.Manifold.fillRuleEnum.positive,
      removeDuplicates: false,
      tolerance: 1e-7,
      });
    • Constrói uma secção transversal a partir de vários polígonos dados como pontos, por exemplo um contorno e os seus furos; só o X e o Y de cada ponto são usados.

      fillRule decide quais regiões contam como interior onde os polígonos se sobrepõem; removeDuplicates descarta primeiro pontos consecutivos repetidos dentro de tolerance.

      Parameters

      Returns Promise<CrossSectionPointer>

      A secção transversal

      const plate = await bitbybit.manifold.crossSection.crossSectionFromPolygons({
      polygonPoints: [outerPoints, holePoints],
      fillRule: Bit.Inputs.Manifold.fillRuleEnum.evenOdd,
      removeDuplicates: false,
      tolerance: 1e-7,
      });

    decompose

    • Lê uma secção transversal de volta como os seus polígonos, cada um uma lista de pontos 2D.

      Parameters

      Returns Promise<Vector2[][]>

      Uma lista de pontos 2D por polígono

      const polygons = await bitbybit.manifold.crossSection.crossSectionToPolygons({ crossSection: outline });
      
    • Lê uma secção transversal de volta como os seus polígonos com pontos 3D, com Z a 0, prontos para desenhar como polilinhas.

      Parameters

      Returns Promise<Point3[][]>

      Uma lista de pontos por polígono

      const polylines = await bitbybit.manifold.crossSection.crossSectionToPoints({ crossSection: outline });
      
    • Lê várias secções transversais de volta como os seus polígonos, tal como crossSectionToPolygons faz para uma.

      Parameters

      Returns Promise<Vector2[][][]>

      Uma lista de polígonos por secção transversal, pela mesma ordem

      const polygons = await bitbybit.manifold.crossSection.crossSectionsToPolygons({ crossSections: [outline, hole] });
      
    • Lê várias secções transversais de volta como polígonos com pontos 3D, tal como crossSectionToPoints faz para uma.

      Parameters

      Returns Promise<number[][][][]>

      Uma lista de polígonos de pontos por secção transversal, pela mesma ordem

      const polylines = await bitbybit.manifold.crossSection.crossSectionsToPoints({ crossSections: [outline, hole] });