Hallo
Ik gebruik SW2016 en ik heb mijn basiskaarten gewijzigd.
Ik wil graag een macro maken om mijn basiskaart automatisch bij te werken.
Is het mogelijk? Zo ja, enig idee over de code?
Bij voorbaat dank
Fred
Hallo
Ik gebruik SW2016 en ik heb mijn basiskaarten gewijzigd.
Ik wil graag een macro maken om mijn basiskaart automatisch bij te werken.
Is het mogelijk? Zo ja, enig idee over de code?
Bij voorbaat dank
Fred
Geen code vereist.
Ik moest hetzelfde doen.
Voer dus een macro uit. (Door op afspelen te klikken)
Klik met de rechtermuisknop onderaan uw Europarlementariër om de verschillende basiskaarten weer te geven.
Of u selecteert de nieuwe basiskaart als deze anders is, of als de naam hetzelfde is, klikt u op "herladen"
Sluit je macro met de stopknop en je bent klaar
Doe hetzelfde voor uw verschillende formaten: a3, a4 enz...
Hallo
Met aanpassing (pad en naam van de basiskaarten) verandert de bijgevoegde macro de basiskaarten van elk blad indien nodig.
Oeps, duplicaat
@Bart
Het is niet geweldig, omdat de macro de schaal en andere informatie onthoudt die niet dynamisch is, dus hij wordt niet afgespeeld.
En het is mogelijk om met kennis macro's te maken die automatisch door de bestanden bladeren om ze bij te werken.
Zo heb ik onlangs een macro gemaakt (Relatief complex welke):
- Werkt basiskaarten bij
- Actualiseert de verbandnormen
- Updates van blokken (paddetectie en vervanging van blokken)
- Vervanging van onze revisietabellen
- Wijziging van opties.
Dit alles wordt beheerd op excel (Solidworks wordt dus aangestuurd door excel) en ik kan rapportages maken over updates. Ik kan de macro op een map uitvoeren en alle plannen in de submappen worden bijgewerkt.
Maar het nadeel is dat het tijd kost, maar als je rekent, heb ik op onze 900-plannen om te updaten veel tijd bespaard.
Dank u voor uw antwoorden.
Helaas kan ik geen resultaten krijgen....
Als ik handmatig de opdracht "herladen" in de eigenschappen van het plan uitvoer, werkt het, maar als ik dezelfde manip in een macro opsla, gebeurt er niets...
Omdat de namen van mijn basiskaarten niet veranderden toen ik ze veranderde, "hoefde ik alleen maar" het commando "herladen" uit te voeren zonder iets anders te veranderen. Bestaat dit commando op zichzelf zonder dat alle andere eigenschappen van het plan (bijvoorbeeld schaal) hoeven te worden gevalideerd?
Bedankt voor je hulp, want ik geef toe dat coderen niet mijn grote specialiteit is....
Ja, het bestaat, maar is niet geregistreerd:p
U moet uw blad ophalen en de functie "ReloadTemplate" gebruiken die van toepassing is op een "SldWorks.Sheet"-type
Een kleine macro om uw basiskaart bij te werken om aan te passen.
Dim swApp als SldWorks.SldWorks
Dim swModel als SldWorks.ModelDoc2
Dim swDraw als SldWorks.DrawingDoc
Dim swSheet als SldWorks.Sheet
Dim swView als SldWorks.Bekijk
Dim vSheetProps als variant
Stel swModel = swApp.ActiveDoc in
Stel swDraw = swModel in
Stel swSheet in = swDraw.GetCurrentSheet
vSheetProps = swSheet.GetProperties
Dim grootte als snaar
Als vSheetProps(0) = 6 Dan
'6 = A4 liggend
templateFormat="A4 - LIGGEND. SLDDRT" '''Hier moeten we de "A4 - LANDSCHAP. SLDDRT en de anderen met uw eigen sjabloonnamen
grootte = "A4H"
ElseIf vSheetProps(0) = 7 Dan
'7 = A4 Staand
templateFormat = "A4 - STAAND. SLDDRT"
formaat = "A4"
ElseIf vSheetProps(0) = 8 Dan
'8 = A3 liggend
templateFormat="A3. SLDDRT"
formaat = "A3"
ElseIf vSheetProps(0) = 9 Dan
'9 = A2 Liggend
templateFormat = "A2. SLDDRT"
formaat = "A2"
ElseIf vSheetProps(0) = 10 Dan
'10 = A1 Liggend
templateFormat = "A1. SLDDRT"
maat = "A1"
ElseIf vSheetProps(0) = 11 Dan
'11 = A0 Liggend
templateFormat = "A0. SLDDRT"
maat = "A0"
Endif
boolstatus = swModel.SetupSheet5( _
swSheet.GetName, _
vSheetProps(0), _
vSheetProps(1), _
vSheetProps(2), _
vSheetProps(3), _
Waar_
templateFormaat _
vSheetProps(5), _
vSheetProps(6), _
"Standaard", _
Waar_
)
swSheet.ReloadTemplate Onwaar
Je kunt dat dan in een lus zetten en door alle bladen/bestanden in een map gaan, enzovoort.
PS: In lynkoa zou het heel leuk zijn om codetags te hebben... Want het is echt niet makkelijk om te delen.
Hallo
@fgauvreau zie ik op je profiel dat je MyCadServices hebt, dus je hebt de MyCadTools tools en de Integration tool zal in staat zijn om aan je verzoek te voldoen en nog veel meer.
@+
Bedankt allemaal!
KVuillemier: Het commando "swSheet.ReloadTemplate False" ontbrak net in de macro van Cyril.F.
Door het toe te voegen werkt het prima.
Dank ook aan Coyote voor de suggestie. Ik had dit krachtige hulpmiddel nog nooit verkend.
Als het antwoord je probleem heeft opgelost, kun je aangeven dat het je probleem heeft opgelost.