YazılarOtomasyon Atölyesi

Yapay Zeka ile SolidWorks Eklentisi Yazmak: Nerede Hızlandırıyor, Nerede Yavaşlatıyor

Yapay zeka araçları SolidWorks eklentisi geliştirirken iskeleti ve API keşfini gerçekten hızlandırıyor. Ama COM yaşam döngüsü ve sessiz hatalar konusunda kendinden emin biçimde yanlış kod üretiyor. İkisini ayırmayı öğrenmek gerekiyor.

  • 3 dk okuma
Yapay Zeka ile SolidWorks Eklentisi Yazmak: Nerede Hızlandırıyor, Nerede Yavaşlatıyor
Bu Yazıda

Yapay zeka araçlarını eklenti geliştirirken kontrollü bir kaldıraç olarak kullanıyorum. "Kontrollü" kelimesi burada süs değil: SolidWorks API'si, dil modellerinin en çok yanıldığı alanlardan biri.

Bu yazı, işe yaradığı yerlerle yaramadığı yerleri ayırıyor.

Kod inceleme ve kalite sürecini temsil eden illüstrasyon
Üretilen kodun doğrulanması, üretilmesinden daha uzun sürebilir
01 / 05

Gerçekten hızlandırdığı yerler

İskelet kod. Add-in kaydı, ISwAddin uygulaması, CommandManager sekmesi ve buton bağlama — bunlar her eklentide neredeyse aynı. Elle yazmak yarım gün, üretmek birkaç dakika. Burada kazanç gerçek ve risk düşük, çünkü hata anında derleme zamanında ortaya çıkar.

API keşfi. SolidWorks API'si geniş ve dokümantasyonu dağınık. "Bir sac metal parçanın büküm tablosuna nasıl erişilir" sorusunun cevabını aramak yerine sormak, çoğu zaman doğru arayüz adına daha hızlı götürüyor. Ama cevabı doğrulamadan kullanmıyorum — bunun nedeni aşağıda.

Tekrarlayan dönüşümler. Elimde VBA makro varsa ve C#'a taşınacaksa, bu mekanik bir çeviri işi. Yapay zeka bu işte iyi.

Test verisi ve kenar durum listesi. "Bu fonksiyon hangi girdilerde patlar" sorusuna verdiği liste, kendi düşündüğümden genellikle daha uzun oluyor.

02 / 05

Kendinden emin biçimde yanıldığı yerler

Buradaki tehlike, hata yapması değil — hata yaptığını belli etmemesi.

COM nesne yaşam döngüsü. SolidWorks API'si COM üzerinden çalışır. Üretilen kod çoğu zaman nesneleri serbest bırakmayı atlar veya yanlış sırada bırakır. Sonuç anında görünmez: uygulama çalışır, ama uzun oturumlarda bellek şişer ya da SolidWorks kapanırken takılır. Bu tür hatalar testte değil, sahada üç hafta sonra ortaya çıkar.

Sürüm farkları. API'nin bir metodu sürümler arasında değişmişse, model genellikle eski imzayı üretir. Derlenir, çalışır, yanlış sonuç verir.

Sessiz başarısızlık. SolidWorks API'sinde birçok çağrı hata fırlatmaz; null veya false döner. Üretilen kod bu dönüşleri kontrol etmeyi sık sık atlar. Otomasyon "çalışır" görünür, çıktı eksik üretilir.

Otomasyonun en pahalı hatası çöken koddur değil, sessizce yanlış çıktı üreten koddur. Çöken kodu fark edersiniz; yanlış çıktı üretim hattına gider.
Modüler yazılım mimarisini temsil eden illüstrasyon
Üretim katmanı ile doğrulama katmanını ayırmak
03 / 05

Kurduğum çalışma düzeni

Bu ayrımı bir kurala bağladım:

  1. İskelet ve mekanik dönüşüm — üretilir, hızlıca gözden geçirilir.
  2. API çağrısı içeren her kod — üretilebilir, ama dönüş değeri kontrolü ve nesne serbest bırakma elle eklenir.
  3. Kural ve doğrulama katmanı — elle yazılır. Ürünün doğru olup olmadığına karar veren kod, üretilmiş koda emanet edilmez.
  4. Test — yapay zeka kenar durumları önerir, testleri ben yazarım.

Bu düzen, otomasyonun sınırını çizme prensibinin kod tarafındaki karşılığı: kural haline getirilebilen iş devredilir, yargı gerektiren iş devredilmez.

04 / 05

Ölçtüğüm şey

"Yapay zeka geliştirmeyi hızlandırdı mı" sorusunu tek bir sayıyla cevaplamak yanlış olur. Ölçmeye değer iki ayrı şey var:

ÖlçümGözlemim
İlk çalışan sürüme ulaşmaBelirgin biçimde kısalıyor
Sahada güvenilir sürüme ulaşmaBelirgin bir fark görmedim

İkisi arasındaki fark, doğrulama yükünün nereye taşındığını gösteriyor: yazma süresinden okuma süresine. Toplam kazanç, doğrulama disiplininiz kadar oluyor.

05 / 05

Özet

Yapay zeka, SolidWorks eklentisi geliştirmede iskeleti ve keşfi hızlandırıyor; API'nin tuzaklarını bilmiyor. Kazancı korumanın yolu, üretilen kodu nereye koyacağınızı baştan ayırmaktan geçiyor.

Serinin devamında AutoCAD tarafındaki seçenekleri ve kazancın nasıl ölçüleceğini ele alıyorum.

İlgili projeAI Destekli SolidWorks Add-inAI destekli SolidWorks Add-in: parametrik tasarım, 2D→3D otomasyon ve CAD workflow'unu yazılımla tanımlayan mühendislik yazılımı projesi.