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 SubJ'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 SubSalut, 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.PathC'est vide, puisqu'on récupère le chemin, du .dft car :
Set TopDoc = TopApp.CurrentDocumentA 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