Ik heb een macro gemaakt waarmee je de beeldkwaliteit, facettering en curve in bibliotheekdelen kunt verminderen om het gebruik ervan te optimaliseren. De moeilijkheid is dat ik alleen kan rennen als het onderdeel open is op Solidworks.
Kent u een methode om deze taak rechtstreeks met de Taakplanner uit te voeren door de gewenste map te kiezen?
Bij voorbaat dank
Als je de MyCadtools-tool hebt, kun je dit doen met Integratie, anders profiteer je van de proefversie van 1 maand!
In 1 selecteer je je bestand.
In 2 maak je een nieuwe regel aan
In 3 de systematische voorwaarde dat je naar de AND map sleept
In 4 Operatie Diversen, Lancering van een macro
In 5 vul je de macro in (pad om te gaan en te vinden)
In 6 de methode (Main?)
In 7 sleep je je macro in werking
In 8 filter je indien nodig (Onderdeel, Assemblage, Tekening)
Tot slot toepassen
Solidworks zal de keuzelijst vervolgens 1 voor één batchgewijs verwerken en uw macro erop toepassen.
En ik vergat net onder de actie die je kunt wijzigen als je opslaat of niet door af te sluiten. (voor uw geval de wijziging opgeslagen)
Hallo
het moet inderdaad de belangrijkste methode zijn
Hier is de macro
Optie Expliciete
’ ******************************************************************************
' door F.PENNERAS
' 27 DECEMBER 2023
’ ******************************************************************************
Vroeg gebonden variabelen
Dim swApp als SldWorks.SldWorks
Dim swDoc als SldWorks.ModelDoc2
Dim deel als SldWorks.ModelDoc2
' Variabelen om toe te voegen (variabele variabelen)
Dim CurVal als dubbel
Dim MaxVal als dubbel
Dim MinVal als dubbel
Dim boolstatus als Booleaanse
Dim longstatus As Long, longwarnings As Long
Dim swTextFormat als SldWorks.TextFormat
Dim TextFormatObj als object
Dim ModelDocExtension als ModelDocExtension
Sub hoofd()
• Verbinding met het momenteel actieve SolidWorks-document
Stel swApp = Toepassing.SldWorks in
Stel swDoc in = swApp.ActiveDoc
Deel instellen = swApp.ActiveDoc
Set ModelDocExtension = Deel.Extensie
'Foutafhandelaar als er geen documenten zijn geladen
Als een deel niets is, dan MsgBox "Een Solid Works-bestand moet actief zijn!", vbCritical: Exit Sub
' Haal de huidige, minimale en maximale waarden op uit de voorkeuren voor schaduwafwijkingen van de beeldkwaliteit.
' Laad deze waarden in de variabelen 'CurVal', 'MinVal' en 'MaxVal'.
swDoc.Extension.GetUserPreferenceDoubleValueRange swImageQualityShadedDeviation, CurVal, MinVal, MaxVal
' Stelt een nieuwe waarde in voor de schaduwafwijking
swDoc.SetUserPreferenceDoubleValue swImageQualityShadedDeviation, MaxVal
' Schakel het selectievakje 'Randlengte optimaliseren' uit.
Part.SetUserPreferenceToggle swImageQualityUseHighQualityEdgeSize, onwaar
' Verwijder het vinkje uit het vakje 'Facetisatie opslaan'.
Part.SetUserPreferenceToggle swImageQualitySaveTesselationWithPartDoc, False
' Verwijder het vinkje uit het vakje 'Curvekwaliteit verbeteren'.
Part.SetUserPreferenceToggle swImageQualityWireframeHighCurveQuality, False
' Stel een nieuwe waarde in voor 'Wireframe-resolutie en HLR/HLV van hoge kwaliteit'.
Part.SetUserPreferenceIntegerValue swImageQualityWireframeValue, 1
Einde Sub
De link naar de installatie van de MyCadTools-tools vindt u hier:
Proefversie van 1 maand.
Dan gebruik je Integratie en zie je de tips en afbeelding uit de vorige post om je te begeleiden.
Het is perfect, ik zal het testen, heel erg bedankt
Test het op 2-3 stukken om te zien en wees voorzichtig, het moet schriftelijk toegankelijk zijn.
Maar al gebruikt en het werkt heel goed (als de macro functioneel is)
Het is aan de top om de eerste keer te werken! De grote grote tijdsbesparing! 4 minuten per stuk besparen!!
Heel hartelijk bedankt
Ja, daarom hebben we geïnvesteerd in MYcad tools! Omdat het erg handig is voor batchtaken.
En de klap voor ons wordt in de loop van het jaar grotendeels opgevangen
U kunt uw macro in SolidWorks Task Scheduler automatiseren met behulp van een tijdelijke oplossing. Sla eerst uw macro op als een afzonderlijk bestand. Maak vervolgens een batchscript dat SolidWorks opent, elk onderdeel uit de gewenste map laadt en de macro erop uitvoert. U kunt dit batchscript zo instellen dat het op geplande tijden wordt uitgevoerd via Taakplanner. Helaas biedt SolidWorks Task Scheduler geen native ondersteuning voor het rechtstreeks uitvoeren van macro's, dus deze methode voegt een beetje automatisering toe. U kunt ook SolidWorks PDM verkennen als u toegang heeft, omdat het robuustere automatiseringsopties heeft.