API et PDMWorks

SolidWorks Enterprise PDM est un module de gestion de données, qui permet d'améliorer l'échange d'information au sein de votre entreprise. Parlons ici de cet outil.

API et PDMWorks

Messagepar BrebiouX » Mar 24 Juil 2007, 14:51

Bonjour,

Je cherche à savoir si quelqu'un sait utiliser les API avec PDMWorks. J'ai bien trouvé des morceaux de code dans le help mais ca suffit pas...
On peut rêver d'une API qui tournerait la nuit, scanerai les différents éléments de mon Vault data et mettrai a jour toutes mes propriétés en lien direct avec ma base de donnée.
Un peu d'utopie ca fait pas de mal :roll:

Sinon voici un exemple de code pour rechercher un article dans le vault data de type approuvé et pour l'extraire:

Code: Tout sélectionner
Sub main()
    On Error GoTo errorHandler
    Dim connection As PDMWConnection
    Set connection = CreateObject("PDMWorks.PDMWConnection")
    connection.Login "pdmwadmin", "pdmwadmin", "localhost"
    Dim savePath As String
    savePath = "C:\edrawings\"  ''Must be a valid path
    Dim alldocs As PDMWDocuments
    Set alldocs = connection.Documents
    Dim adoc As PDMWDocument
    For Each adoc In alldocs
        If LCase(Right(adoc.Name, 6)) = "slddrw" Then
            If adoc.GetStatus = "APPROVED" Then
                adoc.SaveEmbeddedEDW savePath
            End If
        End If
    Next
    connection.Logout
Exit Sub
errorHandler:
    Debug.Print "Error: " & adoc.Name & " : " & Err.Description
    Resume Next
End Sub
Avatar de l’utilisateur
BrebiouX
Ewok SolidWorks
 
Messages: 9
Inscription: Mer 27 Juin 2007, 11:07

Messagepar steeve osteen » Mar 24 Juil 2007, 15:05

le porbléme serait non pas de mettre à jour PDM mais d'arriver à extraire les data de ta BDD ou de la mettre à jour elle.
concernant PDM je pourrais pas t'aider.
repose la question dans la section API tu auras plus de chance de trouver une réponse.

sur ton code tu n'as que la connexion au vault.
ensuite comment naviguez dans les projets je saurais pas te dire.
ancien admin de ce forum..
maintenant je suis sur le forum Solid Agora
Avatar de l’utilisateur
steeve osteen
Esprit Jedi Solidworks
 
Messages: 3474
Inscription: Sam 22 Avr 2006, 13:03
Localisation: saint pierre des ifs (eure)---SW 2011 SP2 + simulation advance pro et 16Go de ram

Messagepar LeNain » Mar 24 Juil 2007, 15:09

J'aime bien ton rêve ^^
"Tant qu'on bouge, on peut encore bouger"
"Pourquoi contredire une femme, il est plus simple d'attendre qu'elle change d'avis !!..."
Désolé mesdames, mais c'est tellement vrai....
Avatar de l’utilisateur
LeNain
Maître Jedi SolidWorks
 
Messages: 625
Inscription: Ven 11 Mai 2007, 9:54
Localisation: 77, France

Messagepar DotNET74 » Lun 27 Oct 2008, 12:26

Salut,

Pourquoi ne pas passer par un service windows qui serait sur le serveur où se trouve PDMWorks.

Ou alors mais plus lourd à faire utiliser directement PDMWorks Enterprise qui lui utilise une base SQL
Avatar de l’utilisateur
DotNET74
Chevalier Jedi SolidWorks
 
Messages: 247
Inscription: Mer 22 Oct 2008, 18:37

Messagepar steeve osteen » Lun 27 Oct 2008, 12:32

oui mais dans le cas de pdm enterprise, le gros problème est le coup de la solution à coté d'un pdmworks workgroup qui lui est gratuit du moment que tu as un office pro.
ancien admin de ce forum..
maintenant je suis sur le forum Solid Agora
Avatar de l’utilisateur
steeve osteen
Esprit Jedi Solidworks
 
Messages: 3474
Inscription: Sam 22 Avr 2006, 13:03
Localisation: saint pierre des ifs (eure)---SW 2011 SP2 + simulation advance pro et 16Go de ram

Messagepar lucasgaetan » Mar 25 Oct 2011, 9:18

Salut,
je me permet de reouvrir la discutions car j'ai planché sur le sujet mais je bloque sur un point.

deja voici mon code: (POUR LES UTILISATEURS: LIRE LES COMMENTAIRE)
Il permet d'extraire un fichier et ses enfants du coffre fort
Code: Tout sélectionner
    Dim alldocs             As PDMWDocuments
    Dim adoc                As PDMWDocument
    Dim connection          As PDMWConnection
    Dim savePath            As String
    Dim i                   As Long
   
Sub main()
    Set connection = CreateObject("PDMWorks.PDMWConnection")
    connection.Login "Nom d’utilisateur", "Mot de passe", "Nom du serveur PDM Works"
 'Attention le nom du serveur PDM Works n'est pas forcement là où ce trouve les fichiers data, mais là où est installé l'application PDM Works
   
    savePath = "C:\PDMWorks\Test\PDM test\"  ''Ce répertoire doit exister
    Set alldocs = connection.Documents

    For Each adoc In alldocs
        If adoc.Name = "Nourrice Bullage.SLDASM" Then 'ici fichier pris pour exemple; c'est un critère qui appartient à l'utilisateur
            Call ExtraireEnfants(adoc.References)
            Exit Sub
        End If
    Next
    connection.Logout
       
End Sub

Public Function ExtraireEnfants(DocRef As PDMWLinks)
            For i = 0 To (DocRef.Count - 1)
                If LCase(Right(DocRef.Item(i).Name, 6)) = "sldasm" Then
                    Call ExtraireEnfants(DocRef.Item(i).Document.References)
                End If
                DocRef.Item(i).Document.Save (savePath)
            Next i
            adoc.Save (savePath)
End Function

de plus voir l'image de mon PDM Works pour comprendre l'architecture du fichier "Nourrice Bullage.SLDASM"

Mon problème est que le fichier "CLARINETTE POUR BULLAGE DE LAC.SLDASM" ne veux pas s'enregistrer, alors que pour tous les autres il n'y a aucun prbl même pour le fichier parent. (ligne DocRef.Item(i).Document.Save (savePath) dans Function ExtraireEnfants )

si quelqu'un pouvait m'aider....
Merci d'avance
Avatar de l’utilisateur
lucasgaetan
Padawan SolidWorks
 
Messages: 76
Inscription: Mar 26 Oct 2010, 14:38
Localisation: NANTES

Messagepar lucasgaetan » Mar 25 Oct 2011, 10:52

j'ai trouvé

il faut modifier la fonction
Code: Tout sélectionner
Public Function ExtraireEnfants(DocRef As PDMWLinks)
            For i = 0 To (DocRef.Count - 1)
                DocRef.Item(i).Document.Save (savePath)
                If LCase(Right(DocRef.Item(i).Name, 6)) = "sldasm" Then
                    Call ExtraireEnfants(DocRef.Item(i).Document.References)
                End If
            Next i
            adoc.Save (savePath)
End Function
Avatar de l’utilisateur
lucasgaetan
Padawan SolidWorks
 
Messages: 76
Inscription: Mar 26 Oct 2010, 14:38
Localisation: NANTES

Messagepar fred_ecai » Mar 25 Oct 2011, 11:02

Salut,

ça marche bien les API PDM ?

parce que j'en aurait bien une ou deux a faire ... mais j'ai des doutes ...

@+
Avatar de l’utilisateur
fred_ecai
Membres du Conseil SolidWorks
 
Messages: 1450
Inscription: Mar 22 Déc 2009, 9:09
Localisation: loire (42), Slw 2012 SP1.0 XP 64bit (in english please)

Messagepar lucasgaetan » Mar 25 Oct 2011, 12:43

fred_ecai a écrit:ça marche bien les API PDM ? @+


Je ne sais pas trop, je m'y met tout juste
Apparemment l’analyse du coffre est longue mais le reste suit bien
Avatar de l’utilisateur
lucasgaetan
Padawan SolidWorks
 
Messages: 76
Inscription: Mar 26 Oct 2010, 14:38
Localisation: NANTES


Retourner vers Support Gestion de données - PDM

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

banniere