| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| 3DEXPERIENCE Conference 2024 | München, eine Veranstaltung am 17.10.2024
|
Autor
|
Thema: wie in VBA Achse ausblenden? (1203 / mal gelesen)
|
Lueghi Mitglied Admin für alle Systeme ....
Beiträge: 435 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 ERP...: proAlpha 6.2e / 7.1 BS....: Win10, HP ZBook G5
|
erstellt am: 26. Feb. 2019 17:07 <-- editieren / zitieren --> Unities abgeben:
Hallo SolidWorks-Freunde, habe ein Problem an dem ich nicht weiterkomme und hoffe auf das geballte Wissen des WBF's: Ich möchte in einem Makro eine Achse ausblenden. Diese Achse wurde zuvor von meinem Makro erzeugt. Unterdrücken ist kein Problem aber zum AUSBLENDEN habe ich nichts gefunden . In der Hoffnung auf Hilfe ------------------ Gruß Stefan [Diese Nachricht wurde von Lueghi am 08. Sep. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Winston Wolf Mitglied Braucht der Mensch einen Beruf?
Beiträge: 561 Registriert: 12.08.2003 überlegen macht überlegen
|
erstellt am: 26. Feb. 2019 18:20 <-- editieren / zitieren --> Unities abgeben: Nur für Lueghi
In der Hilfe steht, dass es für Ebenen funktioniert: http://help.solidworks.com/2019/english/api/sldworksapi/SOLIDWORKS.Interop.sldworks~SOLIDWORKS.Interop.sldworks.IModelDoc2~BlankRefGeom.htmlMeine Makrorekorderaufzeichnung funktioniert auch: Code: Dim swApp As ObjectDim Part As Object Dim boolstatus As Boolean Dim longstatus As Long, longwarnings As Long Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("Achse1", "AXIS", 6.66986880638183E-03, -6.155007930745E-05, 7.04849632683739E-04, False, 0, Nothing, 0) Part.BlankRefGeom End Sub
Vielleicht geht's ja bei Dir auch jetzt WW ------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lueghi Mitglied Admin für alle Systeme ....
Beiträge: 435 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 ERP...: proAlpha 6.2e / 7.1 BS....: Win10, HP ZBook G5
|
erstellt am: 27. Feb. 2019 08:32 <-- editieren / zitieren --> Unities abgeben:
Danke für die Codezeilen. Ich hatte auch mit dem Makrorecorder versucht das Ausblenden aufzuzeichnen. Allerdings fehlte bei mir im aufgezeichneten Makro die entscheidende Zeile Part.BlankRefGeom Ich hatte beim Aufzeichnen die Achse im Featurebaum selektiert und dann wird das eigentliche Ausblenden wohl nicht mit aufgezeichnet .... . Habe den Test jetzt mit der Selektion im Grafikbereich durchgeführt und dann ist die Zeile auch dabei ... Das sind natürlich Feinheiten die man wissen muss. Jedenfalls komme ich jetzt weiter . Hätte da aber noch eine Anschlussfrage : Wenn ich die Achse im part hinzufüge dann wird das neue Achsenfeature ganz unten im Featurebaum angehangen und ich kann es mit dem Befehl Part.FeatureByPositionReverse(0) sehr einfach selektieren. Im Assembly wird das neue Feature aber vor den Komponenten eingefügt und der oben genannten Befehl liefert das falsche Feature. Kann ich ein Feature auch direkt mit der Feature-ID selektieren? Oder gibt es andere Wege das zuletzt erzeugte Feature zu selektieren? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Winston Wolf Mitglied Braucht der Mensch einen Beruf?
Beiträge: 561 Registriert: 12.08.2003 überlegen macht überlegen
|
erstellt am: 27. Feb. 2019 09:38 <-- editieren / zitieren --> Unities abgeben: Nur für Lueghi
|
Lueghi Mitglied Admin für alle Systeme ....
Beiträge: 435 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 ERP...: proAlpha 6.2e / 7.1 BS....: Win10, HP ZBook G5
|
erstellt am: 27. Feb. 2019 12:08 <-- editieren / zitieren --> Unities abgeben:
|
Winston Wolf Mitglied Braucht der Mensch einen Beruf?
Beiträge: 561 Registriert: 12.08.2003 überlegen macht überlegen
|
erstellt am: 27. Feb. 2019 15:45 <-- editieren / zitieren --> Unities abgeben: Nur für Lueghi
Zitat: Original erstellt von Lueghi: ...eine Achse ausblenden. Diese Achse wurde zuvor von meinem Makro erzeugt. Unterdrücken ist kein Problem...
Ich dachte Du hast den Namen, wenn Du schon unterdrücken kannst Bei mir wird im ET und in der BG die Achse "hinten" angefügt... Hilft Dir aber auch nicht Du könntest vorher alle ID's auslesen und nach dem hinzufügen der Achse die "neue" herausfinden... GetID Method hast Du wahrscheinlich selbst schon gefunden... WW ------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lueghi Mitglied Admin für alle Systeme ....
Beiträge: 435 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 ERP...: proAlpha 6.2e / 7.1 BS....: Win10, HP ZBook G5
|
erstellt am: 27. Feb. 2019 16:21 <-- editieren / zitieren --> Unities abgeben:
In meiner Zusatzfrage (im Beitrag oben) hatte ich doch erläutert wie ich im ET die Achse selektiere. Und deshalb ja meine Frage, da bei mir in der BG die Achse nicht ganz unten sondern VOR den Komponenten (es sind schon Komponenten vorhanden!) eingefügt wird. Ich merke mir schon die höchste FeatureID und mein neues Feature (die neue Achse) hat dann als FeatureID = maxFeatureID +1. Aber mit der ID alleine kann ich das Feature nicht direkt selektieren (um den Namen und die Position im Featurebaum zu ändern). Da bin ich noch auf der Suche ... Natürlich kann ich den Featurebaum erneut durchsuchen und herausfinden welche ID neu ist. Hatte gehofft es gäbe dazu eine elegantere Lösung ... ------------------ Gruß Stefan Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2795 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 28. Feb. 2019 13:12 <-- editieren / zitieren --> Unities abgeben: Nur für Lueghi
Hallo Stefan, spricht etwas dagegen direkt nach dem erzeugen der Achse diese gleich auszublenden? Weil wenn du die Achse erstellst ist sie automatisch selektiert und du kannst direkt
Code: swModelDoc.BlankRefGeom
abfeuern. Gruß Bernd ------------------ --- Man muß nicht alles wissen, man muß nur wissen wo es steht --- Staatlich anerkannte Deutschniete Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Lueghi Mitglied Admin für alle Systeme ....
Beiträge: 435 Registriert: 01.07.2005 CAD...: SWX2022 SP5, ACAD 2019, Tacton / LINO PDM...: PRO.FILE 8.6 ERP...: proAlpha 6.2e / 7.1 BS....: Win10, HP ZBook G5
|
erstellt am: 28. Feb. 2019 17:17 <-- editieren / zitieren --> Unities abgeben:
Da habe ich wohl zu kompliziert gedacht ... dachte ich müsste das neue Feature zuerst wieder selektieren. Werde ich ausprobieren, danke. ------------------ Gruß Stefan [Diese Nachricht wurde von Lueghi am 08. Sep. 2020 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |