[RESOLU] récupérer nom des sous-dossiers listes de pièces...

vos questions concernant les API SolidWorks

[RESOLU] récupérer nom des sous-dossiers listes de pièces...

Messagepar HeliCoid » Ven 02 Aoû 2013, 8:00

Bonjour,

Je suis actuellement en train de faire une macro pour créer des nomenclatures à partir d'assemblages et de pièces.

mais j'ai un soucis pour les pièces en mécano-soudées (multi-corps en général) :
j'aimerai pouvoir récupérer le nom des sous-dossiers des listes de pièces soudées ainsi que le nombre de corps dans chaque (pour récupérer le nombre de corps différents) .

j'aimerai aussi pouvoir récupérer le type de corps (tôlerie par exemple). j'ai réussit à faire ça en récupérant les corps.
mais est-il possible de récupérer ça depuis les sous-dossiers (et non des corps)?

Au final, je cherche à retourner le nom, la quantité et le type de chaque corps.

Comment faire, s'il vous plait ?

Par avance, merci.
Dernière édition par HeliCoid le Ven 20 Sep 2013, 15:37, édité 1 fois.
SolidWorks 2015 SP5.0
HeliCoid
Ewok SolidWorks
 
Messages: 39
Inscription: Mar 22 Mar 2011, 10:40

Re: récupérer nom des sous-dossiers listes de pièces soudées

Messagepar MarcS » Jeu 08 Aoû 2013, 13:58

Vérifie les propriétés au niveau de la variable CUTLIST
dans cette exemple.

Dim vCutListItems As Variant 'Mecano Souder
Dim Cutlist As SwDocumentMgr.SwDMCutListItem2 'Mecano Souder
vCutListItems = swDoc2.GetCutListItems2 'Mecano Souder
If IsEmpty(vCutListItems) = False Then
For i = 0 To UBound(vCutListItems)
Set Cutlist = vCutListItems(i)

Si je te donne un poisson tu pourras manger Aujourd’hui
mais si je t’apprend a pêcher tu pourras manger toute ta vie !!!
Salut !

Marc S.
Avatar de l’utilisateur
MarcS
Chevalier Jedi SolidWorks
 
Messages: 311
Inscription: Mar 06 Jan 2009, 20:10
Localisation: Quebec, Quebec SolidWorks 2017 SP 1.0 & SolidWorks 2014 SP 2.0

Re: récupérer nom des sous-dossiers listes de pièces soudées

Messagepar HeliCoid » Ven 13 Sep 2013, 10:41

désolé pour le retard...

j'ai réutilisé ton code mais je n'ai trouvé ce qu'il fallait intégrer dans swDoc2..
je présume que c'est "SwDMDocument2" mais je n'ai rien trouvé sur le net. dans l'aide de SW, ils parle de tout les "SWDMDocument" jusqu'à 16 mais il manque que le "2".

je suis parti sur la solution du lien suivant :
http://help.solidworks.com/2012/English/api/swdocmgrapi/Get,_Add,_Change,_and_Delete_Cut-List_Custom_Properties_Example_VBNET.htm

mais j'ai de gros soucis au niveau de "sLicenseKey". j'y ai inséré ma clé mais il me dit que "la classe n'a pas de license d'utilisation"... et je ne sais pas comment retrouver la clé automatiquement (que si l'API est utilisée par un autre SW qu'il n'y ait rien à changer au code).
SolidWorks 2015 SP5.0
HeliCoid
Ewok SolidWorks
 
Messages: 39
Inscription: Mar 22 Mar 2011, 10:40

Re: récupérer nom des sous-dossiers listes de pièces soudées

Messagepar MarcS » Ven 13 Sep 2013, 16:54

Pour utilisé le SolidWorks Documents Manager (SwDocumentMgr) tu dois
demander a ton fournisseur le "sLicenseKey"

Set Classfac = CreateObject("SwDocumentMgr.SwDMClassFactory")
Set swDocMgr = Classfac.GetApplication("NUMERO DE LA KEY")

Si je te donne un poisson tu pourras manger Aujourd’hui
mais si je t’apprend a pêcher tu pourras manger toute ta vie !!!
Salut !

Marc S.
Avatar de l’utilisateur
MarcS
Chevalier Jedi SolidWorks
 
Messages: 311
Inscription: Mar 06 Jan 2009, 20:10
Localisation: Quebec, Quebec SolidWorks 2017 SP 1.0 & SolidWorks 2014 SP 2.0

Re: récupérer nom des sous-dossiers listes de pièces soudées

Messagepar Titifonky » Lun 16 Sep 2013, 15:50

Bonjour,

Voici un bout de code te permettant de récupérer les infos dont tu as besoin :
Code: Tout sélectionner
Public Function Dossier_Des_Pieces_Soudees() As Feature

    Dim Sw As SldWorks.SldWorks
    Dim Modele As ModelDoc2
           
    Set Sw = Application.SldWorks
    Set Modele = Sw.ActiveDoc
   
    If Modele.GetType <> swDocumentTypes_e.swDocPART Then Exit Function
   
    Dim Piece As PartDoc
    Set Piece = Modele
   
    Dim Fonc As Feature
    Set Fonc = Piece.FirstFeature
   
    Do Until Fonc Is Nothing
       
        If Fonc.GetTypeName2 = "SolidBodyFolder" Then
            Set Dossier_Des_Pieces_Soudees = Fonc
            Exit Do
        End If
       
        Set Fonc = Fonc.GetNextFeature
    Loop
   
End Function

Public Sub Liste_DesDossiers()
   
    Dim Sw As SldWorks.SldWorks
    Dim Modele As ModelDoc2
           
    Set Sw = Application.SldWorks
    Set Modele = Sw.ActiveDoc
   
    If Modele.GetType <> swDocumentTypes_e.swDocPART Then Exit Sub
   
    Dim Piece As PartDoc
    Set Piece = Modele
   
    Dim FoncDossier As Feature
    Set FoncDossier = Dossier_Des_Pieces_Soudees
   
    Dim Fonc As Feature
    Set Fonc = FoncDossier.GetFirstSubFeature
   
    Do Until Fonc Is Nothing
        Dim Dossier As BodyFolder
        Set Dossier = Fonc.GetSpecificFeature2
        Debug.Print "Nom du dossier : "; Fonc.Name
        Debug.Print , "Nb de corps :"; Dossier.GetBodyCount
        Set Fonc = Fonc.GetNextSubFeature
    Loop
   
End Sub
Titifonky
Padawan SolidWorks
 
Messages: 89
Inscription: Mar 05 Avr 2011, 8:23
Localisation: Lille .............. SW Premium 2013 .......... Seven 64b

Re: récupérer nom des sous-dossiers listes de pièces soudées

Messagepar Titifonky » Mer 18 Sep 2013, 14:15

Pas de nouvelle ?
Titifonky
Padawan SolidWorks
 
Messages: 89
Inscription: Mar 05 Avr 2011, 8:23
Localisation: Lille .............. SW Premium 2013 .......... Seven 64b

Re: [RESOLU] récupérer nom des sous-dossiers listes de pièce

Messagepar Vladimir » Mer 26 Oct 2016, 15:24

Salut la communauté,

Pas de nouvelle ?? je me permet de vous relancer même 3 ans après le sujet est toujours aussi intéressant :D
Vladimir
Ewok SolidWorks
 
Messages: 2
Inscription: Mer 26 Oct 2016, 13:12


Retourner vers Questions générales sur les API

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

banniere