Die sogenannten In-Kontext-Features (also Features, die erst in einer Baugruppe erzeugt werden) sind mächtige Funktionen, die aber auch die ein oder andere Tücke haben. |
Eine der wesentlichen Einschränkungen, die der User unbedingt kennen sollte, taucht im Zusammenspiel von In-Kontext-Features, Unterbaugruppen und deren Konfigurationen auf. Hier kann es passieren, dass die In-Kontext-Features (bzw. die Teile) nicht den erwarteten Volumenkörper anzeigen. Dieser KnowHow Artikel soll helfen diese Einschränkung zu verstehen.
Update für SolidWorks 2004
Ab der Version SolidWorks 2004 wird diese Beschränkung aufgehoben. Lesen Sie dazu bitte die entsprechenden Passagen im "Was ist neu" Handbuch und der Online-Dokumentation durch. Bis diese Version weiträumig im produktiven Einsatz ist bleiben die folgenden Erklärungen aber weiterhin wichtig.
Unser Ausgangsmodell ist eine einfache Baugruppe namens sub, die aus zwei Teilen zyl1 (dem gelben Teil) und zyl2 (dem blauen Teil) besteht. Der Durchmesser des Zylinders zyl2 ist im Baugruppenzusammenhang als Offset mit 5 mm von zyl1 übernommen worden.
So weit, so klar und einfach. Interessant wird das Ganze nun, wenn ein solches In-Kontext-Feature konfigurationsabhängig aktualisiert werden muss. Dazu erzeugen wir von zyl1 zwei Konfigurationen Dia50und Dia100 die sich nur dadurch unterscheiden, dass sich der Durchmesser entsprechend ändert.
Auch jetzt ist das alles noch kein Problem, Sie können in der Baugruppe die Konfiguration der Komponente zyl1 umschalten und das Teil zyl2 ändert seinerseits den Durchmesser wie erwartet. Für die Baugruppe ist das allerdings unpraktisch, da wir hier im Moment noch nur die Standardkonfiguration haben. Also gehen wir noch eine Stufe weiter und erzeugen auch für die Baugruppe sub die dazu passenden Konfigurationen Sub50 und Sub100.
Sie sehen, dass in der Konfiguration Sub50 auch die passende Konfiguration Dia50 von zyl1 eingesetzt wird, wodurch sich der Durchmesser von zyl2 entsprechend anpasst.
Dies funktioniert analog auch für den Durchmesser 100. Wir können in der Baugruppe sub ohne Schwierigkeiten zwischen den beiden Konfigurationen hin- und herschalten und bekommen das erwartete Ergebnis.
Wenn diese Baugruppe mehrfach in die nächst höhere Ebene eingebaut wird und diese verschiedenen Instanzen unterschiedliche Konfigurationen benutzen kommt die angesprochene Einschränkung zu tragen. Hört sich kompliziert an, das Beispiel verdeutlicht dies jedoch auf einfache Weise.
Die Baugruppe sub wird nun zweimal in der nächst höheren Ebene in die Baugruppe main eingebaut, einmal in der Konfiguration Sub100 und einmal als Sub50. Jetzt können Sie sehen, dass in beiden Instanzen das Teil zyl1 jeweils den richtigen, erwarteten Durchmesser hat, der zyl2 aber in beiden Instanzen gleich groß ist, was er ja eigentlich nicht sein sollte.
Diese Einschränkung macht sich deswegen bemerkbar, weil es im Arbeitsspeicher des Rechners immer nur eine "aktive" Konfiguration eines Teils oder Baugruppe gibt. Das In-Kontext-Feature arbeitet nicht konfigurationsabhängig, sondern bezieht sich immer auf diese "aktive" Konfiguration. Wenn also die sub auf die Konfiguration Sub100 gestellt wird ändert sich das zyl2 auf den passenden Wert dazu, und zwar in beiden Instanzen.
Genau andersherum passiert es, wenn die aktive Konfiguration auf Sub50 geändert wird, dann ist in main in beiden verschiedenen Instanzen trotzdem derselbe Zustand für zyl2 zu sehen, in dem Fall dann der Kleinere.
Vorneweg: dieses Verhalten lässt sich nicht ändern, aber es kann zumindest eine Erklärung gefunden werden und es ist wichtig zu versuchen zu verstehen, warum das so ist, um in ähnlichen Fällen nicht zu verzweifeln.
Der Hauptgrund, warum dieses Verhalten auftaucht, liegt in der Art und Weise, wie SolidWorks mit den Körpern für die Teile/Baugruppen verfährt. Wenn ein Teil (Dokument) durch mehrere verschiedene Volumenkörper dargestellt wird, braucht SolidWorks einen Platz, in dem die Daten für diesen sogenannten Body abgelegt und wieder ausgelesen werden können. Wenn Sie jetzt für diese verschiedenen Körper einzelne Konfigurationen erstellen (was üblicherweise ja der Fall ist, wie z.B. bei zyl1) kann SolidWorks die zu jedem einzelnen Volumenkörper gehörenden Informationen in der jeweiligen Konfiguration des Dokumentes speichern.
Wenn Sie jedoch ein Teil mit In-Kontext-Features erstellen, das durch die verschiedenen Formen in einer Baugruppe definiert wird, haben Sie üblicherweise keine Konfigurationen dafür in Ihrem Teil (wie hier im Beispiel bei zyl2). In einem solchen Fall haben Sie ein Teil, das verschiedene Körper darstellen müsste, je nachdem wie es in der Baugruppe aufgelöst wird, aber nur eine Konfiguration, um die Daten auch abzulegen. SolidWorks hat bisher leider noch keine Möglichkeit solche im Kontext benötigten und erzeugten Volumenkörper mit in der Konfiguration des Einzelteils zu speichern; jeder Body muss sich unanhängig im Teiledokument selbst generieren können.
Hinzu kommt, dass SolidWorks nicht die Möglichkeit hat mehrere Versionen einer Unterbaugruppe im Speicher geöffnet zu halten um die verschiedenen Bodys zu generieren. Deswegen wird zur Darstellung des Bodys von Teilen mit In-Kontext-Features immer der Körper benutzt, der von der Baugruppe gerade im Speicher aktiv ist, in der das Teil erzeugt wurde. Dies ist dann die als Aktuelle oder zuletzt gespeicherte Konfiguration bekannte Konfiguration.
Beachten Sie bitte, dass Sie ähnliche Verhaltensweisen beobachten können, wenn Sie Teile haben, die durch Gleichungen im Baugruppenzusammenhang gesteuert werden.
Kritik und Anregungen bitte an Stefan Berlitz. Letzte Änderung dieser Seite am Donnerstag, 01. Februar 2007 17:40 |