YazılarOtomasyon Atölyesi

SolidWorks Makro Nasıl Çalıştırılır? Menü, Buton, Kısayol

SolidWorks'te makro çalıştırmanın bütün yolları: menüden çalıştırma, araç çubuğuna buton ekleme, klavye kısayolu atama, paylaşım ve güvenlik ayarları.

  • 9 dk okuma
Bu Yazıda

Kısa cevap şu: SolidWorks'te bir makroyu Araçlar > Makro > Çalıştır menüsünden .swp dosyasını seçerek çalıştırırsınız. Ama günde beş kez kullanacağınız bir makroyu her seferinde menüden aramak, otomasyonun kazandırdığı süreyi geri verir. Asıl istediğiniz şey makroyu bir butona ya da klavye kısayoluna bağlamak — ve bu, sandığınızdan çok daha kolay.

Gelin baştan alalım. Bu yazıda makroyu çalıştırmanın bütün yollarını, hangisinin ne zaman doğru olduğunu ve makro başkasının bilgisayarında çalışmadığında ne yapılacağını anlatacağım. Tek satır kod yok; sadece nereye tıklayacağınız ve neden.

Makronun ne olduğunu, kaydediciyle nasıl üretildiğini ve kaydedilen kodun neden doğrudan güvenilmez olduğunu daha önce SolidWorks makro nedir yazısında anlatmıştım. Burada odak tamamen çalıştırma tarafında.

Adım adım kontrol listesini temsil eden illüstrasyon
Menüden çalıştırma, butona atama, kısayol: üç ayrı ihtiyaç
01 / 09

En basit yol: menüden çalıştırmak

Elinizde bir .swp dosyası var — belki kendiniz kaydettiniz, belki bir meslektaşınız gönderdi. Onu çalıştırmak için:

Araçlar > Makro > Çalıştır yolunu izleyin, açılan pencereden dosyayı seçin, tamam deyin. Makro işini yapar ve sonlanır. Hepsi bu.

Burada takılınan tek nokta genelde menünün yerinde olmuyor olması. SolidWorks sürümden sürüme menü yerleşimini biraz oynatıyor. Bulamazsanız en hızlı çözüm, sağ üstteki komut arama kutusuna "makro" yazmak — SolidWorks size doğrudan komutu gösterir.

Bir de şu var: makro çalıştırdığınızda önce doğru belgenin açık olduğundan emin olun. Parça için yazılmış bir makro, teknik resim açıkken çalıştırıldığında ya hata verir ya da — daha kötüsü — sessizce hiçbir şey yapmaz ve siz makronun çalıştığını sanırsınız. Bu, makro dünyasının en can sıkıcı tuzağı; ayrıntısını birazdan konuşacağız.

`.swp`, `.swb`, `.swb` — bu uzantılar da ne?

Kafa karıştıran bir nokta, o yüzden hızlıca netleştirelim:

UzantıNedirNe zaman görürsünüz
.swpVBA makrosu — okunabilir, düzenlenebilirEn yaygın; kaydedicinin ürettiği dosya
.swbEski sürümlerden kalma makro biçimiEski arşivlerde
.dllDerlenmiş eklenti (add-in)Makro değil; farklı bir dünya

Pratikte hep .swp ile çalışacaksınız. Bir .dll geldiğinde onu "makro çalıştır" ile açamazsınız; o bir eklentidir ve kurulması gerekir. İkisi arasındaki farkı merak ediyorsanız makro, API ve add-in arasındaki fark yazısında ayrıntısıyla ele aldım.

02 / 09

Asıl istediğiniz şey: makroyu butona bağlamak

Menüden çalıştırma, bir makroyu ayda birkaç kez kullanıyorsanız yeterli. Ama günlük işinizin parçası olacaksa, o menü yolculuğu kısa sürede sinir bozucu hale geliyor.

Çözüm, makroyu bir araç çubuğu butonuna bağlamak. Yol şöyle:

  1. Araçlar > Özelleştir penceresini açın.
  2. Komutlar sekmesine geçin ve soldaki listeden Makrolar kategorisini seçin.
  3. Sağda görünen boş makro butonunu, olmasını istediğiniz araç çubuğuna sürükleyin.
  4. Butonu bıraktığınız anda SolidWorks size bir pencere açar: hangi makro dosyası, hangi yordam (procedure), butonun adı ne olacak, hangi ikonu kullanacak.
  5. Makro dosyasını seçin, isim verin, tamam deyin.

Artık makronuz orada, tek tıkla çalışıyor.

Küçük ama önemli bir ayrıntı: butona anlamlı bir ad ve mümkünse kendi ikonunu verin. Üç makroyu aynı varsayılan ikonla araç çubuğuna koyduğunuzda hangisinin ne yaptığını iki hafta içinde unutuyorsunuz. İpucu metnine ("tooltip") makronun ne yaptığını bir cümleyle yazmak, altı ay sonraki kendinize yapacağınız en büyük iyilik.

Yazılı kural setini temsil eden illüstrasyon
Buton adı, ikon ve ipucu metni: altı ay sonraki kendinize not
03 / 09

Klavye kısayolu atamak

Bazı makrolar o kadar sık kullanılır ki butona uzanmak bile fazla gelir. Antet doldurma, standart görünüş yerleştirme, seçili parçadan STEP çıkarma… Bunlar için klavye kısayolu doğru çözüm.

Aynı Araçlar > Özelleştir penceresinde, bu sefer Klavye sekmesine geçin. Kategori listesinden makroları bulun, kısayol atamak istediğiniz makronun satırına gelin ve tuş kombinasyonunu yazın.

Burada tek dikkat edilecek şey, SolidWorks'ün kendi kısayollarıyla çakışmamak. Genel olarak Ctrl + Shift + <harf> kombinasyonları görece boştur ve makrolar için güvenli bir alandır. Zaten kullanılan bir kısayolu seçerseniz SolidWorks uyarır — o uyarıyı görmezden gelip devam etmeyin, çünkü kaybettiğiniz yerleşik komutu haftalar sonra arıyor olursunuz.

04 / 09

Makro nerede durmalı: paylaşımın püf noktası

Şimdi çoğu ekibin tökezlediği yere geldik. Makro sizin bilgisayarınızda güzelce çalışıyor, meslektaşınıza gönderiyorsunuz, onda çalışmıyor. Neredeyse her zaman sebep aynı: butonun içinde makronun tam dosya yolu yazılı.

Butona makro bağladığınızda SolidWorks o dosyanın yolunu kaydeder. Sizde C:\Kullanicilar\mehmet\Makrolar\antet.swp yazıyorsa, o yol meslektaşınızın bilgisayarında yok. Buton var, makro yok.

Bunun kalıcı çözümü şu: makroları ortak bir ağ klasöründe tutun ve herkeste aynı sürücü harfiyle bağlayın. Örneğin M:\CAD\Makrolar gibi. Ekipteki herkesin makinesinde aynı yol geçerli olduğu anda, buton tanımları da taşınabilir hale gelir.

Bunu yaparken üç şeye dikkat edin:

  • Yazma yetkisini kısıtlayın. Makro klasörüne herkes yazabiliyorsa, bir gün birisi çalışan bir makroyu bozar ve kimse ne zaman bozulduğunu bilmez.
  • Sürüm bilgisini dosya adına koymayın. antet_v3_son_SON.swp gibi adlar ekibi felç eder. Tek bir antet.swp tutun, eski sürümleri ayrı bir arşiv klasöründe saklayın.
  • Ağ kesildiğinde ne olacağını düşünün. Ağ klasörüne erişilemediğinde makro çalışmaz. Kritik makroların yerel bir kopyasının bulunması, sahada işi durdurmamak için iyi bir sigorta.
05 / 09

Makro çalışmıyorsa: sırayla bakılacak yerler

"Makro çalışmıyor" cümlesi aslında beş farklı problemin ortak adı. Sırayla eleyerek gidersek hangisi olduğunu birkaç dakikada buluruz.

1. Hiç belge açık değil. Makroların büyük çoğunluğu aktif bir belge üzerinde çalışır. Hiçbir şey açık değilse makro ilk satırda takılır. En basit ihtimal, o yüzden ilk bakılacak yer burası.

2. Yanlış türde belge açık. Parça makrosunu montajda, montaj makrosunu teknik resimde çalıştırıyorsunuz. Bu durumda çoğu makro hata bile vermez, sessizce durur. Sessiz başarısızlık, makro dünyasının en pahalı hata türü — çünkü fark etmezsiniz.

3. Makro güvenlik ayarı engelliyor. SolidWorks'ün VBA tarafı, makro güvenliğine bağlı olarak imzasız makroları çalıştırmayı reddedebilir. Bunu Araçlar > Seçenekler > Sistem Seçenekleri altındaki güvenlik/makro bölümünden kontrol edersiniz. Kurumsal ortamlarda bu ayarı BT ekibi kilitlemiş olabilir; o durumda konuşulacak kişi onlar.

4. Makronun aradığı şey o modelde yok. Kaydedici ile üretilmiş makrolar, kayıt sırasındaki modelin özellik adlarını (Boss-Extrude1 gibi) kodun içine gömer. Başka bir modelde o ad yoksa seçim başarısız olur ve makro yanlış nesne üzerinde çalışmaya devam eder. Bu, kaydedilmiş makroların bir numaralı zayıflığı; nasıl sağlamlaştırılacağını SolidWorks makro nedir yazısında adım adım anlattım.

5. Referans eksik. Makro, VBA düzenleyicisinde başka bir kütüphaneye bağlıysa ve o kütüphane karşı bilgisayarda yoksa, makro açılırken hata verir. Bu görece nadir ama başka bir firmadan gelen makrolarda karşınıza çıkabilir.

Mühendislik probleminin çözülmesini temsil eden illüstrasyon
"Makro çalışmıyor" beş farklı problemin ortak adı

Hata mesajını okumayı öğrenin

Makro bir hata verdiğinde VBA düzenleyicisi genellikle sorunlu satırı sarıyla işaretler. O satırı okumak, hatanın ne olduğunu çoğu zaman doğrudan söyler. En sık gördüğünüz iki mesaj şunlar olacak:

  • "Object variable or With block variable not set" — kod, olmayan bir şeyi kullanmaya çalışıyor. Neredeyse her zaman "belge açık değil" ya da "seçim başarısız oldu" anlamına gelir.
  • "Type mismatch" — beklenen türde olmayan bir değer geldi. Genellikle sürüm farkından ya da yanlış belge türünden kaynaklanır.

Hata mesajlarının daha uzun bir listesini ve her birinin pratik karşılığını ayrı bir yazıda toplayacağım; şimdilik bu ikisi, sahada karşılaşacağınızın büyük kısmını kapsıyor.

06 / 09

Makroyu otomatik başlatmak: iyi fikir mi?

Zaman zaman şu soru geliyor: "SolidWorks açılırken makro kendiliğinden çalışsın, mümkün mü?" Teknik olarak mümkün, ama benim tavsiyem genellikle hayır.

Sebebi şu: kendiliğinden çalışan bir makro, kullanıcının haberi olmadan belgeyi değiştirebilir. Bir gün birisi "bu ölçü neden değişti" diye sorduğunda, sebebin arka planda çalışan bir makro olduğunu bulmak günler alır. Otomasyonun görünür olması, güvenilir olmasının ön şartı.

Gerçekten otomatik bir davranış istiyorsanız — belge her açıldığında bir kontrol çalışsın, kaydetmeden önce antet doldurulsun gibi — doğru araç makro değil, eklenti (add-in). Eklentiler SolidWorks'ün olay sistemine bağlanabilir, kullanıcıya ne yaptıklarını gösterebilir ve düzgün hata yönetimi yapabilir. Bu tarafa geçmek isterseniz SolidWorks add-in geliştirme yazısı başlangıç noktanız olsun.

07 / 09

Hangi yol ne zaman: kısa bir karar rehberi

Kullanım sıklığıDoğru yolNeden
Ayda birkaç kezMenüden çalıştırKurulum maliyeti gereksiz
Haftada birkaç kezAraç çubuğu butonuBir tık, görünür, hatırlanır
Günde birkaç kezKlavye kısayoluEl klavyeden ayrılmaz
Ekip genelindeOrtak klasör + butonYol tutarlılığı taşınabilirliği sağlar
Kendiliğinden çalışsınMakro değil, eklentiOlay sistemi ve hata yönetimi gerekir

Tablodaki son satır en önemlisi. Bir makronun "kendiliğinden çalışmasını" istemeye başladığınız an, aslında makronun sınırına gelmişsiniz demektir.

08 / 09

Sık Sorulan Sorular

SolidWorks'te makro nasıl çalıştırılır? Araçlar > Makro > Çalıştır menüsünden .swp uzantılı makro dosyasını seçmeniz yeterlidir. Sık kullandığınız makroları ise Araçlar > Özelleştir penceresinden bir araç çubuğu butonuna ya da klavye kısayoluna bağlamak çok daha pratiktir.

SolidWorks'te makro butonu nasıl eklenir? Araçlar > Özelleştir penceresini açın, Komutlar sekmesinde Makrolar kategorisini seçin ve boş makro butonunu istediğiniz araç çubuğuna sürükleyin. Açılan pencerede makro dosyasını, çalıştırılacak yordamı, buton adını ve ikonu belirlersiniz.

SolidWorks makrosuna klavye kısayolu nasıl atanır? Araçlar > Özelleştir penceresindeki Klavye sekmesinden makroyu bulup istediğiniz tuş kombinasyonunu yazarsınız. Yerleşik komutlarla çakışmamak için Ctrl + Shift + <harf> kombinasyonları görece güvenlidir.

Makro benim bilgisayarımda çalışıyor, meslektaşımda çalışmıyor. Neden? Neredeyse her zaman sebep, buton tanımının içinde makronun tam dosya yolunun kayıtlı olmasıdır. Çözüm, makroları ekipteki herkeste aynı yolla erişilebilen ortak bir klasörde tutmaktır — ağ paylaşımı ya da herkeste aynı yerel klasör.

SolidWorks makro güvenlik ayarı nerede? Araçlar > Seçenekler > Sistem Seçenekleri altındaki güvenlik bölümündedir. Kurumsal ortamlarda bu ayar BT politikasıyla kilitlenmiş olabilir; imzasız makrolar engelleniyorsa çözüm bu ayarı zorlamak değil, BT ekibiyle konuşmaktır.

SolidWorks açılırken makro otomatik çalıştırılabilir mi? Teknik olarak mümkündür ama tavsiye edilmez. Kullanıcının haberi olmadan belgeyi değiştiren bir makro, sonradan teşhis edilmesi çok zor sorunlar üretir. Otomatik davranış gerekiyorsa doğru araç makro değil, olay sistemine bağlanabilen bir eklentidir.

`.swp` dosyası nedir, nasıl açılır? .swp, SolidWorks'ün VBA makro dosyasıdır. Çalıştırmak için Araçlar > Makro > Çalıştır, içeriğini görmek ve düzenlemek için Araçlar > Makro > Düzenle komutunu kullanırsınız.

09 / 09

Özet

Makroyu çalıştırmanın üç yolu var ve hangisini seçeceğiniz tek bir şeye bağlı: onu ne sıklıkla kullanacağınıza. Ayda birkaç kezse menü yeter, haftalıksa buton, günlükse kısayol. Ekip kullanacaksa makroların nerede durduğu, kodun kendisinden daha önemli hale gelir.

Ve bir makronun "kendiliğinden çalışmasını" istemeye başladığınız gün, aslında bir sonraki adıma — eklenti geliştirmeye — hazırsınız demektir.

Bu yazı şu rehberin parçasıSolidWorks Otomasyonu — Makro, API ve Eklenti — Baştan Sona RehberMakro mu, API mi, add-in mi? Hangi işin hangi katmanla çözüleceğini, hangi dilin seçileceğini ve nereden başlanacağını tek sayfada topladım.İlgili projeSolidWorks Add-in GeliştirmeKamyon/treyler dorseleri arka kapı çerçevesini otomatikleştiren SolidWorks yazılımı — VBA makrodan C# Add-in'e.

Kaynaklar

PaylaşLinkedIn