Autor
|
Thema: Drafting Optionen per makro ändern ? (1562 / mal gelesen)
|
Zorgan Mitglied
Beiträge: 11 Registriert: 12.07.2017 CATIA V5 6r2019 SP3 Hot Fix 5 Hot Fix 18
|
erstellt am: 12. Jul. 2017 13:31 <-- editieren / zitieren --> Unities abgeben:
Hallo Programmierer ! Kann man per Makro eine Darfting Option ändern? Ich möchte gerne mit einem Makro zwischen Drafting \ Bemaßung \ Standardmäßig werden Kreise bemaßt: Mittelpunkt oder Kante umschalten. Gibt es da eine Möglichkeit? Das Optionsregister habe ich als catvbs exportiert. Leider kann ich nicht mit dem Visual Basic Editor explizit diese eine Funktion ansprechen. Vorab schon danke für die Antworten!!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 12. Jul. 2017 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Zorgan
Servus Willkommen im Forum. Da der Makrorekorder oder der Export nichts aufzeichnet vermute dass dies nicht per Makro geht. Du kannst ja aber vor dem "Absetzten" des Maßes des Ankerpunkt der Bemaßung ändern (STRG + Ankerpunkt verschieben (Gelbe Raute)) Gruß Bernd
------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 12. Jul. 2017 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für Zorgan
Hallo, getestet mit R21. Sub CATMain() Dim oSettControllers As SettingControllers Dim oSettRep As SettingController Set oSettControllers = CATIA.SettingControllers Set oSettRep = oSettControllers.Item("DraftingOptions") oSettRep.PutAttr ("DimCircle"), 1 oSettRep.Commit End Sub Mögliche Werte oSettRep.PutAttr ("DimCircle"), 0 = Center/Mittelpunkt oSettRep.PutAttr ("DimCircle"), 1 = Edge/Kante Gruß Randle Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zorgan Mitglied
Beiträge: 11 Registriert: 12.07.2017
|
erstellt am: 13. Jul. 2017 04:08 <-- editieren / zitieren --> Unities abgeben:
|
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 14. Jul. 2017 13:27 <-- editieren / zitieren --> Unities abgeben: Nur für Zorgan
Hallo, ich wurde per PM gefragt wo ich den Attrbibutnamen her habe. Da das auch für andere von Interesse sein könnte/dürfte antworte ich mal hier: Einfach mal "Setting Controller Automation Objects" in die Suche der V5Automation.chm eingeben. Im Ergebnis dann den Eintrag: "Setting Controller Reference" auswählen. In dem in diesem Thread angesprochen Fall habe ich, da ich keinen Bock auf diese Schnitzeljagd hatte, die Einstellungen zweimal als CATScript exportiert (jeweils mit den geänderten Einstellungen Circle/Edge) und dann einen Textvergleich der beiden Dateien gemacht. Wenn notwendig kann man dann nach den entsprechenden Keywords in der Hilfe suchen (Achtung hier gibt es Unterschiede ja nach Release, empfehle die Doku für/ab R24, die meisten Dinge greifen auch für ältere Releases). Hoffe das hilft dem ein oder anderen. Gruß Randle Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bgrittmann Moderator Konstrukteur
Beiträge: 11780 Registriert: 30.11.2006 CATIA V5R19
|
erstellt am: 14. Jul. 2017 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für Zorgan
Servus Kleiner Ergänzung: Falls in der Doku nichts zu finden ist, oder der Export als CATScript nichts ausgibt: in den XML-Exportdateien der Setting findet man die Attributnamen auch. Gruß Bernd ------------------ Warum einfach, wenn es auch kompliziert geht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Zorgan Mitglied
Beiträge: 11 Registriert: 12.07.2017
|
erstellt am: 19. Jul. 2017 16:43 <-- editieren / zitieren --> Unities abgeben:
Hallo ! Hier das Ergebnis , in VBA ! Sub CATMain() Dim oSettControllers As SettingControllers Dim oSettRep As SettingController ' Mögliche Werte ' oSetRep.PuttAttr ("DimCircle"), 0 = Mittelpunkt ' oSetRep.PuttAttr ("DimCircle"), 1 = Kante Set oSettControllers = CATIA.SettingControllers Set oSettRep = oSettControllers.Item("DraftingOptions") Input2 = InputBox("Bitte wählen sie die Bemaßungsart." & Chr(13) & Chr(10) & "Mittelpunkt = 0" & Chr(13) & Chr(10) & "Kante = 1", "Umschaltsystem") Select Case Input2 Case "0" oSettRep.PutAttr ("DimCircle"), 0 Case "1" oSettRep.PutAttr ("DimCircle"), 1 End Select MsgBox "Bemaßungssystem wurde umgestellt", 64, makroname + " " + version End Sub Noch einmal Danke für Eure Hilfe !!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Randle Mitglied CAD/PLM Consultant
Beiträge: 695 Registriert: 12.04.2003 Win10 x64 CATIA V5 R18, R19, R21, R27-29
|
erstellt am: 20. Jul. 2017 07:38 <-- editieren / zitieren --> Unities abgeben: Nur für Zorgan
Hallo, schön das es geklappt hat. Ich würde aber die Settings noch nach dem Select Case Block "committen" (oSettRep.Commit). Auch wenn es hier vielleicht geht würde ich mir das mit dem "committen" angewöhnen da es Einstellungen/Fälle gibt die erst nach einem erneuten CATIA Start greifen. Gruß Randle [Diese Nachricht wurde von Randle am 20. Jul. 2017 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |