Losgelöste, angehängte Makroaufnahmen?

Hallo

Alle unsere Plandateien befinden sich in SolidWorks im getrennten Modus, und ich habe Dimensionen, die springen.

Ich möchte sicherstellen, dass die Aufnahmen solide sind.

Wissen Sie, ob es ein Makro gibt, mit dem die Plandateien getrennt und angehängt werden können?

en masse wäre ein + (4000 Pläne)

1 „Gefällt mir“

Im Moment kenne ich nichts Bestehendes, das es tun würde.

Ich überlasse es dem API-Profi, eine vollständigere Antwort zu geben

2 „Gefällt mir“

Hallo

 

Ich hatte das gleiche Problem vor 2 Jahren, das mit der Update-Utility-Version von MyCADServices gelöst wurde.

 

Sie müssen die Option "Dateien nicht konvertieren, die bereits in der zu konvertierenden Version vorliegen" deaktivieren und die Option "Zeichnungen im nicht getrennten Format speichern" aktivieren .

3 „Gefällt mir“

Was ist der getrennte Modus?

 

Edit: Ein wenig Recherche ermöglichte es mir zu sehen, was es war.

 

Wenn Sie die MyCAD-Dienstprogramme nicht haben, ist es mit einem Makro nicht sehr kompliziert, aber Sie müssen ein wenig über VBA wissen!

 

Sie können mit einem Makro beginnen, indem Sie lernen, welcher Code hinter dem steckt, was Sie tun, wenn Sie in MEP Attached konvertieren.

Hallo

 

Um eine Zeichnung vom getrennten Typ in den angefügten Typ zu ändern, müssen Sie die SaveAs-Methoden-API (IModelDocExtension) mit der swSaveAsVersion-Option 3 verwenden.

 

Im Folgenden finden Sie einen Beispielcodeausschnitt, der für offene Zeichnungen als Ersatz für "Sicherungspfad+Name" verwendet werden kann

  Dimmen swApp als Objekt

  Dim swModel As SldWorks.ModelDoc2

  Dim swModelExt As SldWorks.ModelDocExtension

  Dim boolstatus als boolescher Wert

  ExportData als Objekt dimmen

  Warnungen so lange dimmen, Fehler so lange

 

  Sub main()

 

  Legen Sie swApp = Application.SldWorks fest

  Festlegen von swModel = swApp.ActiveDoc

  Legen Sie swModelExt = swModel.Extension fest

  boolstatus = swModelExt.SaveAs("Pfad+Speichername", 3, 1, ExportData, Fehler, Warnungen)

 

  Ende Sub

 

Für die Massenverarbeitung habe ich keinen Code zur Hand, um alle Dateien in einem Ordner zu durchlaufen. Vielleicht jemand anderes?

 

1 „Gefällt mir“

Nach Ihren Antworten scheint es einfach zu sein, leider habe ich nicht Meine cad services.fgirard Sie scheinen die Programmierung zu beherrschen. So etwas habe ich noch nie gemacht. Reicht der Skriptteil aus, um eine Datei in eine angehängte Datei zu konvertieren? Sollte ich in jeder Datei ein Makro platzieren? (Ich habe 4000 Schüsse, ich könnte sie genauso gut 1 zu 1 öffnen und speichern als... wird es weniger kompliziert sein?)

Befinden sich alle 4000-Pläne im selben Verzeichnis?

Ich bin auf der Suche nach dem vollständigen Makro, das alle Dateien in 1 Verzeichnis verarbeitet.

Ich melde mich, sobald es fertig ist.

Danke Fgirard. Selbst wenn sich das Makro mit einer Reihe von Schüssen befasst, wäre es immer noch interessant.

Ich habe das Makro fertiggestellt, um alle Zeichnungen eines Verzeichnisses zu verarbeiten.

Das Makro öffnet ein Dialogfeld, in dem Sie eine Datei zum Öffnen auswählen können.

Anschließend wird der Speicherort der Datei abgerufen und alle darin enthaltenen Zeichnungen verarbeitet.

Hier ist der Code:

 

Dimmen swApp als Objekt

Dim swModel As SldWorks.ModelDoc2

Dim swModelExt As SldWorks.ModelDocExtension

Dim boolstatus als boolescher Wert

Dimmen von ExportData als Objekt

Warnungen so lange dimmen, Fehler so lange

Dim oFSO As Scripting.FileSystemObject

Dim oFld As Scripting.Folder

Dim oFile As Scripting.File

Pfad als Zeichenfolge dimmen

Filter                      als Zeichenfolge dimmen

Dim fileName                    als Zeichenfolge

Dim fileConfig                  als Zeichenfolge

Dim fileDispName                als Zeichenfolge

Datei dimmenOptionen                 so lange

 

 

Sub main()

 

Legen Sie swApp = Application.SldWorks fest

 

Filtern nach Zeichnung

Filter = "Zeichnung (*.slddrw)|*.slddrw|"

 

Dialogfeld "Öffnen"

fileName = swApp.GetOpenFileName("Datei auswählen", "", Filter, fileOptions, fileConfig, fileDispName)

 

'Ausgewählte Datei prüfen

if fileName = "" dann sub beenden

 

Wiederherstellung des Pfads

Pfad = Links(Dateiname, InStrRev(Dateiname, "\"))

 

«Erklärung des BFS»

Set oFSO = Neues Scripting.FileSystemObject

Set oFld = oFSO.GetFolder(Pfad)

'Schleife auf den Dateien im Verzeichnis 'Pfad'

Für jede oDatei in oFld.Files

    'Prüfdateityp = Zeichnung

    If oFile.Type = "SolidWorks Zeichnungsdokument", dann

        Öffnen der Zeichnung

        Set swModel = swApp.OpenDoc6(oFile.Path, swDocDRAWING, 1, "", Fehler, Warnungen)

        Legen Sie swModelExt = swModel.Extension fest

        'Backup-Version beigefügt

        boolstatus = swModelExt.SaveAs(oFile.Path, 3, 1, ExportData, Fehler, Warnungen)

        Schließen der Datei

        swApp.CloseDoc swModel.GetTitle

    Ende, wenn

Nächste oDatei

 

Ende Sub

 

 

 

3 „Gefällt mir“

Vielen Dank Fgirard, da ich noch nie Makro gemacht habe, werde ich Ihr Programm ausprobieren. Schönen Tag.

 

Mit dem Integrationswerkzeug von myCADtools können Sie ein Batch-Makro mit den in der Integration verfügbaren Operationen ausführen.

 

Auf diese Weise können Sie schnell ein einfaches Makro erstellen und es in großen Mengen für eine große Anzahl von Dateien ausführen.

 

Philou

3 „Gefällt mir“

 Danke Prossignol, das wird die Lösung sein, wenn ich das Makro nicht erstellen kann.

Ich konnte das Makro nicht zum Laufen bringen.

Fgirard, du sagst, dass du das Makro erstellt hast. Wenn ich es missbrauchen könnte, könnten Sie mir eine Datei mit einem zugehörigen Plan zur Integration des Makros senden? Frohe Feiertage

Im Anhang befindet sich die swp-Datei des Makros.

Sie speichern es auf Ihrem PC.

Dann machen Sie "tool/macro/execute"

Sie wählen die Datei "Dettach.swp" aus

Es öffnet sich ein Fenster, in dem Sie die erste slddrw-Datei in dem Ordner auswählen, in dem sich Ihre Konvertierungspläne befinden.

Du siehst zu, wie sich die Software öffnet und speicherst deine Pläne wie ein Erwachsener.

 

Das ist die Theorie. In der Praxis können Probleme mit Verweisen auf nicht aktive .dll und Probleme mit dem Code selbst auftreten.

 

Starten Sie das Makro einmal, und wenn Sie eine Fehlermeldung erhalten, machen Sie einen Screenshot und posten Sie ihn. Ich werde sehen, was ich tun kann.

 

Andernfalls, wie das Signal zeigt, ist Prossignol Integration ein sehr mächtiges Werkzeug, das die Aufgabe erfüllen kann.

 

Frohe Feiertage an alle.

 


detach.swp
1 „Gefällt mir“