14 poin oleh GN⁺ 2025-06-12 | 1 komentar | Bagikan ke WhatsApp
  • Proyek open-source yang mengompilasi OpenCascade ke WebAssembly dan mengintegrasikannya dengan Three.js untuk mewujudkan pemodelan, pengeditan, dan rendering CAD 3D di browser dengan performa yang mendekati native
  • Mendukung berbagai fitur pemodelan CAD seperti pembuatan bentuk 3D, 2D sketch, operasi boolean, extrude·loft·sweep, offset, dan lainnya
  • Menyediakan fitur bantuan desain dan pengeditan presisi seperti snap objek/workplane, pelacakan sumbu, deteksi otomatis titik fitur, dan panduan pelacakan visual
  • Dilengkapi fungsi pengeditan lanjutan seperti chamfer/fillet/trim/split, move/rotate/mirror, pengukuran panjang·luas·volume, manajemen dokumen, serta impor/ekspor format standar industri (STEP, IGES, BREP)
  • Menawarkan pengalaman pengguna yang berfokus pada kebutuhan kerja nyata, termasuk UI bergaya office, manajemen assembly hierarkis, antarmuka multibahasa (i18n, mendukung bahasa Mandarin dan Inggris), serta kontrol viewport/kamera 3D

Ikhtisar

  • Chili3D adalah aplikasi CAD 3D open-source berbasis browser yang dikembangkan dengan TypeScript
  • Dengan mengonversi OpenCascade (OCCT) ke WebAssembly dan menggabungkannya dengan Three.js, aplikasi ini memungkinkan pemodelan/pengeditan/rendering 3D berperforma tinggi langsung di web tanpa instalasi

Fitur utama

  • Alat pemodelan

    • Bentuk 3D dasar: membuat box, silinder, kerucut, bola, piramida, dan lainnya
    • 2D sketch: garis, busur, lingkaran, elips, persegi panjang, poligon, kurva Bézier
    • Operasi lanjutan: boolean (union, difference, intersection), extrude, revolve, sweep, loft, offset, pembuatan penampang
  • Snap & tracking presisi

    • Object snap: snap secara akurat ke titik, edge, face, dan fitur geometris lainnya
    • Tracking workplane/sumbu, deteksi otomatis titik fitur, dan panduan visual memudahkan penyelarasan 3D yang kompleks
  • Alat pengeditan

    • Edge round (fillet), chamfer, trim, split, move, rotate, mirror, dan lainnya untuk berbagai pengeditan 3D/2D
    • Penghapusan feature, manipulasi sub-shape, pembongkaran objek compound, dan pengeditan lanjutan lainnya
  • Pengukuran & dokumentasi

    • Pengukuran sudut·panjang, perhitungan total panjang/luas/volume
    • Pembuatan/penyimpanan/pemuatan dokumen, Undo/Redo penuh, impor/ekspor STEP/IGES/BREP
  • Antarmuka pengguna

    • Mendukung susunan perintah bergaya office, manajemen assembly hierarkis, workplane dinamis, penyimpanan posisi viewport/kamera 3D, dan lainnya
    • Antarmuka multibahasa (Mandarin·Inggris), dengan struktur i18n yang memungkinkan kontribusi bahasa tambahan

Tech stack

  • Frontend: TypeScript, Three.js
  • Mesin 3D: OpenCascade (WebAssembly)
  • Build: Rspack, tes: Jest

Status pengembangan open-source

  • Masih berada pada tahap alpha (Alpha), dan API/fitur/dokumentasi terus disempurnakan
  • Masih ada breaking changes, dokumentasi yang belum lengkap, dan beberapa fitur penting yang belum diimplementasikan

Kontribusi & lisensi

  • Kontribusi open-source seperti kode/bug/masukan sangat disambut
  • Lisensi AGPL-3.0 (pertanyaan penggunaan komersial dapat diajukan secara terpisah)

1 komentar

 
GN⁺ 2025-06-12
Komentar Hacker News
  • Awalnya setelah membaca penjelasannya saya mengira ini hanya proyek mainan 3D biasa, tetapi saat benar-benar mencobanya, saya sangat terkejut. Sangat cepat, dan UI-nya juga terasa cukup intuitif bahkan dari sudut pandang orang yang pindah dari alat lain. Saya selalu menyesal karena tidak bisa memakai Fusion 360 di OpenSUSE Tumbleweed, dan alat ini tampaknya bisa mengisi kekosongan itu. Saya merasa sangat berterima kasih.

  • Saat melihat bagian "mengompilasi OpenCascade (OCCT) ke WebAssembly untuk digunakan", saya jadi penasaran kernel geometri apa yang dipilih. Pustaka inti pemodelan solid pada dasarnya hanyalah hal-hal yang sudah dipakai sejak puluhan tahun lalu (Parasolid sendiri hampir berusia 40 tahun), jadi rasanya memang sangat sulit untuk membuat yang baru.

    • Saya sedang menangani BREP untuk keperluan GIS, dan bahkan hanya dengan segmen garis sederhana di 2D pun bentuk masalahnya benar-benar rumit. Ini adalah area yang memunculkan sangat banyak kasus pengecualian. Sistem tipe sangat membantu, jadi jika ada open source berbasis Rust yang mengerjakan ini, itu akan terlihat sangat menjanjikan. Sebagai referensi, saya sempat berpindah dari Fusion 360 ke FreeCAD 1.0, dan meski proyeknya hampir tidak ada, FreeCAD terasa jauh lebih cepat.

    • Struktur matematis dasar geometri 3D hampir tidak berubah selama waktu yang sangat lama. Jika biaya lisensi kernel seperti Parasolid atau ASICs tidak terlalu tinggi, sebenarnya tidak banyak alasan untuk membuat solusi baru dari nol. Pasar belakangan ini juga cenderung terus terkonsolidasi lewat merger dan akuisisi oleh perusahaan perangkat lunak CAD/CAM seperti Autodesk dan Hexagon. OpenCASCADE sendiri awalnya juga perangkat lunak komersial, tetapi akhirnya diubah menjadi open source karena gagal mendapatkan cukup pelanggan.

    • Hampir tidak ada kernel geometri open source yang benar-benar nyata. Yang menonjol hanya OpenCascade dan CGAL, jadi saya penasaran apakah ada lagi.

    • Saya ingin membaca lebih banyak tentang cara menyelesaikan masalah geometri seperti ini dengan baik.

  • Tingkatnya sangat mengagumkan, tetapi masih belum jelas bagaimana fitur seperti constraints atau sketches diimplementasikan. Dan fakta bahwa ini hadir sebagai web app juga sedikit disayangkan. Namun, saya sedang mencoba menerimanya sebagai arus perubahan.

    • Dari sudut pandang seseorang yang menggunakan Chromebook di sekolah, adanya web app seperti ini adalah hal yang luar biasa. Jika siswa juga bisa mencetak hasilnya dengan printer 3D, pilihan alat yang tersedia bagi mereka akan jadi jauh lebih luas. Namun, sebagai guru sekaligus orang tua, saya khawatir anak-anak yang hanya mengenal Chromebook jadi tidak memahami local app, file system, dan semacamnya. Saat anak saya membuat poster, dia mencari gambar lalu berulang kali copy-paste ke berbagai alat web, tetapi ketika saya memberi tahu bahwa di desktop app seperti Affinity atau Photoshop semuanya bisa dilakukan sekaligus, dia sama sekali tidak merasa itu masuk akal, dan rasanya cukup aneh.

    • Fitur tersebut memang belum ada di versi saat ini, tetapi nantinya akan ditambahkan dalam bentuk komponen parametrik.

    • Daripada soal web app, kita perlu lebih memberi perhatian pada betapa pentingnya desain parametrik seperti constraints dan sketches. Menurut saya pribadi, aspek seperti inilah elemen kunci agar sebuah program CAD bisa dianggap serius.

    • Ini adalah contoh yang menunjukkan bahwa browser bisa menjadi sama kuatnya dengan native app. Karena berbasis browser, ketergantungan pada OS hilang, dan ada keuntungan besar karena engineer atau pelajar di seluruh dunia bisa dengan mudah berbagi dan membuka file. Di laptop baru, bahkan terasa lebih cepat daripada native app. Tanpa kerumitan seperti pendaftaran, email, atau 2FA, kita bisa mulai menggambar hanya dalam 30 detik. Dibandingkan kebanyakan alat lain, ada banyak keunggulan termasuk dari sisi biaya. Belakangan saya memakai SketchUp, AutoCAD, dan Revit, lalu menemukan alat ini, dan saya benar-benar menantikan masa depannya.

  • Nama ikon alatnya terasa agak asing dan kurang familier. Misalnya, istilah seperti "Bessel", "pour corner", dan "From the cross section" perlu diganti ke istilah bahasa Inggris yang umum dipakai di CAD. Saat digunakan, bahasanya tiba-tiba berubah ke bahasa Tionghoa, dan karena tidak ada cara mudah untuk mengubahnya kembali ke bahasa Inggris, itu cukup menyulitkan.

  • Saya rasa ini pekerjaan yang luar biasa. Terutama menyenangkan melihat proyek open source muncul di bidang yang dikuasai segelintir vendor seperti Dassault dan Autodesk. Saya juga menantikan perkembangan area CAD yang sadar konteks dengan memanfaatkan AI seperti LLM belakangan ini.

  • Benar-benar luar biasa. Saya terus mencari produk yang mirip OnShape. Untuk alat seperti ini, saya dengan senang hati bersedia membayar beberapa ratus dolar. Saya merasa membayar lebih dari 1.000 dolar untuk lisensi OnShape terlalu membebani.

    • Sebagai karyawan OnShape, menurut saya jika penggunaan nyatanya nonkomersial dan dokumennya boleh terbuka untuk publik, versi gratis OnShape sudah lebih dari cukup. Saat ini stack teknologi yang membuat OnShape tetap berjalan, dapat dikembangkan, dan menjamin performa memang sangat kompleks, dan biaya operasionalnya juga besar.

    • Paket gratis OnShape juga secara pribadi terasa sangat murah hati bagi saya.

  • Saya sangat menyukai antarmukanya. Akan sangat bagus kalau FreeCAD juga punya bentuk seperti ini. Secara pribadi saya lebih suka gaya membuat model parametrik lewat antarmuka Python, tetapi proyek ini terasa sangat keren. Saya penasaran apakah kernel CAD dari proyek Truck direncanakan untuk diimplementasikan sebagai CAD open source. Proyek Truck saat ini tampak sangat menjanjikan.

    • CADmium berbasis kernel Truck. Namun, CADmium tampaknya tidak banyak aktivitas sejak Juni 2024, dan sebagai referensi ini tautan CADmium. Ada juga kernel Fornjot.

    • Saya penasaran secara spesifik bagian apa dari antarmuka FreeCAD yang tidak Anda sukai.

  • Saya rasa ini proyek yang dibuat dengan sangat baik. Semoga benar-benar terus berkembang. Secara khusus, seperti EasyEDA bekerja sama dengan produsen untuk produksi PCB, saya berharap alat ini juga bisa bekerja sama dengan printer 3D atau produsen manufaktur (misalnya EasyEDA) agar pengguna umum bisa dengan mudah membawa desain mereka ke tahap produksi hanya dengan beberapa klik.

    • Saya juga menyarankan untuk mencoba membuat titik temu dengan Slant3D. Layanan pencetakan 3D teleport milik Slant3D tampaknya bisa berkembang lebih jauh berkat editor terintegrasi seperti ini.
  • Jarang ada proyek yang punya performa dan UI selevel ini sekaligus, jadi saya benar-benar menantikannya. Program 3D dengan antarmuka yang intuitif dan jelas enak dilihat ternyata lebih jarang daripada dugaan saya, jadi ini sangat menyenangkan. Saya berharap akan terus ada lebih banyak proyek seperti ini ke depannya.

  • UI-nya mengingatkan saya pada produk Microsoft, dan justru itu terasa cukup positif. Saya penasaran apa yang menurut Anda berbeda dibanding alat 3D CAD pada umumnya, dan motivasi apa yang membuat Anda membuat alat seperti ini.