Menemukan pasangan titik, satu pada setiap bentuk, yang paling berdekatan satu sama lain.
Jarak di antara keduanya adalah celah antara bentuk-bentuk; nilainya 0 jika keduanya bersentuhan atau tumpang tindih. Memicu error jika tidak ada pasangan yang dapat ditemukan.
Kedua bentuk
Titik pada bentuk pertama dan titik pada bentuk kedua
Menemukan, untuk setiap titik dalam daftar, titik terdekat pada sebuah bentuk.
Titik yang sudah berada pada bentuk dipetakan ke dirinya sendiri. Berguna untuk menempelkan titik-titik ke permukaan.
Bentuk dan titik-titik
Satu titik pada bentuk per titik masukan, dalam urutan yang sama
Menemukan titik terdekat pada masing-masing dari beberapa bentuk untuk setiap titik dalam daftar.
Hasilnya adalah satu daftar rata: semua titik untuk bentuk pertama, dalam urutan titik, lalu semua titik untuk bentuk kedua, dan seterusnya.
Bentuk-bentuk dan titik-titik
Titik-titik terdekat, dikelompokkan bentuk demi bentuk
Memotong sebuah bentuk menjadi beberapa bagian dengan bentuk-bentuk lain, seperti pisau membelah roti, tanpa menghilangkan material apa pun.
Dengan nonDestructive bernilai true, default-nya, input dibiarkan tidak tersentuh dan hasilnya menampung potongan dari setiap bentuk yang terlibat, termasuk pemotongnya; dengan false hanya potongan dari shape yang dikembalikan. localFuzzyTolerance membiarkan geometri yang hampir bersentuhan dihitung bersentuhan.
Bentuk yang akan dipisah, bentuk-bentuk pemisahnya dan opsi
Potongan-potongannya
Memotong solid menjadi irisan-irisan sejajar sepanjang sebuah arah, seperti roti tawar, setiap step satuan model dari dasar bentuk ke atas.
Setiap irisan adalah penampang datar tempat bidang pemotong bertemu solid; semuanya dikembalikan bersama dalam satu gabungan. Bentuk harus berupa atau memuat solid, atau error dipicu.
Bentuk, jarak antar irisan dan arah pengirisan
Gabungan dari muka-muka penampang
Memotong solid menjadi irisan-irisan sejajar seperti slice, tetapi dengan pola celah yang berulang di antaranya, misalnya 0.1, 0.5, 0.1, 0.5.
Pola diterapkan dari dasar bentuk ke atas dan berulang sampai puncak tercapai.
Bentuk, pola celah dan arah pengirisan
Gabungan dari muka-muka penampang
Men-sweep sebuah bentuk dalam garis lurus sepanjang sebuah vektor, yang panjangnya adalah jaraknya: muka menjadi solid, kawat menjadi cangkang, tepi menjadi muka.
Bentuk itu sendiri tetap berada di awal ekstrusi; vektornya dalam satuan model, sehingga [0, 10, 0] mengekstrusi 10 satuan ke atas.
Bentuk dan vektor arah, yang panjangnya adalah jaraknya
Bentuk hasil ekstrusi
Men-sweep beberapa bentuk sepanjang vektor yang sama, seperti extrude untuk satu bentuk.
Bentuk-bentuk dan vektor arah, yang panjangnya adalah jaraknya
Bentuk-bentuk hasil ekstrusi, dalam urutan yang sama
Mengekstrusi bentuk datar ke atas sepanjang Y sejauh height sambil memuntirnya sebesar angle derajat mengelilingi sumbu Y, seperti kolom terpuntir.
Bentuk sebaiknya terbaring rata, seperti profil-profil yang dibuat paket ini. Dengan makeSolid bernilai true, default-nya, profil muka menghasilkan solid tertutup; kawat menghasilkan cangkang terpuntir.
Bentuk profil, tinggi, sudut puntir dalam derajat dan apakah dibuat solid
Ekstrusi terpuntir
Membangun permukaan melalui serangkaian kawat, seperti kulit yang direntangkan di atas rusuk-rusuk: setiap kawat adalah satu penampang dan permukaan melewatinya dalam urutan daftar.
Tepi diterima sebagai kawat satu tepi. Dengan makeSolid bernilai true dan penampang tertutup hasilnya ditutup menjadi solid; jika tidak, hasilnya cangkang. Penampang paling cocok jika jumlah tepinya sama.
Kawat atau tepi penampang, secara berurutan, dan apakah dibuat solid
Cangkang atau solid hasil loft
const bottom = await bitbybit.occt.shapes.wire.createCircleWire({ radius: 5, center: [0, 0, 0], direction: [0, 1, 0] });
const upper = await bitbybit.occt.shapes.wire.createSquareWire({ size: 6, center: [0, 10, 0], direction: [0, 1, 0] });
const vase = await bitbybit.occt.operations.loft({ shapes: [bottom, upper], makeSolid: true });
Membangun permukaan melalui serangkaian kawat seperti loft, dengan kendali atas cara kulit dicocokkan.
straight membuat patch ruled di antara penampang, bukan perpaduan halus; closed melingkarkan permukaan dari penampang terakhir kembali ke yang pertama, dan periodic membuat lingkaran itu halus dengan mengambil sampel ulang penampang. startVertex dan endVertex menutup ujung-ujungnya menjadi titik.
Kawat atau tepi penampang, apakah dibuat solid, opsi penutupan dan penghalusan serta titik-titik ujung opsional
Cangkang atau solid hasil loft
const cone = await bitbybit.occt.operations.loftAdvanced({
shapes: [circleBottom, circleMiddle],
makeSolid: true,
closed: false,
periodic: false,
straight: false,
nrPeriodicSections: 10,
useSmoothing: false,
maxUDegree: 3,
tolerance: 1e-7,
parType: Bit.Inputs.OCCT.approxParametrizationTypeEnum.approxCentripetal,
endVertex: [0, 20, 0],
});
Mengukur seberapa jauh setiap titik dalam daftar dari sebuah bentuk, sebagai jarak lurus ke titik terdekat padanya, dalam satuan model.
Jaraknya ke permukaan bentuk, jadi titik di dalam solid tetap melaporkan jaraknya ke kulit.
Bentuk dan titik-titik
Satu jarak per titik, dalam urutan yang sama
Menghitung kotak sejajar sumbu yang melingkupi sebuah bentuk: sudut minimum dan maksimumnya, pusatnya dan ukurannya sepanjang X, Y dan Z.
Pada bentuk lengkung kotaknya bisa sedikit lebih besar dari bentuk itu sendiri, karena kernel membatasi geometri kontrol, bukan permukaan eksaknya.
Bentuk
Kotak sebagai min, max, center dan size
Membaca sudut minimum kotak pembatas sejajar sumbu sebuah bentuk, titik dengan X, Y dan Z terkecil.
Bentuk
Sudut minimum
Membaca sudut maksimum kotak pembatas sejajar sumbu sebuah bentuk, titik dengan X, Y dan Z terbesar.
Bentuk
Sudut maksimum
Membaca pusat kotak pembatas sejajar sumbu sebuah bentuk, di tengah antara kedua sudutnya.
Ini bukan pusat massa; shapes.solid.getSolidCenterOfMass dan saudara-saudaranya memberikan itu.
Bentuk
Pusat kotak
Membaca ukuran kotak pembatas sejajar sumbu sebuah bentuk sepanjang X, Y dan Z, dalam satuan model.
Bentuk
Lebar, tinggi dan panjang kotak
Membangun kotak pembatas sejajar sumbu sebuah bentuk sebagai solid kotak, praktis untuk menggambarnya atau memakainya dalam operasi boolean.
Bentuk
Solid kotak
Menghitung bola yang melingkupi sebuah bentuk: berpusat pada kotak pembatas dan mencapai sudut-sudutnya, sehingga selalu memuat bentuk tetapi bukan bola terkecil yang mungkin.
Bentuk
Bola sebagai center dan radius
Membaca pusat bola pembatas sebuah bentuk, yaitu pusat kotak pembatasnya.
Bentuk
Pusat bola
Membaca jari-jari bola pembatas sebuah bentuk, jarak dari pusat kotak pembatas ke sudutnya, dalam satuan model.
Bentuk
Jari-jari
Membangun bola pembatas sebuah bentuk sebagai solid bola.
Bentuk
Solid bola
Memindahkan batas sebuah bentuk ke luar, atau ke dalam untuk jarak negatif, sejauh jarak tetap: kawat tumbuh menjadi garis luar sejajar, muka atau solid menjadi yang lebih besar.
Kawat atau tepi di-offset dalam bidangnya sendiri, atau pada face jika diberikan; sudut-sudut dibulatkan. Jarak 0 mengembalikan bentuk apa adanya.
Bentuk, muka opsional tempat meng-offset kawat, jarak dan toleransi
Bentuk hasil offset
Meng-offset sebuah bentuk seperti offset, dengan pilihan cara sudut disambungkan: arc membulatkannya, intersection memperpanjang sisi-sisi sampai sudut tajam, tangent menjaganya tetap bersinggungan.
removeIntEdges membuang tepi-tepi internal yang mungkin ditinggalkan offset pada solid.
Bentuk, muka opsional tempat meng-offset kawat, jarak, toleransi, tipe sambungan sudut dan apakah tepi internal dihapus
Bentuk hasil offset
Memberi muka atau cangkang sebuah ketebalan, mengubahnya menjadi lempengan atau dinding solid setebal offset.
Offset positif menebal ke arah normal permukaan, negatif ke arah sebaliknya. Gunakan untuk mengubah kulit hasil loft atau sweep menjadi sesuatu yang dapat dicetak.
Muka atau cangkang dan ketebalan
Solid tebal
Melubangi solid menjadi cangkang dengan ketebalan dinding tertentu dengan menghapus muka-muka yang dicantumkan dan meng-offset sisanya.
Menghapus muka atas sebuah kotak, misalnya, menghasilkan cangkir terbuka. offset adalah ketebalan dinding, negatif untuk tumbuh ke dalam; joinType menyatakan cara dinding-dinding offset bertemu di sudut, flag lainnya diteruskan ke pembangun solid tebal milik kernel.
Solid, muka-muka yang dihapus, ketebalan dinding, toleransi dan opsi sambungan
Solid yang dirongga
const box = await bitbybit.occt.shapes.solid.createBox({ width: 10, length: 10, height: 10, center: [0, 0, 0] });
const faces = await bitbybit.occt.shapes.face.getFaces({ shape: box });
const cup = await bitbybit.occt.operations.makeThickSolidByJoin({
shape: box,
shapes: [faces[0]],
offset: -1,
tolerance: 1e-3,
intersection: false,
selfIntersection: false,
joinType: Bit.Inputs.OCCT.joinTypeEnum.arc,
removeIntEdges: false,
});
Meng-offset kawat yang tidak terletak pada satu bidang, dengan mengekstrusinya sepanjang direction, menebalkan hasilnya dan membaca tepi offset kembali darinya.
Bekerja paling baik pada kawat yang halus; fillet dulu sudut-sudut tajam dengan fillets.fillet3DWire. Jika tepi-tepi offset tidak dapat disambungkan menjadi satu kawat, hasilnya dikembalikan sebagai daftar tepi.
Kawat, jarak offset dan arah ekstrusi
Kawat hasil offset, atau tepi-tepi lepas jika tidak dapat digabungkan
Men-sweep satu atau lebih bentuk profil sepanjang kawat lintasan dan menutup hasilnya menjadi solid.
Profil-profil sebaiknya ditempatkan pada lintasan; dengan beberapa profil, sweep memadukan dari satu ke berikutnya di sepanjang jalan.
Kawat jalur dan bentuk-bentuk profil yang ditempatkan di atasnya
Solid hasil sweep
Men-sweep poligon beraturan sepanjang kawat, menghasilkan tabung dengan nrCorners sisi datar, misalnya batang heksagonal sepanjang lintasan.
Poligon berjari-jari radius ditempatkan di awal kawat, tegak lurus terhadapnya. makeSolid menghasilkan solid, bukan cangkang, trihedronEnum memilih cara profil berputar di sepanjang lintasan, dan forceApproxC1 menghaluskan hasilnya.
Kawat jalur, jari-jari dan jumlah sudut poligon, serta opsi sweep
Solid atau cangkang hasil sweep
Men-sweep lingkaran sepanjang masing-masing dari beberapa kawat, seperti pipeWireCylindrical untuk satu kawat, semuanya dengan jari-jari dan opsi yang sama.
Kawat-kawat jalur, jari-jari dan opsi sweep
Satu tabung per kawat, dalam urutan yang sama
Men-sweep lingkaran sepanjang kawat, menghasilkan tabung bulat dengan jari-jari tertentu yang mengikuti lintasan.
Lingkaran ditempatkan di awal kawat, tegak lurus terhadapnya. makeSolid menghasilkan solid, bukan cangkang, trihedronEnum memilih cara profil berputar saat mengikuti lintasan, dan forceApproxC1 menghaluskan hasilnya.
Kawat jalur, jari-jari dan opsi sweep
Tabung sebagai solid atau cangkang
Memutar sebuah bentuk mengelilingi sumbu yang melewati titik asal untuk menyapu permukaan atau solid: muka menghasilkan solid, kawat menghasilkan cangkang.
angle dalam derajat; 360 atau lebih menghasilkan putaran penuh. Sumbu berjalan sepanjang direction: profil di samping sumbu Y yang direvolusi mengelilinginya menghasilkan vas. Profil tidak boleh memotong sumbu.
Bentuk profil, sudut dalam derajat, arah sumbu dan apakah geometrinya disalin
Bentuk hasil revolusi
Operasi pemodelan yang mengubah kawat dan muka OpenCascade menjadi permukaan dan solid serta mengukur bentuk: loft melalui penampang, ekstrusi dan revolusi, sweep profil di sepanjang jalur, offset, menebalkan cangkang menjadi solid, mengiris dan memisahkan, ditambah kotak pembatas, bola pembatas dan kueri titik terdekat. Jarak dalam satuan model dan sudut dalam derajat; setiap operasi mengembalikan bentuk baru. Boolean ada di
booleans, pembulatan difillets.