| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| SolidCAM Professor Videos | Tipps & Tricks (SolidCAM) |
Autor
|
Thema: Globale Variable in Basisteil (1962 mal gelesen)
|
Hendrik Wiese Mitglied Student
Beiträge: 16 Registriert: 24.01.2014 Solidworks 2013 SP5
|
erstellt am: 02. Feb. 2014 12:30 <-- editieren / zitieren --> Unities abgeben:
Hi Leute, ich habe sechs Basisteile, die in einer großen Anzahl weiterer Teile Verwendung finden (durch "Teil einfügen..."). Ich würde gerne ein Maß, das in allen Basisteilen gleich sein soll, in einer Variable definieren, sodass eine Änderung dieser Variablen nicht nur in allen Basis-, sondern auch in allen abgeleiteten Teilen und allen Baugruppen simultan aktualisiert wird. Geht sowas? Oder muss ich das Maß händisch in allen Basisteilen ändern? Danke! Viele Grüße, Hendrik Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Press play on tape Ehrenmitglied Konstrukteur und sonst nix!
Beiträge: 1945 Registriert: 30.04.2007 Creo Elements Direct Modeling 17
|
erstellt am: 02. Feb. 2014 19:20 <-- editieren / zitieren --> Unities abgeben: Nur für Hendrik Wiese
Hallo Hendrik, Deine Frage ist interessant, allerdings bedenke hierbei ganz stark das Aktualisierungsverhalten dieser komplexen Logik. Auch ob das noch jemand versteht bei eventuellen Änderungen an einem Basisteil und oder einer vom Basisteil Abhängigen Komponente. Eine Änderung wirkt sich ja unter Umständen auf sehr viel Teile aus, die aktualisiert werden sollten sowie die Zeichnung sollte auch aktualisiert werden. Zwei Ideen zur Umsetzung habe ich, allerdings überlasse ich Dir dabei das testen ob es wirklich funktioniert sowie welche Variante praktikabler ist. Mein Favorit, externe Konfigurationstabelle hier der link zur online Hilfe. Dabei beachten dass der Haken "Verknüpfung zu Datei" gesetzt ist. Zweite Variante, baue Deine Basisteile in eine Baugruppe ein und erstelle ein Master Basisteil das die Globalen variablen enthält dazu. Nutze externe Referenzen in Deinen Basisteilen. Meiner Ansicht nach sollten beide Varianten funktionieren, beide gefallen mir dabei auch ganz gut. Ob es noch eine Möglichkeit gibt weis ich nicht aber hab schon öfter festgestellt dass ich nicht alle Möglichkeiten kenne. Aber Bitte wenn Du diesen Schritt gehen willst denke wirklich über die Komplexität nach und vor allem über das aktualisieren. Nach einer Änderung eines Deiner Globalen Parametern sind das dann unheimlich viele Dateien immer Teil und Zeichnung. gruß Heiko ------------------ ----- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
clownfisch Mitglied industrial designer
Beiträge: 752 Registriert: 18.01.2006 SWX 2023 und davor Intel XEON W-2125 4,0 GHz 16,00 GB RAM nvidia Quadro RTX 4000 Windows 10 Prof. für Workstation Windows 10 Prof
|
erstellt am: 02. Feb. 2014 21:32 <-- editieren / zitieren --> Unities abgeben: Nur für Hendrik Wiese
Hallo Hendrik, theoretisch und praktisch geht es auf jeden Fall, in jedes Deiner Basisteile ein "Ur"-Basisteil einzufügen, welches diese globale Variable z.B. in einer Skizze enthält. Dafür musst Du in alle 6 Basisteile einmal dieses neue Teil einfügen und die Variable steht überall zur Verfügung. Das habe ich selbst schon angewendet (bei mir geht es aber meistens um Geometrie und nicht um Variablen, daher kommen Aktualisierungen eher selten vor). Wenn man weiß und kommuniziert, wie diese Struktur funktioniert, lassen sich auch die Aktualisierungen in größeren Baugruppen zuverlässig handhaben. Viele Grüße Andreas Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hendrik Wiese Mitglied Student
Beiträge: 16 Registriert: 24.01.2014 Solidworks 2013 SP5
|
erstellt am: 02. Feb. 2014 22:28 <-- editieren / zitieren --> Unities abgeben:
Das hört sich sehr gut an. Und da es sich "lediglich" um die Konstruktion für eine Bachelor Thesis handelt, an der außer mir ohnehin wohl niemand sonst arbeitet, kann ich das auch so machen. So übermäßig viele Teile sind es dann doch nicht. Das war auch einer der Aspekte, die uns unser Konstruktionsprofessor beigebogen hat: Teilsparsamkeit. Je mehr Teile, umso komplizierter wird es, das Produkt zu montieren. Darauf habe ich Wert gelegt, andererseits aber auch auf das dafür vorgesehene Fertigungsverfahren des FFF-Drucks - also pro Teil eine möglichst große plane Fläche zu haben, auf der die restliche Struktur vertikal stehen kann. Das alles nur nebenbei... TL;DR: Die Sache mit dem Basis-Basisteil klingt vielversprechend, der Vorschlag mit der Konfigurationsdatei auch. Ich werde mir beide Varianten mal angucken und entscheiden, welche praktikabler für mich ist. Ich danke euch! //edit: ich probiere es gerade folgendermaßen. Das Ur-Basisteil beinhaltet ausschließlich eine Skizze, lediglich bestehend aus einem Rechteck, das voll bemaßt ist. Ich will die zwei Kantenlängen als einstellbare Werte in den Basisteilen wiederverwenden. Dann verfahre ich so: 1. alle Basisteile + das Ur-Basisteil in eine Baugruppe einfügen 2. in der Baugruppe mit aktivierten externen Referenzen globale Variablen anlegen 3. die globalen Variablen auf die zwei benötigten Maße im Ur-Basisteil verweisen lassen 4. in den einzelnen Basisteilen die entsprechenden Maße auf die globalen Variablen in der Baugruppe verweisen lassen Das funktioniert auch ganz gut. Das einzige Problem: bei dem 3. von 6 Teilen benötigt das Öffnen und Schließen des Dialogfensters "Gleichungen" schon geschlagene 3 Minuten. auf einem Core i7-3770k mit 16GB RAM. Und es wird mit jedem Teil schlimmer. Was dauert denn da so lange? Ich habe lediglich die Baugruppe mit den 6 Basisteilen + 1 Ur-Basisteil geöffnet. Mehr ist nicht offen. Dennoch braucht SW ewig. Zuerst hatte ich probiert, das Ur-Basisteil mittels "Teil einfügen..." in die Basisteile einzufügen und die Maße dort ab zu greifen. Aber ich habe dort anscheinend keinen Zugriff auf die Maße... jedenfalls sehe ich sie nirgends. Ich werde jetzt noch die Variante mit der Konfigurationsdatei ausprobieren. [Diese Nachricht wurde von Hendrik Wiese am 03. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hendrik Wiese Mitglied Student
Beiträge: 16 Registriert: 24.01.2014 Solidworks 2013 SP5
|
erstellt am: 03. Feb. 2014 07:54 <-- editieren / zitieren --> Unities abgeben:
Da auch die Variante der Konfigurationsdateien nicht sauber funktioniert hat, weil ich keine stabile Verbindung zu Excel herstellen konnte (keine Ahnung, weshalb... angeblich "zu wenig Speicher" oder "die Serveranwendung konnte nicht gestartet werden"), nutze ich jetzt Variante 3: direkte Verlinkung von Werten. Im Ur-Basisteil habe ich eine Skizze mit dem Namen "values" und zwei Bemaßungen mit den Namen "horizontal" und "vertical". In den Basisteilen gebe ich bei den Bemaßungen Gleichungen an wie Code:
= "vertical@values@UrBasis.SDLPRT"
und Code:
= "horizontal@values@UrBasis.SDLPRT"
Ich muss das Ur-Basisteil beim Wiederaufbau eines Teils oder einer Baugruppe offen haben, damit das funktioniert. Aber wie gesagt, erstens arbeite ohnehin nur ich daran und zweitens, falls doch noch wer anderes dabei gehen sollte, kann man den Workflow so ja kommunizieren. Ein Problem damit habe ich in einem explizit dafür neu geöffneten Thread behandelt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Press play on tape Ehrenmitglied Konstrukteur und sonst nix!
Beiträge: 1945 Registriert: 30.04.2007 Creo Elements Direct Modeling 17
|
erstellt am: 03. Feb. 2014 08:26 <-- editieren / zitieren --> Unities abgeben: Nur für Hendrik Wiese
|
Press play on tape Ehrenmitglied Konstrukteur und sonst nix!
Beiträge: 1945 Registriert: 30.04.2007 Creo Elements Direct Modeling 17
|
erstellt am: 03. Feb. 2014 09:39 <-- editieren / zitieren --> Unities abgeben: Nur für Hendrik Wiese
Hallo Hendrik, so ganz kapiert habe ich noch nicht wie Du letzten endes Deine Basisteile mit dem Urbasisteil referenziert hast. Geht das nun ausschließlich über Gleichungen oder hast Du in der Baugruppe die Skizzen der Basisteile auf das Urbasisteil referenziert? Allgemein weil Du im anderen Thread von der Ampel geschrieben hast, benutze mal STRG-Q anstatt der Ampel, spätestens damit sollte es gehen. Den Unterschied zwischen Ampel (STRG-B) und STRG-Q findest Du in der Onlinehilfe hier ganz oben beschrieben. gruß Heiko ------------------ ----- Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Hendrik Wiese Mitglied Student
Beiträge: 16 Registriert: 24.01.2014 Solidworks 2013 SP5
|
erstellt am: 03. Feb. 2014 20:49 <-- editieren / zitieren --> Unities abgeben:
|