Alle weergavestatussen verwijderen

Hoi allemaal;
Op het display staat dat mijn "deel"- en "asm"-bestanden zijn verpold (onder andere vanwege de uitgevouwen, mechanisch gelaste en elke configuratiecreatie (soms vergeet ik het vakje "linkverschijningen" uit te vinken)).
Ik heb een stukje macro gevonden dat alle weergavestatussen verwijdert - behalve de huidige- en het vakje "Uiterlijke statussen koppelen aan configuraties" uitschakelt

[vb]

  1. Dim swApp als object 
  2.  
  3. Deel dimmen als object 
  4. Dim boolstatus als Booleaanse 
  5. Dim longstatus Zo lang 
  6. Dim lange waarschuwingen zo lang mogelijk
  7. Dim modelDoc als SldWorks.ModelDoc2 
  8.  
  9.  
  10. Sub hoofd() 
  11.  
  12. Stel swApp = Toepassing.SldWorks in
  13. Stel modelDoc in = swApp.ActiveDoc 
  14. Deel instellen = swApp.ActiveDoc 
  15. boolstatus = modelDoc.RemoveAllDisplayStates 
  16. Einde Sub

[vb]

Alleen deze macro werkt alleen op onderdelen.
Weet u hoe u de code kunt wijzigen om deze toe te passen op zowel onderdelen als samenstellingen?

Let op: houd er rekening mee dat ik een Solidworks macro nozzle ben....

Vriendelijke groeten.

Hallo

Ik denk dat je de opdracht SldWorks.AssemblyDoc moet gebruiken in andere regels zoals deze: 

 

Dim swApp als object 

Deel dimmen als object

Dim assy als object

Dim boolstatus als Booleaanse

Dim longstatus Zo lang

Dim lange waarschuwingen zo lang mogelijk

Dim modelDoc als SldWorks.ModelDoc2

Dim AssyDoc als SldWorks.AssemblyDoc

 

Sub hoofd() 

 

Stel swApp = Toepassing.SldWorks in

Stel modelDoc in = swApp.ActiveDoc

Deel instellen = swApp.ActiveDoc

Stel AssyDoc in = swApp.ActiveDoc

boolstatus = modelDoc.RemoveAllDisplayStates

Stel assy in = swApp.ActiveDoc

boolstatus = AssyDoc.RemoveAllDisplayStates

Einde Sub

 

Ik ben op zoek naar een voorwaarde (ik ben een nozzle ook in VBA, dus daar ga je ..)

1 like

Dank je wel Azrod

Maar hoe heb ik er niet aan gedacht.

Betekent dit dat ik een tandje lager zit dan je mondstuk? (Ik maak natuurlijk een grapje).

Ik ga op zoek naar voorbeelden van onderdeel-/montagecondities.

Nogmaals bedankt, ik denk dat het de juiste weg is.

2 likes

"Betekent dit dat ik een tandje lager zit dan je nozzle level? (Grapje natuurlijk)."

Ahah ik hoop het niet, maar mijn niveau in VBA is ECHT beperkt tot het absolute minimum.

Op het niveau van een "Hello World" en zelfs :p

In de hoop dat ik jou (en mij ook!) heb geholpen.

2 likes

wauw... Ik heb net gemerkt dat het commando: "RemoveAllDisplayStates"

Verwijdert ook verschijningen (die van het huidige materiaal) in alle weergavetoestanden.... Dat is niet goed! Ik zal op zoek moeten naar iets anders.

 

Zit je op de juiste versie van SolidWorks? Misschien is het een bug:(

Is er een kleine update nodig?

Ik werk met Solidworks 2014 SP4 en Solidworks 2016 Sp4.

Het is hetzelfde op beide versies....

Hallo, het is normaal dat het ook het uiterlijk verwijdert, het is geen bug. 

Link naar het document

> Verwijdert alle weergavestatussen en verschijningsvormen uit dit deeldocument.

 

Ik zal je laten zien hoe je de DeleteDisplayState-functie in het document kunt gebruiken, je moet het de naam vertellen van de weergavestatus die moet worden verwijderd. Om dit te doen, moet u een lus maken die alle weergavestatussen ophaalt.

Hallo;

Bedankt KVuilleumier voor deze informatie. Ik ga opzij graven... en maak van de gelegenheid gebruik om een training over API's te geven, het zal me geen kwaad doen.