Bitbybit Docs
    Preparing search index...

    Class MeshBitByBit

    Geometría sobre mallas de triángulos simples: una malla es una lista de triángulos, cada uno de tres puntos. Los métodos de aquí calculan el plano de un triángulo, la distancia de un punto a un plano, y dónde se atraviesan dos mallas, como segmentos, como polilíneas o como listas de puntos. No necesitan ningún núcleo CAD, así que funcionan con cualquier dato triangulado.

    Index

    Constructors

    base

    • Mide a qué distancia está un punto de un plano, con signo: positivo en el lado hacia el que apunta la normal, negativo en el otro.

      Ejemplo: punto [0,5,0] y el plano XZ con normal [0,1,0] -> 5

      Parameters

      Returns number

      La distancia con signo en unidades del modelo

      const above = bitbybit.mesh.signedDistanceToPlane({ point: [0, 5, 0], plane: { normal: [0, 1, 0], d: 0 } });
      

    mesh

    • Encuentra cada segmento donde las superficies de dos mallas se atraviesan, comprobando cada triángulo de una contra cada triángulo de la otra.

      Ejemplo: una malla de cubo y una malla de esfera -> los segmentos que juntos trazan su curva de intersección

      Parameters

      Returns Segment3[]

      Los segmentos de cruce, sin un orden particular

      const segments = bitbybit.mesh.meshMeshIntersectionSegments({ mesh1: cubeTriangles, mesh2: sphereTriangles, tolerance: 1e-7 });
      
    • Encuentra dónde las superficies de dos mallas se atraviesan y une los trozos en polilíneas, cerradas donde la curva forma un bucle.

      Ejemplo: una malla de cubo y una malla de esfera -> polilíneas cerradas donde las dos superficies se encuentran

      Parameters

      Returns Polyline3[]

      Las curvas de intersección como polilíneas

      const curves = bitbybit.mesh.meshMeshIntersectionPolylines({ mesh1: cubeTriangles, mesh2: sphereTriangles, tolerance: 1e-7 });
      
    • Encuentra dónde las superficies de dos mallas se atraviesan, como una lista de puntos por curva.

      Una curva cerrada repite su primer punto al final para que el bucle sea explícito. Ejemplo: una malla de cubo y una malla de esfera -> listas de puntos que trazan dónde se encuentran las dos superficies

      Parameters

      Returns Point3[][]

      Una lista de puntos por curva de intersección

      const curves = bitbybit.mesh.meshMeshIntersectionPoints({ mesh1: cubeTriangles, mesh2: sphereTriangles, tolerance: 1e-7 });
      

    traingle

    • Encuentra el plano en el que está un triángulo: su normal unitaria y su distancia al origen a lo largo de esa normal.

      La normal sigue la regla de la mano derecha alrededor de los puntos del triángulo. Un triángulo sin área, cuyos puntos están sobre una misma recta, no tiene plano y da undefined. Ejemplo: [[0,0,0], [1,0,0], [0,1,0]] -> { normal: [0,0,1], d: 0 }

      Parameters

      • inputs: TriangleToleranceDto

        El triángulo y la tolerancia por debajo de la cual su área cuenta como cero

      Returns TrianglePlane3

      El plano, o undefined para un triángulo degenerado

      const plane = bitbybit.mesh.calculateTrianglePlane({ triangle: [[0, 0, 0], [1, 0, 0], [0, 1, 0]], tolerance: 1e-7 });
      
    • Encuentra el segmento donde dos triángulos se atraviesan.

      Los triángulos que no se tocan, son paralelos, o están en el mismo plano dan undefined. Ejemplo: un triángulo en el plano XY y otro erguido a través de él -> el segmento donde se cruzan

      Parameters

      Returns Segment3

      El segmento de cruce, o undefined cuando no hay ninguno

      const cut = bitbybit.mesh.triangleTriangleIntersection({
      triangle1: [[0, 0, 0], [2, 0, 0], [1, 2, 0]],
      triangle2: [[1, -1, 1], [1, 1, 1], [1, 1, -1]],
      tolerance: 1e-7,
      });