| | | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS | | | | HEDELIUS Hausmesse 2024 |
Autor
|
Thema: Makro: Koordinatensysteme / Ursprünge verknüpfen (1841 mal gelesen)
|
API-Fabi Mitglied CAD/PLM Admin
Beiträge: 56 Registriert: 23.11.2015 SOLIDWORKS 2020 SP5 Windows 10 SAP-PLM Interface (CAD-Desktop)
|
erstellt am: 08. Dez. 2015 10:16 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen! Ich möchte zwei Ursprünge miteinander verknüpfen. Die Punkte werden richtig ausgewählt, aber die Verknüpfung wird nicht erzeugt. Ich habe schon rumprobiert, aufgezeichnet... Komisch ist, dass der aufgezeichnete Code ebenfalls nur die Punkte auswählt, aber nicht verknüpft: ----- Sub main() Set swApp = _ Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("Point1@U@Spindel-1@Maschine ", "EXTSKETCHPOINT", 0, 0, 0, True, 1, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Point1@Ursprung@T03-1@Maschine ", "EXTSKETCHPOINT", 0, 0, 0, True, 1, Nothing, 0) Dim myMate As Object Set myMate = Part.AddMate4(20, -1, False, 0, 0, 0, 0, 0, 0, 0, 0, False, False, longstatus) Part.ClearSelection2 True Part.EditRebuild3 End Sub ----- Weiß jemand, wo hier der Wurm steckt? ------------------ Geht nicht, gibt's nicht! ;-) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 08. Dez. 2015 14:08 <-- editieren / zitieren --> Unities abgeben: Nur für API-Fabi
Hi Fabi, hier zeichnet der Macro-Recorder mal wieder falsch auf! Der 1. Parameter "MateTypeFromEnum" muss 0 sein, wenn du das deckungsgleich haben willst. 0 = swMateCOINCIDENT (ohne Achsenausrichtung) 20 = swMateCOINCIDENT (mit Achsenausrichtung, funktioniert offenbar nicht) --> Immer schön die F1-Taste drücken ------------------ Klaus www.al-ko.com | mein Gästebuch [Diese Nachricht wurde von KMassler am 08. Dez. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
API-Fabi Mitglied CAD/PLM Admin
Beiträge: 56 Registriert: 23.11.2015 SOLIDWORKS 2020 SP5 Windows 10 SAP-PLM Interface (CAD-Desktop)
|
erstellt am: 08. Dez. 2015 14:32 <-- editieren / zitieren --> Unities abgeben:
Ja, das habe ich auch schon ausprobiert. Die Verknüpfung wird erzeugt, aber nicht so, wie ich es will. Die Achsen werden so nicht ausgerichtet. In der Hilfe finde ich keinen Hinweis, wie ich das Häkchen "Achsen ausrichten" setzen kann. Bisher gehe ich den Weg dass ich es dann noch zusätzlich über Ebenen parallel verknüpfe. Das ist ja aber eigentlich unnötig, wenn es anders geht. ------------------ Gruß Fabi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nahe Ehrenmitglied
Beiträge: 1747 Registriert: 18.01.2001 arbeite mit: Dell Precision 7750 i7 2,6 GHz 6 Kerne 32GB RAM 512GB SSD NVIDIA Quadro RTX 4000 ------------------------ SWX-2020 SP5.0 EPDM ---------------- Windows 10 ---------------- VB.net VB VBA ein wenig Swift am Mac
|
erstellt am: 09. Dez. 2015 10:25 <-- editieren / zitieren --> Unities abgeben: Nur für API-Fabi
Hallo also bei mir (SWX2015 SP5) funktioniert das mit 20 bzw. 0 (wie von Klaus beschrieben) Hast Du schon mal geprüft, ob die Koordinatensysteme in den Teilen auch wirklich so sind wie Du sie erwartest bzw. wenn Du die zwei Varianten ausführst, ob der Haken 1x gesetzt und 1x nicht gesetzt ist? ' Achsen ausrichten Sub main() Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("Point1@Ursprung@KGH00000299-1@Baugruppe1", "EXTSKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Point1@Ursprung@Teil1-1@Baugruppe1", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0) Dim myMate As Object Set myMate = Part.AddMate4(20, -1, False, 0, 0, 0, 0, 0, 0, 0, 0, False, False, longstatus) Part.ClearSelection2 True Part.EditRebuild3 End Sub ' Achsen nicht ausrichten Sub main1()
Set swApp = Application.SldWorks Set Part = swApp.ActiveDoc boolstatus = Part.Extension.SelectByID2("Point1@Ursprung@KGH00000299-1@Baugruppe1", "EXTSKETCHPOINT", 0, 0, 0, False, 0, Nothing, 0) boolstatus = Part.Extension.SelectByID2("Point1@Ursprung@Teil1-1@Baugruppe1", "EXTSKETCHPOINT", 0, 0, 0, True, 0, Nothing, 0) Dim myMate As Object Set myMate = Part.AddMate4(0, -1, False, 0, 0, 0, 0, 0, 0, 0, 0, False, False, longstatus) Part.ClearSelection2 True Part.EditRebuild3 End Sub ------------------ Grüße Heinz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
dopplerm Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 3592 Registriert: 11.02.2005 Win 10 SWX 2019 SP 5.0
|
erstellt am: 09. Dez. 2015 12:09 <-- editieren / zitieren --> Unities abgeben: Nur für API-Fabi
mal eine blöde Frage, ladest du die Teile händisch rein, oder per Makro? bei ersteren, könntest die Positionierung ja auch gleich ohne Makro nach deinem Wunsch vornehmen, einfach anstelle des Klicks ins Bild, einfach das Häckchen nehmen... lg Martin ps: ich nehme zwar an, das du die Teile per Makro lädst, aber besser einmal mehr fragen ------------------ ich spiel noch immer gern mit Bauklötzen, nur sind sie jetzt teurer Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
KMassler Ehrenmitglied V.I.P. h.c. CAD Admin + Mädchen für Alles...
Beiträge: 2675 Registriert: 06.11.2000 SolidWorks Start 1999 ** CSWP 01/2008 ** ------------------ Zuletzt beruflich: - SWX2020 SP5; - SAP/PLM+ECTR; - DriveWorks Pro; - Programmierung: VBA, aktuell Visual Studio 2022/VB.Net ------------------ ab 2024 (privat): Onshape und anderes
|
erstellt am: 09. Dez. 2015 12:11 <-- editieren / zitieren --> Unities abgeben: Nur für API-Fabi
|
API-Fabi Mitglied CAD/PLM Admin
Beiträge: 56 Registriert: 23.11.2015 SOLIDWORKS 2020 SP5 Windows 10 SAP-PLM Interface (CAD-Desktop)
|
erstellt am: 09. Dez. 2015 12:35 <-- editieren / zitieren --> Unities abgeben:
Ich lade die Teile mit dem Makro rein. Deshalb wäre es ja wünschenswert... Mit SWX2014 funktioniert das auch nicht... Das heißt wohl es wird mal Zeit für ein Update ------------------ Gruß Fabi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|