Une Macro pour insérer un BOM (Bill of material)

Bonjour Chère forum,

 

Je fais appel à votre aide une fois de plus. Je cherche une Macro pour insérer une Bom SW dans nos mise en plan. Idéalement je voudrais pouvoir indiquer le chemin d'accès où chercher la BOM et indiquer quel BOM prendre dans le répertoire.

Pourquoi? Nous implantons DriveWorks au sein de notre compagnie et nous voulons utiliser le maximum de ce qui est déjà fait afin d'accélérer le processus et nos BOM en font partie. Si vous avez quelque chose que je peux adapter à nos besoin cela serait apprécié.

 

Merci d'avance!

 

Eric

Bonjour,

Quand tu dis "Idéalement je voudrais pouvoir indiquer le chemin d'accès où chercher la BOM et indiquer quel BOM prendre dans le répertoire", il s'agit du modèle de nomenclature (fichier .sldbomtbt) ou d'une nomenclature déjà remplie ?

Cordialement,

Bonjour,

Dans le lien ci dessous, tu trouveras comment intégrer une BoM sur ton plan via macro :
https://help.solidworks.com/2015/english/api/sldworksapi/Insert_BOM_Table_Example_VB.htm
 

Sinon J'ai récemment écrit ce code pour positionner une table générale à un endroit précis en fonction de la taille de plan, si jamais ca peut t'aider :
 

Sub InsertRevisionTable()
    
    Dim swApp As SldWorks.SldWorks
    Dim swModel As SldWorks.ModelDoc2
    Dim swDrawing As SldWorks.DrawingDoc
    Dim swTable As SldWorks.TableAnnotation
    Dim swSheet As SldWorks.Sheet
    Dim vSheetNames As Variant
    Dim vSheetProperties As Variant
    Dim sTemplateName As String
    Dim i As Integer
    Dim lErrors As Long
    Dim lWarnings As Long
    Dim height As Single
    Dim width As Single
        
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swDrawing = swModel
    
    'Verify Sheet Format
    Set swSheet = swDrawing.GetCurrentSheet
    vSheetProperties = swSheet.GetProperties
    If vSheetProperties(0) = 12 Then         'Format A3
        height = 0.015985
        width = 0.010362
    ElseIf vSheetProperties(0) = 7 Then      'Format A4
        height = 0.015
        width = 0.057
    ElseIf vSheetProperties(0) = 9 Then      'Format A2
        height = 0.015985
        width = 0.010362
    End If
        '    End If
        'Next i
   'End If
    
    Set swTable = swDrawing.InsertTableAnnotation2(False, height, width, swBOMConfigurationAnchor_BottomLeft, "J:\Solidworks\Templates\Revision-Table.sldtbt", 4, 2)

End Sub
 

Bonjour d.roger,

Il s'agit du modèle de nomenclature.

Cordialement,

 

Eric

Bonjour,

Voici une macro de laquelle tu dois pouvoir partir pour faire ce que tu veux faire. Celle-ci permet d'insérer soit une nomenclature soit une table générale suivant le choix du type de fichier que l'on sélectionne dans la fenêtre de sélection du fichier modèle.

Cordialement,


macroinsertbomlynkoa.swp