Hallo
Ich verwende SW2016 und habe meine Grundkarten geändert.
Ich möchte ein Makro erstellen, um meine Grundkarte automatisch zu aktualisieren.
Ist es möglich? Wenn ja, haben Sie eine Idee zum Code?
Vielen Dank im Voraus
Fred
Hallo
Ich verwende SW2016 und habe meine Grundkarten geändert.
Ich möchte ein Makro erstellen, um meine Grundkarte automatisch zu aktualisieren.
Ist es möglich? Wenn ja, haben Sie eine Idee zum Code?
Vielen Dank im Voraus
Fred
Kein Code erforderlich.
Ich musste das Gleiche tun.
Führen Sie also ein Makro aus. (Durch Klicken auf Play)
Klicken Sie mit der rechten Maustaste auf den unteren Rand des MEP, um die verschiedenen Grundkarten anzuzeigen.
Entweder wählen Sie die neue Grundkarte aus, wenn sie anders ist, oder wenn der Name identisch ist, klicken Sie auf "Neu laden"
Schließen Sie Ihr Makro mit der Stopp-Taste und Sie sind fertig
Machen Sie das Gleiche für Ihre verschiedenen Formate: a3, a4 usw.
Hallo
Bei der Anpassung (Pfad und Name der Grundkarten) ändert das angehängte Makro bei Bedarf die Grundkarten jedes Blattes.
Hoppla, duplizieren
@Bart
Es ist nicht großartig, da das Makro die Skala und andere Informationen speichert, die nicht dynamisch sind, sodass es nicht abgespielt wird.
Und mit dem Wissen ist es möglich, Makros zu erstellen, die die Dateien automatisch durchsuchen, um sie zu aktualisieren.
Zum Beispiel habe ich kürzlich ein Makro erstellt (relativ komplex, das):
- Aktualisiert Grundkarten
- Aktualisiert die Verbandsstandards
- Aktualisiert Blöcke (Pfaderkennung und Blockersetzung)
- Ablösung unserer Revisionstabellen
- Änderung der Optionen.
All dies wird in Excel verwaltet (Solidworks wird daher von Excel gesteuert) und ich kann Berichte über Aktualisierungen erstellen. Ich kann das Makro für einen Ordner ausführen und es aktualisiert alle Pläne in den Unterordnern.
Aber der Nachteil ist, dass es Zeit braucht, aber wenn man rechnet, bei unseren 900 Plänen zum Update habe ich viel Zeit gespart.
Vielen Dank für Ihre Antworten.
Leider kann ich keine Ergebnisse erzielen....
Wenn ich den Befehl "reload" in den Eigenschaften des Plans manuell ausführe, funktioniert es, aber wenn ich denselben Manip in einem Makro speichere, passiert nichts...
Da sich meine Grundkartennamen nicht geändert haben, als ich sie geändert habe, muss ich "nur" den Befehl "reload" ausführen, ohne etwas anderes zu ändern. Ist dieser Befehl eigenständig vorhanden, ohne dass alle anderen Eigenschaften des Plans (z. B. Skalierung) überprüft werden müssen?
Vielen Dank für Ihre Hilfe, denn ich gebe zu, dass Programmieren nicht meine große Spezialität ist....
Ja, es existiert, ist aber nicht registriert:p
Sie müssen Ihr Blatt abrufen und die Funktion "ReloadTemplate" verwenden, die für einen Typ "SldWorks.Sheet" gilt
Ein kleines Makro zum Aktualisieren der Grundkarte, um sie anzupassen.
Dim swApp als SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim swDraw As SldWorks.DrawingDoc
Dim swSheet als SldWorks.Sheet
Dim swView As SldWorks.View
Dim vSheetProps als Variante
Festlegen von swModel = swApp.ActiveDoc
Festlegen von swDraw = swModel
Legen Sie swSheet = swDraw.GetCurrentSheet fest
vSheetProps = swSheet.GetProperties
Größe als Zeichenfolge dimmen
Wenn vSheetProps(0) = 6, dann
'6 = A4 Querformat
templateFormat="A4 - QUERFORMAT. SLDDRT" '''Hier müssen wir das "A4 - QUERFORMAT. SLDDRT und die anderen mit Ihren eigenen Vorlagennamen
Größe = "A4H"
ElseIf vSheetProps(0) = 7 dann
'7 = A4 Hochformat
templateFormat = "A4 - HOCHFORMAT. SLDDRT"
Größe = "A4"
ElseIf vSheetProps(0) = 8, dann
'8 = A3 Querformat
templateFormat="A3. SLDDRT"
Größe = "A3"
ElseIf vSheetProps(0) = 9 dann
'9 = A2 Querformat
templateFormat = "A2. SLDDRT"
Größe = "A2"
ElseIf vSheetProps(0) = 10 dann
'10 = A1 Querformat
templateFormat = "A1. SLDDRT"
Größe = "A1"
ElseIf vSheetProps(0) = 11 dann
'11 = A0 Querformat
templateFormat = "A0. SLDDRT"
Größe = "A0"
Endif
boolstatus = swModel.SetupSheet5( _
swSheet.GetName, _
vSheetProps(0), _
vSheetProps(1), _
vSheetProps(2), _
vSheetProps(3), _
STIMMT_
templateFormat _
vSheetProps(5), _
vSheetProps(6), _
"Standardmäßig ", _
STIMMT_
)
swSheet.ReloadTemplate Falsch
Sie können dies dann in eine Schleife einfügen und alle Blätter/Dateien in einem Ordner durchgehen und so weiter.
PS: In lynkoa wäre es wirklich schön, Code-Tags zu haben... Denn es ist wirklich nicht einfach, es zu teilen.
Hallo
@fgauvreau ich in Ihrem Profil sehe, dass Sie MyCadServices haben, haben Sie also die MyCadTools-Tools und das Integrationstool können Ihre Anfrage erfüllen und vieles mehr.
@+
Vielen Dank an alle!
KVuillemier: Der Befehl "swSheet.ReloadTemplate False" fehlte einfach im Makro von Cyril.F.
Wenn Sie es hinzufügen, funktioniert es hervorragend.
Danke auch an Coyote für den Vorschlag. Ich hatte dieses mächtige Werkzeug noch nie erforscht.
Wenn die Antwort Ihr Problem gelöst hat, können Sie angeben, dass das Problem dadurch gelöst wurde.