Bouw verbergen in VBA

Hallo allemaal,

Als onderdeel van een project heb ik een vrij lange macro te doen (het maken van meerdere opnamen + schetsen) om in een lus te herhalen. Alles werkt, maar langzaam, heel langzaam. Bij elke stap van de berekening (herstart van mijn lus) verwijder ik de vorige constructie om het model lichter te maken. Bovendien verberg ik elke keer dat ik een plan of schets maak het (Part.BlankRefGeom of Part.BlankSketch). Maar hier is mijn probleem: het programma is altijd traag (deels vanwege het feit dat SW het plan of de schets heeft gemaakt en dan pas na het masker, zodat de bouwstap nog steeds voor een korte tijd verschijnt en de bron verbrandt), heb je een techniek om de constructie volledig te verbergen (vraag SW om deze niet weer te geven)?

Bedankt!

Hallo

heb je SolidWorks zichtbaar pdt je macro? (Ruilen. Zichtbaar = Waar ) 

Het kan de prestaties verbeteren om deze regel niet te gebruiken. 

Ja, inderdaad SW is zichtbaar tijdens de uitvoering van de macro. Dus om te verbergen:

Ruilen. Zichtbaar = Onwaar

Ik probeer het, bedankt voor het idee!

Hallo

 

Werkt deze controle voor u? 

swapp.Visible = False

 

hallo @ aera.damallard

Voor wie is jouw bericht?

Kun je je probleem beschrijven, want als je deze vraag stelt, suggereert het dat je een probleem hebt met de syntaxis.

(misschien een beetje aandacht voor de spaties voor en na het gelijkteken , let ook op het hoofdlettergebruik van de letters als het er toe doet ( swApp.xxx) )

Vertel het ons of het moet normaal worden gemarkeerd.

Voegt ook de code toe voor en na de swApp.xxx

Vriendelijke groeten

Hallo

Ja, het werkt, maar met inachtneming van een paar regels die hier in het hoofdstuk "Opmerkingen" te zien zijn, rekening houdend met het feit dat "ISldWorks::UserControl" standaard gelijk is aan Waar wanneer Solidworks niet wordt gestart door uw programma.

Dus om Solidworks onzichtbaar te maken als het niet door uw programma wordt gestart, moet er geen document open staan in Solidworks en zet u "swApp.UserControl = False" voor de regel "swApp.Visible = False".

Wees voorzichtig, als u uw programma afsluit met Solidworks onzichtbaar, blijft het open maar in onzichtbare modus, dus u moet eraan denken om het zichtbaar te maken of te sluiten voordat u uw programma afsluit.

Vriendelijke groeten

2 likes

Oké, dus de logica is dat ik de info van mijn activedoc krijg

Dan pas ik de usercontrol en de zichtbare toe en ik loop de andere kant op na ok het werkt, ik zal het meteen proberen!

Test inderdaad met succes, je moet het document sluiten, anders verbergt het niets :/

1 like