| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| EMV Wechselrichtersimulation mit CST Studio Suite® |
Autor
|
Thema: Skalieren (3330 mal gelesen)
|
Sc1ssoR Mitglied Student
Beiträge: 26 Registriert: 11.04.2017 SolidWorks 16 VBA
|
erstellt am: 11. Apr. 2017 15:23 <-- editieren / zitieren --> Unities abgeben:
Hi Leute, bin neu hier und muss euch erstmal danken, dieses Forum hat mir schon jetzt sehr viel geholfen! Nun zu meinem Problem: BTW. Ich nutze Solid Works 2016. zurzeit befinde ich mich in meinem Praxisprojekt welches die Parametrisierung von Ventilgehäusen betrifft. Ein von mir erstelltes Macro soll quasi die Gehäusevorlage nach Normen verändern und den Rest so anpassen damit wenig nacharbeit erforderlich ist. aus den jeweiligen Normen habe ich die Flansch Geometrien und die Wanddicke der Gehäuse. ->also die äußeren Abmaße jetzt soll ich die restliche Geometrie Parametrisierbar machen bzw. soll diese sich den äußeren Abmaßen anpassen, daher der Gedanke mit dem Skalieren. Skalierungsfaktor wäre hierbei der Ist Wert der Nennweite zu dem Soll Wert der Nennweite. Folgendes habe ich schon ausprobiert: -Skalieren über Einfügen->Features->Skalieren dadurch macht mir sw allerdings nur ein neues Feature bzw. die zugrundeliegenden Skizzen werden nicht mit Skaliert. -Skalieren der einzelnen Skizzen über Linien in der Skizze markieren, dann Extras->Skizzieren->Skalieren hier gehen allerdings alle Referenzen die zu den Linien bestehen verloren. -Multiplizieren der Maße mit einem Skalierungsfaktor. da in der Gleichung dann steht D1@Skizze1= D1@Skizze1 * Skalierungsfaktor entsteht eine Zirkelreferenz Folgende Idee habe ich noch weiß aber nicht wie ich sie realisieren kann: -auslesen der Skizzenmaße im Macro, multiplizieren mit einem Skalierungsfaktor und wieder einfügen in sw. ich hoffe ich hab mich einigermaßen gut ausdrücken können. schon mal vorab vielen Dank für die Hilfe
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ralf Tide Moderator -
Beiträge: 4978 Registriert: 06.08.2001 Sehr seltsame Dinge passiern <Klaus Lage - Toy Story> .-)
|
erstellt am: 11. Apr. 2017 16:54 <-- editieren / zitieren --> Unities abgeben: Nur für Sc1ssoR
Hallo Scherenmann, willkommen im Forum. Ein alternativer Ansatz: die Skizzen- und Featuremaße in eine Exceltabelle bringen. Da könntest Du auf einem zweiten Tabellenblatt die Berechnungen mit Skalierung machen und diese dann auf dem ersten Tabellenblatt als weitere Konfiguration eintragen... HTH Ralf ------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Christian_W Ehrenmitglied V.I.P. h.c. Konstrukteur (Dipl-Ing)
Beiträge: 3189 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 11. Apr. 2017 18:35 <-- editieren / zitieren --> Unities abgeben: Nur für Sc1ssoR
Zitat: Original erstellt von Sc1ssoR: ... -Skalieren über Einfügen->Features->Skalieren dadurch macht mir sw allerdings nur ein neues Feature bzw. die zugrundeliegenden Skizzen werden nicht mit skaliert. ...
Hallo, wozu möchtest du die Skizzen denn auch noch skaliert haben? wenn der Ergebniskörper skaliert wird, reicht das doch? Die Wandstärke darf evtl. erst hinterher bestimmt werden, weil du die ja woanders her holst, und ob die skalierten Werte so immer so einfach stimmen halte ich für fraglich ... Ich glaube mit dem Ansatz über Konfigurationen kommst du weiter .... Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThoMay Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 5258 Registriert: 15.04.2007 SWX 2019 Windows 10 x64
|
erstellt am: 11. Apr. 2017 19:47 <-- editieren / zitieren --> Unities abgeben: Nur für Sc1ssoR
|
Sc1ssoR Mitglied Student
Beiträge: 26 Registriert: 11.04.2017 SolidWorks 16 VBA
|
erstellt am: 12. Apr. 2017 14:29 <-- editieren / zitieren --> Unities abgeben:
Hey Ralf, also die Idee die Zirkelreferenz durch die multiplikation in Excel zu umgehen ist schon mal gut nur will ich keine neue Konfiguration erstellen sondern die Vorhandene Vorlage an die neuen Maße anpassen. Könnte ich die Maße der Skizze nicht irgenwie auslesen in mein Macro einfügen dort mit dem Skalierungsfaktor multiplizieren und dann wieder in die Skizze einfügen? Hierbei stellen sich mir jedoch folgende Fragen: -Wie lese ich die Maße einer Skizze aus? Beim Erstellen einer Tabelle der Skizze mit Einfügen->Tabellen->Tabelle...->Automatischerstellen kommt eine Excel Tabelle mit der ich nichts anfangen kann. (siehe Anhang) -Wie füge ich die Maße wieder in die Skizzen ein bzw. funktioniert das einfügen der "D1@Skizze1 = 123" genauso wie das Einfügen von Globalen Variablen mittels sw.EquationMgr.Add 3 ? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 12. Apr. 2017 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für Sc1ssoR
Hallo, das Beispiel "Set Dimensions to Mid-Tolerance Example (VBA)" aus der API-Hilfe könnte dir helfen, wenn es den unbedingt per API passieren muss. Was spricht den gegen die Konfiguration? Weil du kannst im Anschluss nach erfolgreichen erstellen der modifizierten Konfiguration die Tabelle und die Ausgangskonfiguration proplemlos löschen und falls irgendetwas bei der Neuerstellung schief geht hättest du Quasi noch ein Backup. 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 |
Sc1ssoR Mitglied Student
Beiträge: 26 Registriert: 11.04.2017 SolidWorks 16 VBA
|
erstellt am: 12. Apr. 2017 14:49 <-- editieren / zitieren --> Unities abgeben:
@Christian Das endergebnis soll als Vorlage zur weiteren anpassung des strömungskanals dienen, d.h. nachdem mein Macro die Normwerte eingefügt hat und die restlichen Maße sich quasi dementsprechend Skalieren soll händisch in den Skizzen noch Nacharbeit stattfinden also müssen die Skizzen sich mit anpassen. Um die Vorgänge nochmal besser zu verdeutlichen: Schritt 1: Einfügen der neuen Werte in die Globalen Variablen (Flanschgeom. und ges. Länge) ........2: Skalieren der restlichen Maße, sodas alle Features und Skizzen schonmal in die richtige Richtung gehen und alle Features und Skizzen vollständig abgebildet werden und gelößt werden können (Rot markierte Skizzenmaße können nicht geändert werden) ........4: Einfügen der Wanddicken in die Globalen Variablen ........3: Anpassen des Ein- und Ausstrom Kanal's und ggf. verändern der Höhe damit Platz für das verschrauben der Flansche ist. Bislang probiere ich einzelne Maße mittels verhältnissen von ist Länge zu soll Länge zu Skalieren also D1@Skizze1= "Ist Maß der Linie"/"Ist Länge"*"Soll Länge". Dies Funktioniert teilweise gut allerdings kann ich nicht alle Linien, Radien, und Ellipsen so ansprechen und sw gibt bei Großen Längenänderungen eine Komplett fehlerhafte Skizze aus.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 12. Apr. 2017 14:49 <-- editieren / zitieren --> Unities abgeben: Nur für Sc1ssoR
Code: Dim myDimension As ObjectSet myDimension = Part.Parameter("D1@Sketch1") WertAlt = myDimension.SystemValue Skalierfaktor = 2 WertNeu = WertAlt * Skalierfaktor myDimension.SystemValue = WertNeu Part.ClearSelection2 True
Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sc1ssoR Mitglied Student
Beiträge: 26 Registriert: 11.04.2017 SolidWorks 16 VBA
|
erstellt am: 13. Apr. 2017 14:21 <-- editieren / zitieren --> Unities abgeben:
danke Jens das war genau das wonach ich gesucht habe nur funktioniert das nicht so wie gewollt wenn ein verändertes Maß mehrere rote und gelbe (also unlösbare) Maße verursacht werden diese Maße leider nicht mehr bearbeitet. gibts es eine Möglichkeit alle Maße parallel zu ändern? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Sc1ssoR Mitglied Student
Beiträge: 26 Registriert: 11.04.2017 SolidWorks 16 VBA
|
erstellt am: 13. Apr. 2017 14:28 <-- editieren / zitieren --> Unities abgeben:
Hey Bernd, an sich ist das erstellen einer neuen Konfiguration aus dem Skaliertem Feature und dem Löschen der vorherigen ein guter Gedanke, allerdings stellen sich mir noch einige Frage bei der umsetzung: -Würde die neue Konfiguration die selben Gleichungen und Referenzen haben? -Wenn ich mit Einfügen->Tabellen->Tabelle...->Automatisch erstellen eine Konfiguration erstellen will bekomme ich nur die beinhalteten Features in einer Tabelle dargestellt und ob diese unterdrückt sind oder nicht. Wie bekomme ich die einzelnen Skizzenmaße aus dem Skalieren Feature? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 13. Apr. 2017 14:55 <-- editieren / zitieren --> Unities abgeben: Nur für Sc1ssoR
Zitat: Original erstellt von Sc1ssoR: -Würde die neue Konfiguration die selben Gleichungen und Referenzen haben?
Ja. Zitat: -Wenn ich mit Einfügen->Tabellen->Tabelle...->Automatisch erstellen eine Konfiguration erstellen will bekomme ich nur die beinhalteten Features in einer Tabelle dargestellt und ob diese unterdrückt sind oder nicht. Wie bekomme ich die einzelnen Skizzenmaße aus dem Skalieren Feature?
Während das Tabellenfenster im SWX geöffnet ist, einfach auf das Maß oder das Feature doppelklicken, dann wird es in die Tabelle übernommen. Zitat: gibts es eine Möglichkeit alle Maße parallel zu ändern?
Du kannst im Makro einfach alle zu ändernden Maße hintereinander weg ändern. Solange du keine Neuberechnung anstößt, sollte da nichts passieren. Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
bk.sc Ehrenmitglied V.I.P. h.c. Konstrukteur Sondermaschinenbau
Beiträge: 2776 Registriert: 18.07.2012 -Solid Works 2019 SP5 -Pro Engineer WF 3
|
erstellt am: 13. Apr. 2017 15:53 <-- editieren / zitieren --> Unities abgeben: Nur für Sc1ssoR
Hallo, Zitat: Du kannst im Makro einfach alle zu ändernden Maße hintereinander weg ändern. Solange du keine Neuberechnung anstößt, sollte da nichts passieren.
Das würde ich so nicht unterschreiben, weil sobald Kreisbögen und ähnliches vorhanden sind verursachen diese auf Grund der mathematischen Mehrdeutigkeit gerne mal Probleme und "flippen" gerne mal ihre Orrientierung sprich die Bogenlinie geht auf einmal im Uhrzeigersin vom Start zum Endpunkt wo sie doch vorher im Gegenuhrzeigersinn verlief und solche spielchen. 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 |
CAD-Maler Mitglied Konstrukteur / CAD-Admin / Mädchen für alles
Beiträge: 720 Registriert: 17.01.2007 SWX 2019 SP5 AutoCAD 2019 Win 10 pro 64 bit Intel(R) Xeon(R) CPU E5-1650 v4 @ 3.60GHz 64GB RAM Nvidia Quadro M5000 SWx EPDM
|
erstellt am: 13. Apr. 2017 16:19 <-- editieren / zitieren --> Unities abgeben: Nur für Sc1ssoR
Da hast du Recht, Bernd! Ich habe es grad mal getestet, die werden wirklich "live" geändert. Mea culpa... Man könnte die Skizzen-Maße mit einer globalen Variablen verknüpfen und diese Variable per Makro setzen. Dann werden sie definitiv erst nach einem Rebuild durchgerechnet. Gruß, Jens ------------------ CSWA, CSWP, CSWPA-SM =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |