InsertBomTable3 multi configurations

Bonjour à tous,

Sur un assemblage SolidWorks, avec la commande VBA « InsertBomTable3 » et quelques lignes de codes, on peut insérer la nomenclature d’une configuration d’un assemblage sur une vue choisie. Mais comment fait on pour afficher, avec des commandes VBA, la nomenclature de plusieurs configurations comme cela est possible sur l’interface SW?
En effet sur SolidWorks, lorsqu’on insère une table nomenclature, il est possible de choisir le modèle de table, le type de nomenclature, le type de regroupement mais aussi les configurations que l’on veut afficher (comme expliqué ici ). Ainsi la nomenclature ajoutée possède autant de colonnes « quantité » qu’il y a de configuration, et toutes les pièces de l’assemblage sont listées.
J’ai fait plusieurs essais, notamment en enregistrant une macro, mais je ne trouve pas la commande ou la succession de commandes qui permettent en VBA d’afficher la même chose que directement sur l’interface.
Auriez vous une solution à cette question ?
Thomas

Bonjour @t.soulard, Bonsoir Thomas :grinning:

Heureux de vous voir sur le forum et de vous accueillir.

J’espère que nous pourrons vous aider à résoudre régulièrement quelques problèmes, mais aussi que nous pourrons profiter de vos savoirs et expériences.

Nous avons sur notre forum un super costaud du VBA qui va vous répondre rapidement !

Cordialement

1 « J'aime »

Bonjour @tous
Possible pour le top_level avec la fonction « setconfigurations » de
« bomfeature » Exemple

2 « J'aime »

Ici les option disponible pour:
IBomFeatures:
https://help.solidworks.com/2022/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IBomFeature_members.html?id=57845b2c38d74d48a28ce6088236d074#Pg0
IBomTable:
https://help.solidworks.com/2022/english/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IBomTable_members.html?id=8da3b33e278a402d8d5020ee6ea63ebb#Pg0

1 « J'aime »

Bonjour
Merci pour vos réponses. Je vais essayer de passer un peu de temps aujourd’hui pour les étudier et les implémenter dans mon programme qui œuvre directement sur le 3D et non sur la mise en plan.

Bonjour sbadenis,
Merci pour la piste IBomFeatures qui fut la bonne.
J’ai utilisé GetConfigurations pour connaitre toutes les configurations pouvant être mise sur la nomenlcature puis SetConfigurations pour les faire apparaitre.

Au final mon code est le suivant.
Set swBOMAnnotation = swModelDocExt.InsertBomTable3(TemplateName, 0, 0, BomType, Configuration, False, swNumberingType_Detailed, True)
Set swBOMFeature = swBOMAnnotation.BomFeature
ConfigS_Nom = swBOMFeature.GetConfigurations(False, Visible)
boolstatus = swBOMFeature.SetConfigurations(True, True, ConfigS_Nom)

Merci pour votre aide

S auto validé n’est pas sympa

1 « J'aime »