SolidWorks Makro ile Tasarım Otomasyonu: VBA Rehberi
SolidWorks makro, tekrarlayan tasarım işlemlerini otomatikleştirerek mühendislerin üretkenliğini katbekat artıran güçlü bir araçtır. Her gün aynı adımları tekrarlıyorsanız bir SolidWorks makro yazarak bu süreci saniyeler içinde tamamlayabilirsiniz. Bu rehberde SolidWorks VBA makro programlama temellerini ve sac metal alanında pratik örnekleri detaylı olarak ele alıyoruz.
SolidWorks Makro Nedir ve Ne İşe Yarar?
Bu araç, SolidWorks API kullanarak yazılan otomasyon betikleridir. VBA (Visual Basic for Applications) dilinde yazılır ve .swp uzantısıyla kaydedilir. Makrolar menü çubuğundaki Tools > Macro > Record ile kaydedilebilir veya sıfırdan yazılabilir.
Makroların en büyük avantajı tekrarlayan işlemleri otomatikleştirmesidir. Düşünün ki her tasarımda aynı 15 adımı tekrarlıyorsunuz. Bu işlem günde 10 kez yapılıyorsa yılda 250 iş günü hesabıyla yaklaşık 625 saat harcıyorsunuz. Bir makro ile bu süreyi 50 saatin altına düşürebilirsiniz.
SolidWorks API çok geniş bir fonksiyon kütüphanesi sunar. Part, Assembly, Drawing dosyalarını açma, düzenleme ve kaydetme işlemlerinden özel özellik eklemeye, BOM oluşturmaya ve PDF dışa aktarmaya kadar hemen her işlem programlanabilir.
VBA ile SolidWorks Makro Otomasyon Temelleri
SolidWorks VBA editörüne Tools > Macro > New ile erişirsiniz. Temel bir SolidWorks makro şu yapıyla başlar: Dim swApp As SldWorks.SldWorks ve Set swApp = Application.SldWorks satırları ile SolidWorks uygulamasına erişim sağlanır.
Aktif belgeye erişim için Dim swModel As ModelDoc2 ve Set swModel = swApp.ActiveDoc satırları kullanılır. Bu iki satır hemen her makronun temelini oluşturur. Ardından swModel üzerinden geometri, özellikler ve konfigürasyonlara erişebilirsiniz.
Hata yakalama için On Error GoTo satırı ile hata yönetimi eklemek önemlidir. Makro çalışırken dosya açık değilse veya seçim yapılmamışsa program çökmemeli, kullanıcıya anlamlı bir mesaj göstermelidir.
SolidWorks API Kullanımı
SolidWorks API dört ana nesne modeline sahiptir. SldWorks nesnesi uygulamayı temsil eder. ModelDoc2 açık belgeyi temsil eder. PartDoc, AssemblyDoc ve DrawingDoc ise belge türüne özel fonksiyonlar sunar. Feature, Body ve Face nesneleri geometri düzeyinde erişim sağlar.
SolidWorks API Help dosyası en önemli referans kaynağınızdır. SolidWorks kurulumu ile birlikte gelen API Help içinde tüm nesneler, metodlar ve özellikler detaylı açıklamalar ve kod örnekleriyle yer alır.
SolidWorks sac metal tasarım rehberimizde anlattığımız Sheet Metal fonksiyonlarının tamamı API üzerinden de erişilebilir. Böylece sac metal işlemlerini makro ile otomatikleştirebilirsiniz.
Sac Metal Makro Örnekleri
En sık kullanılan SolidWorks makro örneklerinden biri toplu DXF export makrosudur. Bu makro bir Assembly dosyasındaki tüm sac metal parçaların düz açınımlarını otomatik olarak DXF formatında kaydeder. Her parça için ayrı DXF dosyası oluşturulur ve dosya adı parça numarasından alınır.
İkinci popüler örnek otomatik açınım alma makrosudur. Aktif sac metal parçanın Flat Pattern özelliğini açar, düz açınım boyutlarını okur ve özel özelliklere (Custom Properties) yazar. Bu bilgiler BOM listesinde ve kesim planında kullanılır.
Üçüncü örnek BOM otomatik oluşturma makrosudur. Assembly dosyasından tüm parçaları okur, malzeme, kalınlık, adet ve boyut bilgilerini toplar ve Excel dosyasına aktarır. Bu makro özellikle fason üreticiye sipariş gönderirken büyük zaman tasarrufu sağlar.
İleri Düzey SolidWorks Makro İpuçları ve Performans
Makro performansını artırmak için swModel.SetAddToPart = False ve swApp.CommandInProgress = True satırlarını kullanın. Bu ayarlar ekran yenilemesini ve komut geçmişi kaydını devre dışı bırakarak makronun çok daha hızlı çalışmasını sağlar.
Konfigürasyon bazlı işlemler için swModel.ShowConfiguration2 metodu ile konfigürasyonlar arası geçiş yapabilirsiniz. Her konfigürasyon için ayrı DXF veya PDF alarak çoklu varyant yönetimini otomatikleştirebilirsiniz.
Makrolarınızı .swp yerine Add-In olarak derleyerek SolidWorks araç çubuğuna buton ekleyebilirsiniz. Bu sayede makroya tek tıklama ile erişim sağlanır. Teknik resim ve BOM listesi yazımızda dokümantasyon otomasyonu konusuna da değindik.
SolidWorks Makro ile Zaman Tasarrufu Hesabı
Tipik bir sac metal tasarım ofisinde makro otomasyonu ile elde edilen zaman tasarrufları şöyledir. Toplu DXF export işlemi manuel 45 dakika iken makro ile 2 dakikaya düşer. BOM listesi hazırlama manuel 30 dakika iken makro ile 1 dakikaya düşer.
Teknik resim şablon uygulama manuel 20 dakika iken makro ile 30 saniyeye düşer. Revizyon numarası güncelleme manuel 15 dakika iken makro ile 10 saniyeye düşer. Toplam günlük tasarruf ortalama 2-3 saat civarındadır.
Yıllık bazda bu tasarruf 500-750 saat demektir. Bir mühendisin saatlik maliyeti 200 TL olarak alınırsa yıllık 100.000-150.000 TL maliyet avantajı sağlanır. Makro geliştirme yatırımı genellikle 1-2 ay içinde kendini amorti eder.
Sonuç: Burak Engineering SolidWorks Makro Geliştirme
SolidWorks makro programlama, mühendislik üretkenliğini artırmanın en etkili yollarından biridir. VBA ile başlayarak temel otomasyonları oluşturabilir, zamanla daha karmaşık çözümler geliştirebilirsiniz. SolidWorks API’nin sunduğu geniş fonksiyon kütüphanesi ile hayal gücünüzün sınırları dahilinde her şeyi otomatikleştirebilirsiniz.
Burak Engineering olarak otomasyon geliştirme, VBA eğitimi ve özel otomasyon çözümleri sunuyoruz. İşletmenize özel makrolar geliştirerek tasarım sürecinizi hızlandırıyoruz.
İletişim sayfamızdan bize ulaşarak SolidWorks makro geliştirme ve otomasyon danışmanlığı için ücretsiz ön değerlendirme alabilirsiniz.
İlgili Hizmetler
SolidWorks API mimarisi: bir makro modele nasıl bağlanır?
Her SolidWorks makro çalışmasının temelinde aynı nesne zinciri vardır. Bu zinciri bilmeden yazılan kod, ilk sürüm yükseltmesinde ya da farklı bir belge tipinde kırılır. Zincirin doğru kurulması, otomasyonun on yıl boyunca ayakta kalmasını sağlar.
Zincir uygulama nesnesiyle başlar ve tek tek özelliklere iner: uygulama katmanı oturumu temsil eder, belge katmanı açık dosyayı, özellik yöneticisi ise ağaçtaki her bir öğeyi. Seçim yöneticisi kullanıcının ya da kodun neyi işaretlediğini tutar; belge uzantısı ise modern metotların toplandığı yerdir.
- Uygulama katmanı — oturumu açar, belge açma/kapama ve kullanıcı tercihlerini yönetir.
- Belge katmanı — parça, montaj ve teknik resim için ayrı arayüzler sunar; ortak işlemler tek bir belge arayüzünden yürür.
- Özellik yöneticisi — tasarım ağacında gezinir, özellik ekler, siler ve sırasını değiştirir.
- Seçim yöneticisi — seçili nesnenin tipini, sayısını ve işaretini verir; her işlemden önce temizlenmelidir.
- Belge uzantısı — kimlikle seçme, komut çalıştırma ve gelişmiş kaydetme metotlarının bulunduğu katmandır.
Erken bağlama mı, geç bağlama mı?
Erken bağlamada tip kütüphanesine referans verilir; kod tamamlama ve derleme zamanı denetimi kazanılır. Buna karşılık makro, referans verilen sürüme bağımlı hâle gelir. Geç bağlamada nesneler çalışma anında çözülür; kod sürümler arasında taşınabilir olur ama yazım hataları ancak çalışırken ortaya çıkar.
Uygulamada karma bir yol izliyoruz: geliştirme sırasında erken bağlama ile hızlı yazıyor, dağıtımdan önce kritik çağrıları geç bağlamaya çevirerek sürüm bağımsızlığı sağlıyoruz.
| Ölçüt | VBA makro (.swp) | .NET eklentisi (.dll) |
|---|---|---|
| Geliştirme hızı | Çok yüksek, düzenleyici dahili | Orta, ayrı derleme gerekir |
| Dağıtım | Dosya kopyalama yeterli | Kurulum ve kayıt gerekir |
| Arayüz entegrasyonu | Sınırlı, düğme atanabilir | Sekme, menü ve görev bölmesi |
| Kaynak kontrolü | Zor, ikili biçim | Kolay, düz metin kaynak |
| Bakım maliyeti | Küçük işlerde düşük | Büyük projelerde düşük |
| Önerilen kullanım | Tek işlik hızlı kazanımlar | Kurumsal, çok kullanıcılı akışlar |
Üretim kalitesinde bir SolidWorks makro nasıl yazılır?
Çalışan bir kod ile güvenilir bir kod arasındaki fark, hata anında ne olduğudur. Teknik ofiste bir gecede yüzlerce dosya işleyen otomasyonun sessizce yanlış sonuç üretmesi, hiç çalışmamasından daha pahalıdır.
Girdi doğrulama ve seçim güvenliği
Kod ilk olarak aktif bir belge olup olmadığını, belgenin beklenen tipte bulunup bulunmadığını ve gerekli konfigürasyonun mevcut olduğunu denetlemelidir. Seçim yapılmadan önce mevcut seçim temizlenir, seçme çağrısının döndürdüğü mantıksal değer mutlaka kontrol edilir.
Ekran koordinatına, sabit indekse veya kullanıcının o an neyi işaretlediğine dayanan hiçbir kod üretime alınmaz. Nesneler kalıcı kimlikleriyle çözülür.
Birim tuzağı
API her zaman metre ve radyan ile çalışır; kullanıcı arayüzü ise milimetre ve derece gösterir. Bu iki dünyayı karıştıran kod, bin katı ölçek hatası üretir. Dönüşümü tek bir yardımcı fonksiyonda toplamak, hatanın tamamını ortadan kaldırır.
Yeniden oluşturma, geri alma ve uyarı yönetimi
Toplu değişikliklerden sonra zorlamalı yeniden oluşturma çağrılır ve sonucu denetlenir. Tüm işlem tek bir geri alma grubu içine alınırsa kullanıcı, beklenmeyen bir sonuçta tek adımda eski hâle döner.
Sessiz çalışma için diyalog kutuları geçici olarak bastırılır; ancak makro biterken ya da hata verirken tercihlerin eski değerine döndürülmesi şarttır. Aksi hâlde kullanıcı, uyarıların kapalı olduğu bir oturumda çalışmaya devam eder.
Sahadan bir kural
Her SolidWorks makro çalışması bir kayıt satırı bırakmalıdır: dosya adı, işlem, süre, sonuç ve hata mesajı. Bu tek alışkanlık, sorun giderme süresini saatlerden dakikalara indirir.
Toplu işlem desenleri: yüzlerce dosyayı gece boyunca işlemek
Tekil bir işlemi otomatikleştirmek kolaydır; asıl kazanç, aynı işlemi bir klasördeki tüm dosyalara güvenle uygulayabilmektir. Toplu işlem yazarken üç şeyi baştan çözmek gerekir: gezinme, açma ve toparlanma.
- Gezinme — klasör ağacı özyinelemeli taranır, uzantı ve ad kalıbına göre filtre uygulanır, işlenecek liste önce bellekte oluşturulur.
- Sıralama — önce parçalar, sonra alt montajlar, en sonda üst montaj işlenir. Ters sırada çalışmak referans hatalarına yol açar.
- Sessiz açma — belge, uyarı ve hata bayrakları okunarak açılır; salt okunur mod büyük montajlarda açılma süresini belirgin biçimde kısaltır.
- İşlem — asıl görev burada yapılır ve her adımın dönüş değeri denetlenir.
- Kapatma — belge kaydedilmeden kapatılır; yalnızca gerçekten değişen dosyalar kaydedilir.
- Toparlanma — bir dosya hata verirse döngü durmaz; hata kaydedilir ve sıradaki dosyaya geçilir.
Bu desen sayesinde bin parçalık bir arşivin açınım ve DXF üretimi, mesai dışında tek bir oturumda tamamlanabilir. Sabah kontrol edilecek tek şey hata kaydıdır.
Eksik referans ve yol sorunları
Montaj açılırken çözülemeyen referanslar toplu işlemin en sık kırılma noktasıdır. Arama klasörlerinin makro başında tanımlanması ve işlem sonunda eski hâline döndürülmesi, bu hataların büyük bölümünü ortadan kaldırır.
Sac metal ve teknik resim otomasyonu
Otomasyonun en hızlı geri dönüş verdiği alan, tekrar eden çıktı üretimidir. Sac metal parçalarda açınım ve kesim dosyası, teknik resimlerde ise görünüş yerleşimi ve malzeme listesi bu kapsama girer.
Açınım ve kesim dosyası kalitesi
Bir kesim dosyasının makinede sorunsuz çalışması, geometriden çok katman düzenine bağlıdır. Dış kontur, iç konturlar, büküm çizgileri ve işaretleme geometrisi ayrı katmanlara yazılmalı; makine tarafında bu katmanlar teknoloji tablosuyla eşleşmelidir.
- Dış kontur tek ve kapalı bir eğri olmalı, çift çizgi bulunmamalıdır.
- İç konturlar delik çapına göre ayrılırsa, küçük delikler için farklı kesim hızı atanabilir.
- Büküm çizgileri yön ve açı bilgisiyle birlikte ayrı katmanda tutulur.
- Açınım, üretimde kullanılacak büküm tablosu ve K-faktörü ile hesaplanmış konfigürasyondan alınır.
- Dosya adı parça numarası, revizyon ve kalınlık bilgisini içerecek şekilde kodla üretilir.
Teknik resim üretimi
Teknik resim otomasyonu şablonla başlar. Kod, şablona görünüşleri yerleştirir, ölçeği sayfa boyutuna göre seçer, malzeme listesini bağlar ve revizyon tablosunu günceller. Çıktı adlandırması tek bir kural fonksiyonundan geçtiği için arşiv tutarlı kalır.
Bu akış, bir SolidWorks makro ile parametrik modelin birlikte kurulduğu projelerde en yüksek verimi verir: ölçü değişir, model yeniden oluşturulur, resim ve kesim dosyası otomatik yenilenir.
Performans ve güvenilirlik ayarları
Otomasyonun süresi çoğu zaman koddan değil, modelin açılma ve yeniden oluşturma maliyetinden gelir. Birkaç ayar, toplam süreyi belirgin biçimde kısaltır.
- Büyük montajlarda hafif bileşen ve büyük montaj modu kullanmak, açılma süresini kısaltır.
- Yalnızca gerekli konfigürasyon yüklenirse bellek tüketimi düşer.
- Ara adımlarda yeniden oluşturmayı ertelemek, çok sayıda ölçü değişikliğinde kayda değer kazanç sağlar.
- Ekran güncellemesinin kapatılması uzun döngülerde belirgin hızlanma getirir.
- Her dosya için geçen süre ölçülüp kaydedilirse, darboğaz olan modeller kolayca tespit edilir.
Güvenlik, sürüm yönetimi ve dağıtım
Otomasyon bir kez yazılıp unutulan bir dosya değil, bakımı yapılan bir yazılım varlığıdır. Teknik ofiste birden fazla kişi aynı araçları kullanacaksa dağıtım ve sürüm disiplini şarttır.
- Güvenlik seviyesi — kurumsal ortamda makrolar yalnızca tanımlı güvenilir konumlardan çalıştırılmalıdır.
- Tek kaynak — araçlar ağ üzerinde tek bir klasörde tutulur; kullanıcı masaüstündeki kopyalar yasaklanır.
- Sürüm etiketi — her araç kendi sürüm numarasını kayda yazar; hata bildirimi geldiğinde hangi sürümün çalıştığı bilinir.
- Kaynak kontrolü — kod düz metin olarak sürüm deposunda tutulur, değişiklikler gözden geçirilerek birleştirilir.
- Yükseltme testi — yeni sürüme geçmeden önce araçlar temsil gücü olan bir dosya kümesiyle sınanır.
Ne zaman eklentiye geçilmeli?
Araç sayısı arttığında, aynı yardımcı fonksiyonlar birden çok dosyada tekrar etmeye başlar. Bu noktada ortak kütüphaneyi tek bir eklentiye taşımak, hem bakım maliyetini düşürür hem de kullanıcıya düzenli bir arayüz sunar. Beş araçtan sonra geçiş genellikle kendini amorti eder.
Yaygın hata senaryoları ve çözümleri
| Belirti | Olası neden | Çözüm |
|---|---|---|
| Makro bazı dosyalarda sessizce hiçbir şey yapmıyor | Seçme çağrısı başarısız ama dönüş değeri denetlenmiyor | Her seçme sonrası mantıksal dönüş kontrol edilir, başarısızlık kayda yazılır |
| Ölçüler bin kat büyük veya küçük çıkıyor | Milimetre değeri doğrudan API metoduna veriliyor | Birim dönüşümü tek bir yardımcı fonksiyonda toplanır |
| Toplu işlem ilk hatada duruyor | Döngü içinde hata yakalama yok | Her dosya kendi hata bloğunda işlenir, döngü devam eder |
| Montaj açılırken parçalar bulunamıyor | Arama klasörleri tanımlı değil | Makro başında arama yolları eklenir, sonunda geri alınır |
| Kullanıcıda uyarılar kapalı kalıyor | Tercihler hata anında geri yüklenmiyor | Geri yükleme, hata bloğunun çıkış kısmına taşınır |
| Sürüm yükseltmesinden sonra kod kırılıyor | Erken bağlama ile eski tip kütüphanesine bağımlılık | Kritik çağrılar geç bağlamaya çevrilir, yükseltme testi yapılır |
| Aynı araç kullanıcılarda farklı davranıyor | Masaüstünde eski kopyalar var | Tek merkezî konum ve sürüm etiketi zorunlu kılınır |
Devreye alma kontrol listesi
- Aktif belge ve belge tipi denetleniyor mu?
- Seçim her işlem öncesi temizleniyor ve dönüş değeri kontrol ediliyor mu?
- Birim dönüşümü tek noktadan mı geçiyor?
- Tüm işlem tek bir geri alma grubunda mı?
- Uyarı tercihleri hata durumunda da geri yükleniyor mu?
- Her çalışma için kayıt satırı üretiliyor mu?
- Araç merkezî konumda ve sürüm etiketli mi?
- Yeni sürüme geçişte test kümesiyle sınandı mı?
Bu sekiz maddeyi geçen bir otomasyon, teknik ofiste güvenle günlük kullanıma alınabilir. Listeyi geçemeyen araçlar ise önce pilot bir kullanıcıyla sınırlı tutulmalıdır.
Solidworks makro: kontrol listesi
Aşağıdaki kontrol listesi, solidworks makro konusunda bu sayfadaki adımları hızlıca gözden geçirmenizi sağlar:
- SolidWorks Makro Nedir ve Ne İşe Yarar?
- VBA ile SolidWorks Makro Otomasyon Temelleri
- SolidWorks API Kullanımı
- Sac Metal Makro Örnekleri
- İleri Düzey SolidWorks Makro İpuçları ve Performans
- SolidWorks Makro ile Zaman Tasarrufu Hesabı
- Sonuç: Burak Engineering SolidWorks Makro Geliştirme
- İlgili Hizmetler
Projenizde solidworks makro konusunda uygulamalı destek almak isterseniz bize ulaşın.


SSS
Sık Sorulan Sorular
SolidWorks makro nedir ve nasıl oluşturulur?
SolidWorks makro, SolidWorks API kullanılarak yazılan otomasyon betikleridir. VBA dilinde yazılır ve .swp uzantısıyla kaydedilir. Tools > Macro > Record menüsüyle kaydedilebilir veya Tools > Macro > New ile sıfırdan yazılabilir. Part, Assembly ve Drawing dosyalarını açma, düzenleme ve kaydetmeden özel özellik eklemeye, BOM oluşturmaya ve PDF dışa aktarmaya kadar hemen her işlem makro ile programlanabilir.
SolidWorks makro ile ne kadar zaman tasarrufu sağlanır?
Tipik bir sac metal tasarım ofisinde toplu DXF export manuel 45 dakikadan makro ile 2 dakikaya, BOM listesi hazırlama 30 dakikadan 1 dakikaya, teknik resim şablon uygulama 20 dakikadan 30 saniyeye düşer. Günlük ortalama tasarruf 2-3 saat, yıllık bazda 500-750 saattir. Mühendis saatlik maliyeti 200 TL alındığında yıllık 100.000-150.000 TL avantaj sağlanır; makro geliştirme yatırımı genellikle 1-2 ay içinde kendini amorti eder.
Sac metal tasarımında en çok kullanılan SolidWorks makroları hangileridir?
En yaygın üç örnek şunlardır: Assembly dosyasındaki tüm sac metal parçaların düz açınımlarını parça numarasıyla adlandırılmış ayrı DXF dosyaları olarak kaydeden toplu DXF export makrosu; Flat Pattern boyutlarını okuyup Custom Properties alanlarına yazan otomatik açınım makrosu; malzeme, kalınlık, adet ve boyut bilgilerini toplayıp Excel dosyasına aktaran BOM makrosu. BOM makrosu özellikle fason üreticiye sipariş gönderirken büyük zaman tasarrufu sağlar.
SolidWorks makro performansı nasıl artırılır?
Makro hızını artırmak için swModel.SetAddToPart = False ve swApp.CommandInProgress = True satırları kullanılır; bu ayarlar ekran yenilemesini ve komut geçmişi kaydını devre dışı bırakarak makronun çok daha hızlı çalışmasını sağlar. ShowConfiguration2 metoduyla konfigürasyonlar arası geçiş yapılarak her varyant için ayrı DXF veya PDF alınabilir. Makro .swp yerine Add-In olarak derlenirse araç çubuğuna buton eklenir ve tek tıklamayla erişilir.
SolidWorks makro yazmayı bilmeyenler destek alabilir mi?
Evet. Burak Engineering, SolidWorks makro geliştirme, VBA eğitimi ve işletmeye özel otomasyon çözümleri sunar; işletmenize özel makrolar geliştirilerek tasarım süreciniz hızlandırılır. İletişim sayfası üzerinden ulaşarak makro geliştirme ve otomasyon danışmanlığı için ücretsiz ön değerlendirme alabilirsiniz. Kendi öğrenmek isteyenler için SolidWorks kurulumuyla gelen API Help dosyası en önemli referanstır; tüm nesneler, metodlar ve özellikler kod örnekleriyle açıklanır.
İlgili Hizmet
Makroları kendiniz yazmak yerine kurulu bir sistem mi istiyorsunuz? Firmanıza özel makro geliştirme ve parametrik şablon kurulumunu uçtan uca üstleniyorum.
SolidWorks Makro ve Parametrik Tasarım Otomasyonu