Macro identifier Repetition (Assemblage)

Bonjour ;

J’utilise fréquemment la Macro « Rendre-indépendant » trouvée chez CodeStack :
https://www.codestack.net/solidworks-api/document/assembly/components/make-independent-drawing/
(Cette macro permet de « enregistrer une copie sous.. » une pièce (ou un assemblage) avec sa mise en plan en associant leur références/Associations)

Elle m’est très utile à une restriction près :
Les composants inclus dans les répétitions dérivées/pilotées peuvent êtres renommés sans que le composant d’origine ou ses autres « copies » soient impactées…
Exemple :

  • Le repère (1) est mon composant à répéter. Les repère (2) et est la répétition de (1).

    Si j’applique la macro sur le repère (2) :  Avec le nouveau de fichier
    Alors seul cette occurrence devient indépendante sans que (1) ni (3) ne soient modifiés.

Et pour couronner le tout, dans les propriétés des composants multiples, les réglages sont toujours à « Utiliser la même configuration que le composant d’origine ».
Donc, pour faire simple : est-il possible, lors de la sélection d’un composant (depuis l’arbre ou dans la fenêtres graphique (face)) d’empêcher la sélection d’une occurrence de répétition ?

Cordialement.

1 « J'aime »

Bah !
Parfois on cherche loin des fonctions sous notre nez....
Pour determiner si le composant séléctionné fait partie d'une répétition :

Dim instance As IComponent2
Dim value As System.Boolean
 
value = instance.IsPatternInstance()

Avec retour valeur : "Vrai" (True) si le composant fait partie d'une repetition et "Faux" (False) si ce n'est pas le cas..

C'est pas plus compliqué.

 

3 « J'aime »

Merci pour l'info @Maclane ça fait au moins 1 ans que je souhaitais exclure certaine instance de répétition d'une de mes macro en vain.

Si tu as une astuce pour exclure également une pièce réaliser avec une fonction courroie (Insertion, Fonction d'assemblage, Courroie chaine, et cocher Créer une pièce courroie), je suis preneur!

 

Bonjour sbadenis content d'avoir pu aider...
Pour les chaines et courroies, je n'ai pas encore eu à utiliser ce type de fonction
J'ai quelques pistes à creuser si le coeur t'en dit : ( Dim instance As IChainPatternFeatureData )
-> https://help.solidworks.com/...Aide 01
-> https://r1132100503382-eu1-3dswym.3dexperience.3ds.com/...Forum Solidworks

2 « J'aime »