Récupérer chemin d'un document (API - TopSolid)

Salut à tous, alors je sais pas si il faut des connaissances propres à l'API du logiciel mais je tente mon coup car je bloque complètement, peut-être que ça s'apparente à des choses que quelqu'un a déjà pu voir..

Du coup, c'est un logiciel de dessin, j'utilise la librairie du logiciel (pour avoir des fonctions propre à lui) et c'est pour faire du dessin.

Dans ce logiciel, on peut faire du dessin (extension : ".top"), et de la mise en plan (de ce dessin)(extension : ".dft").

J'aimerais enregistrer la mise en plan, au même endroit que le dessin est enregistrer en récupérant sa désignation et sa référence.

Mon seul soucis, c'est que la mise en plan est un nouveau document, jamais enregistrer, et donc je n'arrive pas à récupérer le ".path" du dessin (.top).

Voici mon code :

 
 Dim TopApp As TopSolid.Application
 Dim TopDoc As TopSolid.Document
 Dim des As String, ref As String

Sub test()

        Set TopApp = New TopSolid.Application
        Set TopDoc = TopApp.CurrentDocument
        des = TopDoc.Designation 'On récupère la désignation de la pièce
        ref = TopDoc.Reference 'On récupère la référence de la pièce

        With TopDoc.Document

        .SaveAs "C:\Users\fredo\Desktop\API\" & ref & " " & ds & ".dft", True 'On sauvegarde la mise en plan en récupérant la désignation et référence de la pièce dans un dossier donné.
        .PrintOut 'On imprime la mise en plan

        End With

End Sub

J'arrive à enregistrer en récupérant les informations voulu (désignation et référence), mais pour l'instant je bloque sur le .path du .top, je ne sais pas comment le récupérer.

Pour l'exemple, le code fonctionne mais le dossier est fixe, donc c'est pas l'idée..

Cordialement

Bonjour,

Si j''ai compris la question :

Option Explicit

 Dim TopApp As TopSolid.Application
 Dim TopDoc As TopSolid.Document
 Dim des As String, ref As String
 Const sPATH As String = "C:\Users\fredo\Desktop\API\"

Sub test()
        Set TopApp = New TopSolid.Application
        Set TopDoc = TopApp.CurrentDocument
        des = TopDoc.Designation 'On récupère la désignation de la pi?ce
        ref = TopDoc.Reference 'On récupère la référence de la pièce

        With TopDoc.Document

        .SaveAs sPATH & ref & " " & ds & ".dft", True 'On sauvegarde la mise en plan en récupérant la d?signation et référence de la pièce dans un dossier donné.
        .PrintOut 'On imprime la mise en plan

        End With

End Sub

Salut, alors merci pour ta réponse mais j'ai du mal m'exprimer.

J'ai un fichier, dessin (.top) qui est enregistrer quelque part.

Ensuite, je fait une mise en plan (.dft) et j'essaye de l'enregistrer au même endroit que le .top.

Le .dft est liée avec le .top puisqu'il est la mise en plan de la pièce (.top).

Mais ce sont deux modules différents du logiciel.

Si j'utilise :

TopDoc.Path

C'est vide, puisqu'on récupère le chemin, du .dft car :

Set TopDoc = TopApp.CurrentDocument

A ce moment là, il n'est pas enregistrer.

Cordialement

Bonjour,

si tu connais le début du path et qu'il n'y a pas tout le disque à explorer, il est possible de balayer les sous-répertoire pour retrouver le .top dans un temps raisonnable.

A condition que tu connaisses son nom quand même.

C'est normal ... & ds & ... alors que ta variable est des ?

eric

Bonjour,

En effet c'est pas "ds" mais "des" !

Pour ton idée, en premier lieu je me suis dit que c'était pas mal mais après réflexion, on peut avoir des centaines de .top qui auront le même noms, de ce fait ça ne pourra marcher mais merci pour la proposition.

Cordialement

Bonjour,

alors à part insérer une boite de sélection de fichier où l'utilisateur va choisir le .top à utiliser, je ne vois pas.

eric

Rechercher des sujets similaires à "recuperer chemin document api topsolid"