Bitbybit Docs
    Preparing search index...

    Class OCCTBooleans

    Menggabungkan bentuk-bentuk OpenCascade satu sama lain: penyatuan meleburnya menjadi satu, pengurangan memotong satu dari yang lain, perpotongan hanya mempertahankan bagian yang sama. Operasi ini bekerja pada geometri eksak dan memberikan hasil eksak. Metode perpotongan mesh justru mentriangulasi bentuk-bentuk dan memotongkan segitiga-segitiganya, yang lebih cepat dan lebih tangguh pada geometri yang sulit tetapi menghasilkan polyline alih-alih kurva. Setiap metode mengembalikan bentuk baru; kecuali keepEdges diatur, muka-muka yang akhirnya terletak pada satu permukaan digabungkan dan seam di antaranya dihapus.

    Index

    Constructors

    booleans

    • Melebur beberapa bentuk menjadi satu, seperti dua gumpalan tanah liat yang tumpang tindih menjadi satu gumpalan.

      Bentuk-bentuk dilebur satu demi satu dalam urutan daftar. Dengan keepEdges bernilai false, default-nya, muka-muka yang berakhir pada satu permukaan digabung dan sambungannya dihapus; true mempertahankan setiap tepi input.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Bentuk yang dilebur

      const fused = await bitbybit.occt.booleans.union({ shapes: [box, cylinder], keepEdges: false });
      
    • Memotong bentuk-bentuk dari bentuk utama, seperti bor menghilangkan material: yang tersisa adalah bentuk utama dikurangi setiap bentuk dalam daftar.

      Bentuk-bentuk dikurangkan satu demi satu. Dengan keepEdges bernilai false, default-nya, muka-muka yang tersisa pada satu permukaan digabung; jika tepat satu solid yang tersisa, solid itu dikembalikan sendiri, bukan di dalam gabungan.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Sisa dari bentuk utama

      const holed = await bitbybit.occt.booleans.difference({ shape: box, shapes: [cylinder], keepEdges: false });
      
    • Hanya mempertahankan volume yang dimiliki bersama oleh bentuk pertama dengan masing-masing bentuk lainnya.

      Bentuk pertama dipotongkan dengan setiap bentuk lain satu per satu dan potongan-potongannya dikembalikan dalam satu gabungan: dengan tiga bentuk Anda mendapat tumpang tindih yang pertama dengan yang kedua dan dengan yang ketiga, bukan ketiganya sekaligus. Kurang dari dua bentuk memicu error.

      Parameters

      Returns Promise<TopoDSShapePointer>

      Gabungan dari bagian-bagian yang sama

      const common = await bitbybit.occt.booleans.intersection({ shapes: [box, sphere], keepEdges: false });
      

    mesh based

    • Menemukan tempat permukaan dua bentuk berpotongan dengan men-triangulasi keduanya dan memotongkan segitiga-segitiganya, dan mengembalikan garis-garis perpotongan sebagai kawat.

      Setiap bentuk memiliki presisi meshing-nya sendiri: nilai yang lebih kecil mengikuti permukaan lengkung lebih dekat dan memakan waktu lebih lama. Kawat-kawatnya berupa polyline, sehingga menelusuri perpotongan secara aproksimasi; kurva eksaknya berasal dari intersection dengan muka.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Garis-garis perpotongan sebagai kawat polyline

      const seams = await bitbybit.occt.booleans.meshMeshIntersectionWires({ shape1: sphere, shape2: box, precision1: 0.01, precision2: 0.01 });
      
    • Menemukan tempat permukaan dua bentuk berpotongan dengan men-triangulasi keduanya dan memotongkan segitiga-segitiganya, dan mengembalikan garis-garis perpotongan sebagai daftar-daftar titik.

      Setiap bentuk memiliki presisi meshing-nya sendiri: nilai yang lebih kecil mengikuti permukaan lengkung lebih dekat dan memakan waktu lebih lama. Setiap daftar titik adalah satu garis perpotongan, berurutan di sepanjangnya.

      Parameters

      Returns Promise<Point3[][]>

      Satu daftar titik per garis perpotongan

      const lines = await bitbybit.occt.booleans.meshMeshIntersectionPoints({ shape1: sphere, shape2: box, precision1: 0.01, precision2: 0.01 });
      
    • Menemukan tempat permukaan satu bentuk berpotongan dengan permukaan beberapa bentuk lain dengan men-triangulasi semuanya dan memotongkan segitiga-segitiganya, dan mengembalikan garis-garis perpotongan sebagai kawat.

      precision mem-mesh bentuk utama dan precisionShapes memberikan satu presisi per bentuk lain; nilai yang lebih kecil mengikuti kurva lebih dekat dan memakan waktu lebih lama.

      Parameters

      Returns Promise<TopoDSWirePointer[]>

      Garis-garis perpotongan sebagai kawat polyline, untuk semua bentuk sekaligus

      const seams = await bitbybit.occt.booleans.meshMeshIntersectionOfShapesWires({ shape: sphere, shapes: [box, cylinder], precision: 0.01, precisionShapes: [0.01, 0.01] });
      
    • Menemukan tempat permukaan satu bentuk berpotongan dengan permukaan beberapa bentuk lain dengan men-triangulasi semuanya dan memotongkan segitiga-segitiganya, dan mengembalikan garis-garis perpotongan sebagai daftar-daftar titik.

      precision mem-mesh bentuk utama dan precisionShapes memberikan satu presisi per bentuk lain; setiap daftar titik adalah satu garis perpotongan, berurutan di sepanjangnya.

      Parameters

      Returns Promise<Point3[][]>

      Satu daftar titik per garis perpotongan, untuk semua bentuk sekaligus

      const lines = await bitbybit.occt.booleans.meshMeshIntersectionOfShapesPoints({ shape: sphere, shapes: [box, cylinder], precision: 0.01, precisionShapes: [0.01, 0.01] });