EPDM: Erstellung von Dateien gemäß Excel-Datei

Hallo

Wir haben eine große Liste von Bibliotheksdateien, die wir in EPDM importieren möchten, mit automatischem Ausfüllen der Karte.

Die Idee wäre, eine SLDPRT-Datei mit einer Dateinummerierung gemäß der konfigurierten Nummerierung zu erstellen und dann die EPDM-Zuordnung mit den Daten in der Tabelle zu füllen.

Gibt es eine Möglichkeit/ein Dienstprogramm, dies zu tun? Wir haben myCADtools mit Visiativ, aber ich kann kein passendes Programm finden.

Cdt

Hallo

Ich weiß nicht genug über MyCadTools-Tools, aber wenn ich " DataRecovery: Massenarchivierung von Daten und Metadaten aus einem Windows-Baum im Tresor " lese, klingt das nach dem, was Sie tun möchten, nicht wahr?

Wenn kein Tool Ihren Anforderungen entspricht, ist es möglich, dies programmatisch zu tun, aber es beginnt, ein nettes kleines Programm zu erstellen, ist es möglicherweise besser, sich Ihrem Händler zu nähern.

Herzliche Grüße

Hallo

Nachdem ich die Truhe bereits ziemlich viel mit Excel-Makros angefasst habe, denke ich, dass es recht einfach zu bewerkstelligen ist. Ich weiß nicht mehr, wo ich das gelesen habe, aber es scheint mir, dass MyCADTools es Ihnen ermöglicht, die Dateien aus den Kartendaten zu aktualisieren, was es Ihnen ermöglichen würde, das Excel-Makro auszuführen, um die SQL-Datenbank auszufüllen und dann die Dateien zu aktualisieren.

Andernfalls ist es machbar, alles in einem Makro zu erledigen.

Es befindet sich in den PDMProperties-Optionen

1 „Gefällt mir“

In der Tat weiß ich, wie man Variablen auf Dateien aus einer Excel-Tabelle anwendet (oder nicht), es gibt Software, die dafür entwickelt wurde (BatchProperties, Integration). 

Auf der anderen Seite scheint keiner von ihnen in der Lage zu sein, die SLDPRT-Datei zu erstellen.

Grundsätzlich möchte ich meine Excel-Datei mit allen Variablen erstellen und sie an EPDM senden. Von da an kümmert er sich um die Erstellung der SLDPRT-Datei, das Ausfüllen der Karte und die Archivierung.

Heute muss ich die leeren Dateien erstellen, archivieren und dann meine Excel-Datei senden, um die Variablen automatisch auszufüllen.

Wenn ich richtig gelesen habe, sind Ihre Dateien bereits vorhanden, aber außerhalb von Epdm und wahrscheinlich falsch benannt (" wir haben eine große Liste von Bibliotheksdateien, die wir in EPDM importieren möchten, mit automatischem Ausfüllen der Karte... "). Was Sie also tun möchten, wäre, die Dateien aus einem Windows-Ordner nach Epdm zu kopieren, indem Sie sie umbenennen und ihnen dann ihre Variablen zuweisen?

Aus dem Speicher müssen Sie eine leere Vorlagendatei erstellen, die im Tresor archiviert ist, um sie in einen anderen Ordner zu kopieren und umzubenennen, während Sie dabei die Variablen darauf anwenden.

Ich habe diesen Amcro nicht mehr, weil wir ihn nicht mehr brauchen, aber durch das Kompilieren verschiedener Codes kann er leicht wiederhergestellt werden.

 

Es muss daher von den Epdm-Einstellungen abhängen, denn auf meiner Seite kopieren Sie die Windows-Datei nach Epdm, archivieren Sie, indem Sie aus dieser Datei extrahiert bleiben, aktualisieren Sie die Variablen, archivieren Sie ... Es funktioniert gut. Sie müssen jedoch auf die Latenzzeit zwischen dem Kopieren der Datei und dem Hinzufügen zum Tresor achten.

Nein, nein, die Datei existiert nicht. Ich möchte, dass es automatisch erstellt wird. Ich habe keine Dateien, nur eine Excel-Liste mit Codes, die erstellt werden müssen. Ich möchte, dass die Dateierstellung auch automatisch erfolgt.

Wir kommen zurück zu dem, was Cyril.f oben gesagt hat, Sie müssen eine Vorlagendatei erstellen, sie unter ihrem neuen Namen kopieren, ihre Variablen darauf anwenden und dann archivieren.

Zum Kopieren siehe http://help.solidworks.com/2014/English/api/epdmapi/EPDM.Interop.epdm~EPDM.Interop.epdm.IEdmFolder5~CopyFile.html

Informationen zum Arbeiten mit Variablen finden Sie unter http://help.solidworks.com/2014/English/api/epdmapi/EPDM.Interop.epdm~EPDM.Interop.epdm.IEdmEnumeratorVariable8.html

Zur Archivierung siehe http://help.solidworks.com/2014/English/api/epdmapi/EPDM.Interop.epdm~EPDM.Interop.epdm.IEdmFile5~UnlockFile.html

Herzliche Grüße

1 „Gefällt mir“

OKAY. Ich wollte Makros vermeiden, um ein wenig Zeit zu sparen, aber wenn ich muss!

Vielen Dank:)

Einige der Codes (ich hatte keine Zeit, alles in einem zu kompilieren, also muss ich mich anpassen)

Umbenennung:

Dim sRename As String
Dim vault As EdmVault5
Dim folder As IEdmFolder6
Dim file As IEdmFile6
Dim sPathName As String
Dim sNewName As String
Dim sActualName As String

Sub main()
Set vault = New EdmVault5
vault.LoginAuto "xxx", 0
I = 7
Do While Cells(I, 1) <> ""
    sReference = Cells(I, 1).Value
    sFolder = Cells(I, 5).Value
    sRename = Cells(I, 12).Value
    Set folder = vault.GetFolderFromPath(sFolder)
    Set file = folder.GetFile(sReference)
    file.Rename 0, sRename, True
    I = I + 1
Loop
DoEvents
I = 0
End Sub

Verschieben einer Datei:

Sub MoveFile()
Set vault = New EdmVault5
vault.LoginAuto "xxx", 0
I = 7
Do While Cells(I, 1) <> ""
    Reference = Cells(I, 1).value
    Source = Cells(I, 11).value
    Destination = Cells(I, 5).value
    Set Folder = vault.GetFolderFromPath(Source)
    Set file = Folder.GetFile(Reference)
    Set dest = vault.GetFolderFromPath(Destination)
    file.Move 0, Folder.ID, dest.ID, 0
I = I + 1
Loop
End Sub

Aktualisierungen der Karte

Sub UpdateTDM()

Set vault = New EdmVault5
vault.LoginAuto "xxx", 0

i = 2
Do While Cells(i, 11) <> ""
    Set folder = vault.GetFolderFromPath(Cells(i, 5))
    Set file = vault.GetFileFromPath(Cells(i, 5) & "\" & Cells(i, 1))
    file.LockFile folder.ID, 0
    Set pEnumVar = file.GetEnumeratorVariable
    pEnumVar.SetVar "xxx", "", Cells(i, 12) 'Mettre le nom de la variable
    pEnumVar.SetVar "xxx", "", Cells(i, 13) 'Mettre le nom de la variable
    pEnumVar.SetVar "xxx", "", Cells(i, 11) 'Mettre le nom de la variable
    pEnumVar.CloseFile (True)
    file.UnlockFile folder.ID, "Ajout réf, désignation et indice" 'Si archivage dans la foulée se servir de cette ligne sinon supprimer 
    Cells(i, 14).value = "Traité"
i = i + 1
Loop
End Sub

Ich kann bei Bedarf im Support sein, aber nicht vollständig verfügbar.

1 „Gefällt mir“

Ich habe weggelassen, Kopieren durch Umbenennen im Vorbeigehen (automatisierter als Kopieren als Umbenennen)

Dim vault As EdmVault5
Dim folder As IEdmFolder6
Dim destfolder As IEdmFolder6
Dim file As IEdmFile6

Sub CopyFile()
Set vault = New EdmVault5
vault.LoginAuto "xxx", 0
Set folder = vault.GetFolderFromPath("C:\xxx\yyy")
Set destfolder = vault.GetFolderFromPath("C:\xxx\zzz")
Set file = folder.GetFile("toto.sldprt")

destfolder.CopyFile file.ID, folder.ID, 0, "Rename.sldprt" 'ne pas omettre l'extension sinon fichier inexploitable

End Sub

 

Vielen Dank, ich werde das ausnutzen und sehen, was passiert!