API get Custom Properties en invisible

Bonjour;

 

Je suis en pleine création de macro.

Lorsque l'utilisateur clique dessus, la macro récupère l'ensemble des composants, et à un moment, elle doit récupérer les propriétés de chacun de ces composants.

Le soucis est que je n'arrive pas à le faire sans que solid ouvre de manière visible chacun des composants.

 

Je commence par ouvrir le composant en invisible: "swApp.OpenDoc6 File, swDocPART, swOpenDocOptions_Silent, "", error, warning" ça ok.

Lorsque j'arrive à "Set swModel = swApp.ActivateDoc2(File, True, error)" Solid montre le fichier. je voudrai eviter si c'est possible.

Le mieux serai que l'assemblage de départ reste toujours ouvert en apparence et que solid récupère les données des autres composants en arrière plan.

De plus lorsque les assemblages seront conséquent ça risque de prendre du temps d'ouvrir tous ces fichier.

 

Voilà donc mon problème si vous avez une idée!

Merci à l'avance

 

Bonjour,

 

Vous pouvez utiliser l'API "DocumentVisible", regardez dans l'aide API

cela permet de recupérer le document (modelDoc2) sans l'activer

au début du code on specifie

swApp.DocumentVisible(swDocumentTypes_e.swDocPART, False)

 

.... Le traitement ....

 

et à la fin, bien remettre swApp.DocumentVisible(swDocumentTypes_e.swDocPART, True)

sinon les nouvelles pieces ouvertes seront invisible pour l'utilisateur !

 

Regardez également la rubrique "SolidWorks Document Manager" de l'aide API, qui permet de travailler sur les documents (lire des propriétés par exemple, ...) sans passer par SolidWorks, uniquement en spécifiant l'emplacement du fichier.

 

Voila j'espere que cela vous aidera

 

 

 

8 « J'aime »

Vous pouvez utiliser l'API "DocumentVisible", 

Ok je me suis débrouillé avec ça, ça marche!

 

Regardez également la rubrique "SolidWorks Document Manager" de l'aide API

J'ai regardé, ça à l'air vraiment approprié de lire les propriétés sans ouvrir les fichiers, mais j'avoue n'avoir pas tout compris. Là je bosse en VBA et je n'ai pas trop l'habitude mais dès que je reprend mon .NET je m'y attèle.

 

Merci!