Saya Membangun Editor CAD di Browser, Lalu Mengajari LLM Cara Menggunakannya

Saya membangun editor CAD di browser. Kemudian saya memberikannya kepada AI.

Hasilnya terlihat saat demo. Saya bertanya pada aplikasi, "Ada berapa banyak pintu dan jendela di sana?"

AI menghitungnya. Lalu ia menambahkan: "Catatan: D3 hanya selebar 300mm. Kemungkinan pintu yang salah terdeteksi. Ingin saya memeriksanya?"

AI tersebut benar. Pipeline data saya mengubah sebuah geometri menjadi pintu berukuran 30cm. Tidak ada manusia yang melihatnya. Model tersebut melihat pintu yang lebih sempit dari kotak sepatu dan menandainya.

Proyek ini memerlukan penyelesaian berbagai hambatan teknis yang besar:

• Parsing file DWG, yang terkenal sulit. • Merekonstruksi model bangunan dari ribuan garis acak. • Membangun editor CAD 2D dari nol menggunakan HTML5 Canvas. • Menghubungkan Claude sebagai agen dengan sekumpulan alat (tools).

Berikut adalah cara kerja sistemnya:

  1. Unggah: Anda memasukkan file DWG ke dalam browser.
  2. Proses: Sebuah tugas latar belakang (background job) mengonversi file dan mengekstrak geometri. Ia mengidentifikasi dinding, pintu, jendela, dan ruangan.
  3. Lihat: Anda mendapatkan penampil 3D dan editor 2D lengkap dengan fitur snapping dan riwayat undo.
  4. Edit: Anda menggunakan panel obrolan untuk memerintahkan agen AI melakukan perubahan.

AI tidak hanya sekadar mengobrol. Ia menggunakan alat untuk mengedit database. Jika Anda berkata, "Tambahkan jendela pada dinding terpanjang," AI akan mengidentifikasi dinding tersebut dan menempatkan bukaan jendela.

Pelajaran utama dari proses pembuatan ini:

• Jangan pernah percaya pada header file. File DWG sering kali memberikan informasi unit yang salah. Saya belajar untuk mengabaikan header dan melihat angka koordinat sebenarnya untuk menemukan skalanya. • Gunakan satu jalur penulisan (write path). UI, pipeline impor, dan AI semuanya menggunakan jalur validasi yang sama. Ini memastikan AI tidak dapat membuat geometri yang mustahil. • Berikan AI riwayat undo. Saat AI melakukan pengeditan, sistem menggabungkan seluruh tindakan tersebut ke dalam satu langkah undo. Jika AI melakukan kesalahan, Anda cukup menekan Ctrl+Z untuk membatalkan semuanya. • Gunakan aturan topologi, bukan ambang batas matematika. Awalnya saya mencoba menemukan ruangan berdasarkan luas area. Ini gagal pada bangunan berbentuk L. Saya beralih ke aturan topologi: bidang (face) terbesar dalam susunan yang terhubung selalu merupakan bagian luar. Sisanya tetap dipertahankan.

Bagian tersulit bukanlah AI-nya. Melainkan mengubah garis-garis anonim menjadi data bangunan yang nyata. Fitur AI hanya memakan waktu beberapa hari karena fondasinya sudah kokoh.

Sumber: https://dev.to/arif/i-built-a-cad-editor-in-the-browser-then-taught-an-llm-to-use-it-1l92

Komunitas belajar opsional: https://t.me/GyaanSetuAi