deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

SolidCraft: Rust ile yazılmış, tarayıcı ve MCP destekli açık kaynak parametrik CAD

Show HN projesi SolidCraft, parametrik 3D CAD'ı saf Rust'a taşıyor; masaüstü ve tarayıcı sürümleri, özel bir kısıt çözücü ve yapay zeka ajanlarının parça modelleyip ölçmesini sağlayan bir MCP server sunuyor.

SolidCraft: Rust ile yazılmış, tarayıcı ve MCP destekli açık kaynak parametrik CAD

Tamamen Rust ile yazılmış parametrik 3D CAD uygulaması SolidCraft, Show HN gönderisi olarak Hacker News'in ana sayfasına ulaştı. Projenin GitHub deposuna göre, SolidCraft parametrik modellemenin tam çizim, kısıtlama ve inşa döngüsünü kapsıyor; Windows, macOS ve Linux masaüstlerinde olduğu gibi tarayıcıda da çalışıyor ve yapay zeka ajanlarının kendi başlarına parça modelleyebilmesi için headless bir CLI ile birlikte bir MCP server içeriyor.

Kendi geliştirilen çözücüyle eskiz temelli modelleme

README, ticari parametrik CAD kullanmış herkese tanıdık gelecek bir iş akışını anlatıyor. Kullanıcılar; doğrudan çizgi, daire, yay, çokgen, yuvalar, elips, spline, konikler ve metin kullanarak origin düzlemlerinde, ofset düzlemlerde ya da düzlemsel yüzeylerde eskiz çiziyor ve ardından geometriyi kısıtlıyor. Katı cisimler; extrude, revolve, sweep, loft, fillet ve chamfer, shell, draft, delikler, dişler, desenler, aynalama, bölme, birleştirme ve taşıma işlemlerini içeren bir özellik zaman çizelgesinden oluşturuluyor. Zaman çizelgesi artımlı olarak yeniden oluşturuluyor ve tek tek özellikler düzenlenebiliyor, bastırılabiliyor, yeniden adlandırılabiliyor, yeniden sıralanabiliyor ya da silinebiliyor. README'de gösterilen tanıtım derlemesinde, M2.5 stand-off deseni, port kesikleri ve havalandırma yuvaları içeren bir Raspberry Pi 4 kılıfı, tek bir yükseklik parametresi 24 mm'den 32 mm'ye değiştirildiğinde eksiksiz biçimde yeniden oluşturuluyor.

Kısıt çözücü projenin kendi geliştirmesi. Bilinen geometriye göre kısıtlarla sabitlenen noktalar, Owen (1991) ve Fudos–Hoffmann (1997) geleneğindekine uygun biçimde lokus kesişimleri ve rijid küme ayrıştırması kullanılarak tam olarak yerleştiriliyor; kalanlar Levenberg–Marquardt ile çözülüyor ve çözücünün Jacobian matrisinin rank'ı, artan serbestlik derecelerini ortaya çıkarıyor. Desteklenen kısıtlar arasında çakışık, eğri üzerinde nokta, paralel, dik, teğet, eğrilik (G2), eşit, eş merkezli, eş doğrusal, orta nokta, simetri ve sabitleme yer alıyor; bunlara birim farkındalı doğrusal, yarıçap, çap, açı ve yay boyutları da eşlik ediyor. Aşırı kısıtlama içeren düzenlemeler reddediliyor ve geometri tamamen kısıtlandığında siyaha dönüyor. Sürükleme eskizi her karede çözüyor ve modeli, sürükleme bittiğinde yalnızca bir kez yeniden oluşturuyor.

Montajlar, sac metal ve dosya alışverişi

Tek parçaların ötesinde SolidCraft; iç içe bileşenler, bağlantılar, hareket çalışmaları, temas kümeleri, girişim denetimleri ve malzeme farkındalı kütle özellikleriyle montajları yönetiyor. Bir sac metal modülü; flanşları, kıvrımları, katlama, katlamayı açma ve yeniden katlamayı, düz desenleri, büküm tablolarını ve tam çizgi, yay ve daire konturlarının DXF çıktısını kapsıyor. Parametreler, 2 * width + 5 mm gibi birim farkındalı ifadeleri kabul ediyor; sıralı kurallar, konfigürasyonlar ve satır başına malzeme ile görünüm desteği de var.

Genç bir proje için birlikte çalışabilirlik oldukça geniş: tasarımlar STEP (isimler, renkler ve montajlarla AP242; döndürülmüş yüzeyler yerel analitik yüzeyler olarak yazılıyor), IGES 5.3, 3MF, STL ve OBJ biçimlerine aktarılabiliyor. STEP ve IGES dosyaları, sonraki özelliklerin üzerine inşa edebileceği temel özellikler olarak içe aktarılıyor; mesh biçimleri mesh gövdeleri olarak içe aktarılıyor ve bir Convert Mesh komutu desteklenen kapalı sabit kesitli parçaları parametrik katı cisimler olarak yeniden oluşturuyor. Yerel tasarımlar, kayıpsız ikili mesh yükleriyle .solidcraft container'ını kullanıyor; düz JSON hâlâ kullanılabilir durumda.

Masaüstü, tarayıcı ve ajan runtime'ları

Masaüstü uygulaması egui ve wgpu ile oluşturulmuş olup bir komut paleti ile harici ajanların ve testlerin yönetebileceği bir JSON-lines kontrol kanalı içeriyor. Kurulum gerektirmeyen bir web sürümü tarayıcıda çalışıyor ve projenin CI görev listesinde bir wasm adımı bulunuyor. İndirmeler Windows yükleyicileri, macOS disk görüntüleri, AppImage'lar, .deb ve .rpm paketleri, Flatpak, Snap, ARM64 derlemeleri ve taşınabilir bir zip'i kapsıyor. Derlemeler henüz imzalanmadığından Windows ve macOS kullanıcılarının ilk çalıştırmada güvenlik uyarılarını geçmesi gerekiyor.

Headless CLI; komut betiklerini çalıştırıyor, hacim, alan ve kütle merkezini ölçüyor, dosya aktarıyor, PNG anlık görüntüleri render ediyor ve referans tarifleri yeniden oynatıyor. mcp alt komutu, yapay zeka ajanlarının parçaları headless biçimde ya da çalışan masaüstü uygulaması içinde modelleyebileceği, ölçebileceği ve inceleyebileceği bir MCP server başlatıyor.

Ne kadar tamamlandı

Proje kendisini erken aşamada ama basit parçaları işleyebilecek kadar yetkin olarak konumlandırıyor. 76 genel referans parçadan 75'i, analitik ya da FreeCAD ile hesaplanmış hacim, alan, kütle merkezi ve sınırlayıcı kutusunu yeniden üretiyor; tek uyumsuzluk bir hata olarak izleniyor. README, bu denetimlerin tam geometrik ya da iş akışı eşdeğerliği kanıtlamadığını dikkatle belirtiyor ve açık işler GitHub issue'larında izleniyor.

Neden önemli

Parametrik CAD, açık kaynağın zor kırıldığı kategorilerden biri oldu ve geometrisini bağımsız hesaplanmış referanslara karşı zaten doğrulayan sıfırdan bir Rust uygulaması, kayda değer bir veri noktası. Rust seçimi yalnızca performans satın almıyor: aynı kod tabanı WebAssembly üzerinden tarayıcıya ulaşıyor ve ARM kartlarda çalışıyor. MCP server ise daha alışılmadık bir bahis. Yapay zeka ajanları belgelenmiş bir protokol üzerinden gerçekten eskiz çizebilir, kısıtlayabilir ve modelleri ölçebilirse, CAD otomasyon için betiklenebilir bir yüzey haline geliyor ve SolidCraft kendisini tam da bu değişim için erken konumlandırıyor.

  • #cad
  • #rust
  • #open-source
  • #mcp
  • #3d-modeling

İlgili yazılar