Ich kenne keine vorhandenen Tools, um dies zu tun, aber es ist sicherlich über ein Programm möglich, das automatisch aus einer Liste von Plänen erstellen sollte:
- Öffnen Sie den SLDDRW-Plan.
- Analysieren Sie alle Notizen in diesem Plan.
- Ändern Sie die Note, wenn = xxxxxxx.
- Speichern Sie diesen Plan.
- Fahren Sie mit dem nächsten Plan fort.
-etc...
Im Anhang finden Sie ein kleines Beispiel für ein Programm, das nach dem Start der SW und dem Laden eines SLDDRW-Plans gestartet werden soll. Mit diesem Programm können Sie nach allen Anmerkungen und Bemaßungen suchen, die auf einer Ebene vorhanden sind (jedoch nicht nach allen Toleranzen).
Schade, dass wir nicht scrollen können, einige Informationen waren am unteren Rand des Ergebnisfensters nicht zugänglich
Wir können den Text nicht auswählen
Aber speziell für meine Bewerbung müsste ich alle Pläne (200) nacheinander öffnen. Sie können es genauso gut von Hand mit SW / Tools / Suchen/Ändern machen.
Ich hätte mir etwas Automatischeres gewünscht, aber ich glaube nicht, dass es so etwas gibt.
Dim swApp As Object
Dim Part As Object
Dim longstatus As Long
Sub main()
Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
'--------------------Find and Replace Annotations--------------------
Set swUtil = swApp.GetAddInObject("Utilities.UtilitiesApp")
Set swUtilFindReplaceAnnotations = swUtil.FindReplaceAnnotations
longstatus = swUtilFindReplaceAnnotations.InitPMPage()
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
swUtilFindReplaceAnnotations.FindText = "M6x30"
swUtilFindReplaceAnnotations.ReplaceText = "M6x30 - 8.8"
swUtilFindReplaceAnnotations.options = gtFraMatchCase Or gtFraWholeWord Or gtFraIncludeHiddenAnnotation
swUtilFindReplaceAnnotations.AnnotationFilter = gtFraAllTypes
Part.ClearSelection2 True
longstatus = swUtilFindReplaceAnnotations.ReplaceAll()
'--------------------Block Recording--------------------
#If 0 Then
#End If
'--------------------UnBlock Recording------------------
longstatus = swUtilFindReplaceAnnotations.Close()
End Sub
Um es in ein Programm einzufügen, das auf allen Ebenen eines Ordners schleift, stört mich andererseits das Dialogfeld, das am Ende des Makros erscheint :/
Dieses Programm ist nur ein Beispiel, um nach den Notizen und Abmessungen eines Schusses zu suchen, Sie müssen das Öffnen und Schließen von SLDDRWs automatisieren, Notizen oder Abmessungen automatisch ändern, das Ergebnis in einer Protokolldatei verfolgen, usw.
Ihr Bedarf erfordert ein wenig Programmierkenntnisse (vba, vb.net oder C#), ist aber machbar. Um 200 Pläne zu verarbeiten, entspricht dies am Ende einer Bearbeitungszeit von etwa 20 bis 30 Minuten, aber vorher dauert es etwa 2 Stunden, um das Programm zu schreiben.
Ich schaue nach meinen mageren Programmierkenntnissen und meiner Verfügbarkeit.
Ich bin mit VB vertrauter, weil ich viele Makros für Excel gemacht habe, für C++ habe ich es in den 2000er Jahren in der Schule gesehen, also bin ich überhaupt nicht auf dem neuesten Stand, aber es bietet andere Möglichkeiten.
Ich werde mich von Ihrem Code inspirieren lassen, um eine Wahl zu treffen.
Hier ist eine Programmversion, die es Ihnen ermöglicht:
- Beim Laden einer CSV-Datei, die eine Liste der zu analysierenden Dateien enthält, beachten Sie bitte, dass diese Liste wie die Datei formatiert sein muss, die mit dem Programm angehängt liste.csv.
- Öffnen Sie jede Datei in Solidworks.
- Analysieren Sie alle Notizen in jeder geladenen 2D-Datei.
- Ersetzen Sie den "Zu ändernden Text" durch den "Neuen Notiztext"
- Speichern Sie den geänderten Plan.
Es ist am besten, mit einer kleinen Menge an 2D-Dateikopien zu testen, um loszulegen.
Am Ende der Verarbeitung wird eine résultat.csv Datei im ausführbaren Ordner erstellt, die angibt, ob die Dateien verarbeitet oder verlegt wurden.
Wie beim Start des Programms angegeben, ist es unerlässlich , vor der Verarbeitung eine Sicherungskopie aller zu verarbeitenden Dateien zu erstellen.
Ich mag es nicht, eine Backup-Funktion von SolidWorks Dateien für andere Personen zu erstellen, weil ich als externe Person das Gefühl habe, dass ich im Änderungsmodus nicht in sie eingreifen muss, aber für den Betrieb dieses Programms war ich ein wenig dazu verpflichtet, also arbeiten Sie bitte an Kopien der Dateien und nicht an den Originalen.
Leider erlauben mir die Einschränkungen meiner Organisation nicht mehr, ausführbare Dateien zu verwenden (die erste wurde bestanden, die zweite jedoch nicht)
Also werde ich mich für VBA SW + Aufgabenplaner entscheiden.
Hut ab vor der Arbeit! Ich bin mir sicher, dass es 100% meines Bedarfs erfüllt hätte
Andernfalls gibt es das Integrationstool in mycadtools, das Sie in einem Ordner installieren und starten können, ändern Sie einfach die angehängte Regel.
Und dafür sind keine Programmierkenntnisse notwendig.
Ändern Sie einfach die Bedingung, die ich hier für alle Dokumente vom Typ Gliederung gesetzt habe.
Dann, um den Vorgang hier zu ändern, um den Text einer Notiz durch eine andere Notiz zu ersetzen. Notiz in angehängter Regel gesucht M6x30 Alt-Text M6x30 -8.8
Und Auswahl der Blätter Ich habe alle Blätter ausgewählt.
Sie können es sehr einfach anpassen und diese Regel dann auf eine ganze Datei, auf eine ganze Baugruppe oder ein anderes anwenden, je nach Ihren Bedürfnissen.