YazılarOtomasyon Atölyesi

SolidWorks Toplu İşlem Makroları: Yüzlerce Dosya Tek Seferde

Bir klasördeki tüm parçalardan STEP çıkarmak, özel özellikleri toplu doldurmak, yüzlerce resmi PDF'e basmak. Toplu makro nerede patlar, nasıl güvenli olur?

  • 8 dk okuma
Bu Yazıda

Toplu işlem, makronun en çok kazandırdığı yer. Sebebi basit aritmetik: bir işi bir kez otomatikleştirirsiniz, kazanç dosya sayısıyla çarpılır. 200 dosyada parça başına iki dakika kazandıran bir makro, tek çalıştırmada altı buçuk saat kazandırır.

Ama toplu işlem aynı zamanda makronun en çok patladığı yer. Tek dosyada mükemmel çalışan bir makro, 200 dosyada üçüncüsünde takılıp kalır ve siz bilgisayarın başında bekler durursunuz.

Bu yazıda toplu işlem makrolarının nasıl kurulacağını, nerede kırıldığını ve nasıl güvenli hale getirileceğini konuşacağız. Kod yok — mantığı ve tuzakları anlatıyorum, uyguladığınızda hangi kararı vereceğinizi bilesiniz diye.

Yerel süreç ve bağlantı katmanını temsil eden illüstrasyon
Toplu işlem: bir kere yaz, dosya sayısıyla çarp
01 / 10

Toplu işlem gerçekten neye benzer

Çoğu insanın kafasında toplu işlem şöyle: "klasörü seç, düğmeye bas, bitsin." Gerçekte akış beş adımdan oluşuyor ve her adımın kendi tuzağı var.

Birinci adım: dosyaları bulmak. Bir klasördeki dosyaları listelemek kolay. İşin zor kısmı, alt klasörlere inip inmeyeceğinize karar vermek ve doğru dosya türünü seçmek. Bir klasörde parça, montaj ve teknik resim bir aradaysa, hepsine aynı işlemi uygulamak sonucu bozar.

İkinci adım: dosyayı açmak. Burada ilk gerçek tuzak var. SolidWorks bir dosyayı açarken uyarı penceresi çıkarabilir: "bu dosya eski bir sürümde kaydedilmiş", "referans bulunamadı", "salt okunur açılıyor". Bu pencerelerden biri açıldığı anda makronuz cevap bekler ve orada donar.

Üçüncü adım: işlemi yapmak. Asıl iş burada. Ama dikkat: her dosya beklediğiniz yapıda olmayabilir. Aradığınız özellik yoksa, konfigürasyon farklıysa, malzeme atanmamışsa makronun ne yapacağına karar vermiş olmanız gerekir.

Dördüncü adım: kaydetmek veya kapatmak. Değişiklik yaptıysanız kaydedeceksiniz; yapmadıysanız kaydetmeden kapatacaksınız. Bu kararı yanlış vermek, 200 dosyanın değiştirilme tarihini boş yere değiştirir ve versiyonlama sisteminizi karıştırır.

Beşinci adım: rapor etmek. En çok atlanan adım ve en önemlisi. Birazdan ayrıntılı konuşacağız.

02 / 10

Neden üçüncü dosyada takılır

Toplu makroların bir numaralı problemi, modal pencereler. SolidWorks bir uyarı gösterdiğinde makro duraklar ve birinin "Tamam" demesini bekler. Bir gecede çalışsın diye başlattığınız makro, sabah geldiğinizde 3. dosyada bir uyarı penceresiyle sizi bekliyor olur.

Çözüm iki parçalı:

Uyarıları sessize alın. SolidWorks'ün bunun için ayarları var: dosya açma sırasında sessiz mod, kaydetme sırasında sessiz mod ve genel kullanıcı uyarısı bastırma. Makronun başında bunları açar, sonunda geri kapatırsınız. Sonunda kapatmayı unutursanız SolidWorks'ü kapatana kadar hiç uyarı görmezsiniz — bu da başlı başına bir tuzak.

Ama sessizliği kayda dönüştürün. Bastırdığınız her uyarı, aslında size bir şey söylüyordu. Onu görmezden gelmek yerine kaydedin: hangi dosyada hangi uyarı çıktı? Makro bittiğinde bu liste elinizde olsun.

Sessiz mod, sessiz hataya dönüşmemeli. Bastırdığınız her uyarının yerine bir kayıt satırı koyun; yoksa toplu işlem kara kutuya döner.
Yapılandırılmış veri girişini temsil eden illüstrasyon
Sessize alınan her uyarının yerine bir kayıt satırı
03 / 10

Rapor: toplu makronun en değerli parçası

Bir toplu makro çalıştıktan sonra tek bir soruya cevap verebilmelisiniz: ne oldu?

Bunun için makronun sonunda bir metin dosyası üretmesi yeter. İçinde şunlar olsun:

AlanNeden
Tarih ve saatHangi çalıştırma olduğunu bilmek için
İşlenen dosya sayısıBeklediğiniz sayı mı
Atlanan dosyalar ve sebebiAsıl değerli bilgi
Uyarı çıkan dosyalarSonradan bakılacak liste
Toplam süreBir dahaki sefere ne kadar süreceğini kestirmek

Bu rapor olmadan toplu makro, "umarım çalışmıştır" demekten ibaret. Raporla birlikte, ne olduğunu bilen bir araç haline geliyor.

Pratik bir ipucu: raporu işlem yapılan klasöre değil, ayrı bir günlük klasörüne yazın ve dosya adına tarih koyun. Böylece eski çalıştırmaların kaydı da elinizde kalır — bir sorun çıktığında "geçen hafta çalıştırdığımızda da böyle miydi" sorusuna cevap verebilirsiniz.

04 / 10

Döngü durmasın: tek bozuk dosya 199 dosyayı engellememeli

İkinci büyük tasarım kararı bu. Makro 47. dosyada beklenmedik bir durumla karşılaştığında ne yapmalı?

Yanlış cevap: durmak. 47. dosya bozuksa, kalan 153 dosyanın da işlenmemesi için bir sebep yok.

Doğru cevap: o dosyayı atlamak, sebebi rapora yazmak ve devam etmek. Bunun için döngünün her adımının kendi hata yakalamasına sahip olması gerekiyor. Yani hata yönetimi döngünün dışında değil, içinde olmalı.

Bu ayrım kulağa teknik geliyor ama sonucu çok somut: hata yönetimi döngünün dışındaysa makro ilk problemde durur; içindeyse tüm dosyaları dener ve size sorunlu olanların listesini verir.

05 / 10

Değiştirmeden önce yedek: geri alınamayan işlemler

Toplu işlemler iki gruba ayrılır ve bu ayrım çok önemli:

Okuyan işlemler. Dosyadan bilgi çıkarır, dışa aktarır, rapor üretir. STEP çıkarma, PDF basma, özellik listeleme. Bunlar kaynak dosyaya dokunmaz — güvenlidir, yanlış giderse çıktıyı silip yeniden çalıştırırsınız.

Yazan işlemler. Dosyayı değiştirir ve kaydeder. Özel özellik doldurma, malzeme atama, global değişken güncelleme. Bunlar geri alınamaz.

İkinci gruba giren her makroyu çalıştırmadan önce üç kuralı uygulayın:

  1. Önce yedek alın. Klasörün kopyası, sürüm kontrol sistemi, PDM — hangisi varsa. "Sadece bir özellik dolduracağım" diyerek atlanan yedek, en pahalı derstir.
  2. Önce beş dosyada deneyin. Tam klasörü çalıştırmadan önce küçük bir örneklem üzerinde test edin ve sonucu gözle kontrol edin.
  3. Kuru çalıştırma (dry run) yapın. Makronuza bir "sadece rapor et, değiştirme" modu ekleyin. Ne yapacağını önce görün, sonra gerçekten yaptırın.

Üçüncü madde biraz fazladan iş gibi görünür ama toplu işlemlerde en çok işe yarayan alışkanlık odur. Bir kez yazarsınız, her toplu makroda kullanırsınız.

06 / 10

Task Scheduler mı, makro mu?

SolidWorks'ün kendi Görev Zamanlayıcı (Task Scheduler) aracı var ve toplu dönüştürme, toplu yazdırma gibi işleri yapabiliyor. Ne zaman onu, ne zaman makro yazmayı seçmeli?

DurumTask SchedulerMakro
Standart dönüştürme (PDF, DXF)✔ Hazır, kod yokGereksiz emek
Firma kuralına göre adlandırmaSınırlı✔ Tam kontrol
Koşullu işlem ("sadece şunlar")✘✔
Rapor ve günlükSınırlı✔ İstediğiniz gibi
Gece çalıştırma✔ ZamanlanabilirEk kurulum gerekir
ERP'ye veri üretme✘✔

Kaba kural: iş standartsa Task Scheduler, iş firmanıza özgüyse makro. Ve zaten çoğu ekipte gerçek ihtiyaç ikinci gruba giriyor — çünkü kazandıran şey, tam olarak sizin sürecinize uyan otomasyon.

07 / 10

Toplu işlemde performans: nereye dikkat etmeli

200 dosyalık bir işlem yarım saat de sürebilir, dört saat de. Farkı yaratan üç şey var:

Ekran güncellemesi. Makro çalışırken her dosyayı ekrana çizdirmek ciddi zaman yiyor. Toplu işlemlerde ekran güncellemesini kapatmak tek başına belirgin hızlanma sağlar.

Gereksiz yeniden kurma. Model üzerinde birden fazla değişiklik yapıyorsanız, her değişiklikten sonra değil hepsi bittikten sonra bir kez yeniden kurun.

Hafif açma. Bazı işlemler için dosyayı tam olarak açmanız gerekmez — SolidWorks, belgeyi görsel arayüz olmadan ya da hafif modda açmanıza izin veriyor. Sadece özellik okuyacaksanız bu, süreyi ciddi biçimde kısaltır.

Bu üçünü birlikte uyguladığınızda aynı işlemin birkaç kat hızlandığını görürsünüz. Ölçmeyi ihmal etmeyin: nasıl dürüst ölçüm yapılacağını otomasyon kazancını ölçmek yazısında anlattım.

08 / 10

Toplu işlemin sınırı: ne zaman eklentiye geçmeli

Toplu makrolar hızla büyür. Başta "klasördeki parçalardan STEP al" diye başlarsınız, altı ay sonra elinizde şu olur: farklı ürün ailelerine farklı kurallar uygulayan, birden fazla çıktı formatı üreten, ERP'ye dosya yazan ve hata durumunda e-posta atan bir makro.

Bu noktada makro artık makro değil, bakımı zor bir uygulamadır. Üç işaret size bunu söyler:

  • Makro dosyanız birkaç yüz satırı geçmiştir ve içinde ne olduğunu hatırlamıyorsunuzdur.
  • Bir değişiklik yaptığınızda başka bir yerin bozulmasından korkuyorsunuzdur.
  • Makroyu ekipte birden fazla kişi kullanıyordur ve herkeste farklı sürüm vardır.

Üçünden ikisi varsa artık eklenti (add-in) tarafına geçme vakti gelmiştir. Aradaki farkı ve geçiş kararını makro, API ve add-in arasındaki fark yazısında ayrıntılı ele aldım.

09 / 10

Sık Sorulan Sorular

SolidWorks'te bir klasördeki tüm dosyalara toplu işlem nasıl yapılır? Makro klasördeki dosyaları listeler, her birini sırayla açar, işlemi uygular ve kapatır. Kritik nokta, işlem başında SolidWorks'ün kullanıcı uyarılarını sessiz moda almak ve döngünün her adımına kendi hata yakalamasını koymaktır — böylece tek bozuk dosya kalan dosyaların işlenmesini engellemez.

Toplu işlem makrom bir pencerede takılıp kalıyor, ne yapmalıyım? Sebep, SolidWorks'ün dosya açarken veya kaydederken gösterdiği modal uyarı penceresidir. Makronun başında sessiz modu açın ve sonunda geri kapatın. Bastırdığınız uyarıları rapor dosyasına yazmayı ihmal etmeyin.

SolidWorks Task Scheduler mı yoksa makro mu kullanmalıyım? İş standart bir dönüştürmeyse (toplu PDF, toplu DXF) Task Scheduler yeterlidir ve kod gerektirmez. Firmanıza özgü adlandırma, koşullu işlem, raporlama veya ERP'ye veri üretimi gerekiyorsa makro yazmak gerekir.

Toplu işlem öncesi yedek almak şart mı? Dosyayı değiştiren her toplu işlem için evet. Okuma amaçlı işlemler (STEP, PDF, rapor üretimi) kaynak dosyaya dokunmadığı için güvenlidir; yazan işlemler geri alınamaz, bu yüzden önce yedek, sonra küçük örneklemde test, ardından tam çalıştırma sırası izlenmelidir.

Toplu makro neden çok yavaş çalışıyor? En yaygın üç sebep: ekran güncellemesinin açık kalması, her değişiklikten sonra modelin yeniden kurulması ve dosyaların gereksiz yere tam modda açılması. Sadece özellik okuyacaksanız hafif modda açmak süreyi belirgin biçimde kısaltır.

Toplu işlem sonunda hangi dosyaların atlandığını nasıl bilirim? Makronun sonunda bir rapor dosyası üretmesini sağlayın: işlenen dosya sayısı, atlanan dosyalar ve sebepleri, uyarı çıkan dosyalar ve toplam süre. Rapor olmadan toplu işlem kara kutudur.

10 / 10

Özet

Toplu işlem makrosu yazmak, tek dosyalık makro yazmaktan farklı bir iştir. Kod aynı olabilir ama sorumluluk değişir: artık gözünüzün önünde olmayan yüzlerce dosyaya dokunuyorsunuz.

Üç kural her şeyi çözer: uyarıları sessize al ama kaydet, döngü tek bir bozuk dosyada durmasın, sonunda rapor üret. Bu üçü olmadan yazılmış bir toplu makro, çalıştığında bile ne yaptığını bilmediğiniz bir araçtır.

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