Hallo zusammen,
ich komme leider mit einer grundsätzlichen Aufgabe in Solidworks (2017, 2022) nicht weiter und möchte Euch um Unterstützung bitten:
Es geht um die direkte Zuweisung von Feature-Werten aus einer Hauptbaugruppe an seine Komponentenbaugruppen. Ich habe dazu ein kleines Beispiel hinterlegt, das das Setup mit zwei Bildern beschreibt. Die Erläuterung dazu:
- Es gibt ein Assy "Gelenk", mit dem Feature "LimitWinkel1", das den Gelenkwinkel zwischen 0 und 360 Grad einstellen läßt (Bild 1).
- Dieses Gelenk gibt es in mehreren Konfigurationen, die jedoch alle dieses Feature unterstützen. Der Unterschied liegt nur in den Ein- und Ausgängen des Gelenks (axial, radial, usw.)
- Das Gelenk ist in der Hauptbaugruppe (Bild 2) 3 mal verbaut: Einmal (G1) mit der Konfiguration "radial" und 2 mal (G2, G3) mit der Konfiguration "axial".
- Die Hauptbaugruppe besitzt Gleichungen, die die Unterbaugruppen steuern sollen:
... für G1: "D1@LimitWinkel1@Gelenk<1>.Assembly"
... für G2: "D1@LimitWinkel1@Gelenk<2>.Assembly"
... für G3: "D1@LimitWinkel1@Gelenk<3>.Assembly"
(<1>..<3> sind die Instanzen der Komponenten)
Das Problem: Man kann es am Bild 2 erkennen: Alle Winkel stehen auf dem Wert 30Grad, was der Zuweisung zu G3 entspricht! Die Zuweisung zu G1 und G2 läuft ins Leere.
Feststellungen:
- Es findet offensichtlich so keine spezifische Zuweisung zu einer Instanz statt, sondern nur zu der Baugruppendatei selbst (ModelDoc2).
- Ich habe zur Untersuchung auch die API - Programmierung bemüht und die Baugruppenkomponenten (Component2-Instanzen) herausgesucht und darin die Werte direkt geändert. Vorher habe ich natürlich die Gleichungen entfernt, so daß keine Zwangsbeziehungen zu Werten mehr vorhanden waren. Dabei ist mir augefallen, daß ich für jede Konfiguration des Gelenks einen unterschiedlichen Wert programmieren kann, der sich auch auswirkt. Leider fand ich auch hier keine Lösung für eine unterschiedliche Zuweisung zu G2 und G3, die ja die gleiche Konfiguration verwenden.
- Werden alle Gleichungen aus der Hauptbaugruppe entfernt und in SolidWorks die gelben Skalen der Gelenke mit der Maus bewegt, lassen sich schon unterschiedliche Winkel einstellen, die auch nach dem Speichern, Schließen und erneutem Öffnen der Baugruppe erhalten bleiben. Man kann das auch visualisieren mit einer Gleichung wie z.B. "Angle2" = "D1@LimitWinkel1@Gelenk<2>.Assembly". Die zeigt den manuell eingestellten Winkel an. Wenn man allerdings über die API nachschaut, erhält man nur den Wert zurück, der in der Komponentendatei definiert ist.
Fragen:
- API: Wo werden die Werte innerhalb der Baugruppe für die Unterbaugruppenkomponenten gespeichert?
Im Assembly (ModelDoc2) finde ich nichts. Die Unterkomponenten zeigen nur den Wert der der Datei.
Mit der Transformation2 bin ich auch nicht weitergekommen
- SW-Bedienung: Wie kann man die Winkelposition der Gelenke mit numerisch festlegen, damit die Winkel auch exakt sind?
Eine Lösung wäre die Verfielfältigung der Komponentendatei Gelenk. Das will ich aber vermeiden.
Entschuldigt bitte en ewig langen Text. Ich hoffe, ich konnte das Problem verständlich schildern
Gruß
Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP