| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Nahe an industriellen Realbedingungen |
Autor
|
Thema: Material oder Dichte meheren Parts einer Assembly zuweisen (5993 mal gelesen)
|
Evox Mitglied
Beiträge: 23 Registriert: 03.07.2012 Solidworks 2012 Win7 64 Bit Core i5 @ 3,4gHz 12 GB DDR3
|
erstellt am: 03. Jul. 2012 18:08 <-- editieren / zitieren --> Unities abgeben:
N'abend zusammen nachdem ich mich nun inzwischen dumm und dämlich gesucht hab, frag ich nun mal direkt hier nach. Ich hab folgendes Problem: Ich haber eine importierte Assembly, sprich es sind keine Materialien oder Dichten mehr eingetragen. Aber ich brauch unbedingt die korrekten Massen und Trägheitsmomente. Und alles einzeln, von Hand eintragen wäre extrem mühsam. bisher Gefundenes: MaterialProperties - Density (Stefan Berlitz) Excelbooster (V7.1 geht, V8.0 nicht) (Andreas Müller) MaterialProperties (keine Ahnung von wem das ist) alle 3 Tools funktioniern immer nur bei einzelnen Parts. und wenn...dann hab ich noch nicht herausgefunden "wie". Was ich suche ist: Assembly öffnen Mehrere Parts "markieren" oder in Excel als Tabelle listen und dort dann Material oder Dichte angeben, für meherere gleichzeitig. Sprich bei 20 Schrauben will ich allen 20 jeweils Stahl zuweisen, aber ohne jedes einzelne durchzuarbeiten. Etwas Kenntnis in VBA hätt ich auch...nur noch nie in SW gebraucht. Hoffe mal mir weiß jmd. einen Weg... Schönen feierabend noch Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 04. Jul. 2012 09:01 <-- editieren / zitieren --> Unities abgeben: Nur für Evox
Hallo Evox, Zitat: Original erstellt von Evox: bisher Gefundenes: [...] alle 3 Tools funktioniern immer nur bei einzelnen Parts.[...] Etwas Kenntnis in VBA hätt ich auch...nur noch nie in SW gebraucht.
Dann würde ich auf die Schnelle folgendes vorschlagen: du erweiterst eines der Makros, die für ein einzelnes Dokument funktionieren so, dass es die Datei auch speichert (also am Ende einfach ein swDoc.Save oder Save3 anhängen). Dann lädst du dir das PAC4SWX herunter, stellst dieses Makro als Makrojob ein, listest alle Dokumente in die PAC-Liste und drückst auf den Knopf zum Ausführen des Benutzermakros. PAC4SWX läuft 30 Tage lang ohne jede Einschränkung mit vollem Funktionsumfang und ist genau für solche Einmal-Aktionen als Helfer in der Not gedacht. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 04. Jul. 2012 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für Evox
Da fällt mir gerade ein, es geht auch mit Bordmitteln: selektier in der Baugruppe im Featurebaum alle Komponenten, klick dann eines davon mit der rechten Maustaste an und setze ein neues Material für alle selktieten Komponenten. Das soltle noch viel einfacher sein und ist nur mit Bordmitteln zu machen. Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Evox Mitglied
Beiträge: 23 Registriert: 03.07.2012 Solidworks 2012 Win7 64 Bit Core i5 @ 3,4gHz 12 GB DDR3
|
erstellt am: 04. Jul. 2012 09:32 <-- editieren / zitieren --> Unities abgeben:
Danke für deine Antwort, das mit dem Material zuweisen per Boardmittel, geht in 2007 nicht? Zumindest finde ich den Kontextmenu-Eintrag nicht. Bei einzelnen Parts gibt den unter: Rechtsklick auf das Part -> Erscheinungsbild -> Material selektier ich nun mehrere Parts, dann gibt es den Materialeintrag nichtmehr Ich werd mal die Idee mit PAC4SWX versuchen..vll klappts ja dann auf dem Weg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Evox Mitglied
Beiträge: 23 Registriert: 03.07.2012 Solidworks 2012 Win7 64 Bit Core i5 @ 3,4gHz 12 GB DDR3
|
erstellt am: 04. Jul. 2012 09:49 <-- editieren / zitieren --> Unities abgeben:
Hab grad noch eine Idee die vll einfacher ist. Den Excel Booster V7.1 um einen Button erweitern, der mir die ganzen Pfad dann der reihe nach abarbeitet jeweils immer Datei öffnen, speichern, schließen, für jedes einzelne Part. Mal schauen wie weit ich komm...Hab bisher noch nicht mit VB Programmübergreifend arbeiten müssen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Robert Hess Ehrenmitglied V.I.P. h.c. Maschinenbautechniker
Beiträge: 2533 Registriert: 16.06.2000 Dell Precision M6800, 16 GB RAM, nVidia Quadro K4100 - 4 GB SolidWorks 2015 - SP5, SW2016 - SP2 SWX seit 1998
|
erstellt am: 04. Jul. 2012 23:02 <-- editieren / zitieren --> Unities abgeben: Nur für Evox
Hallo Stefan, der Tipp ist nicht ganz ungefährlich, weil das Material dabei nur für die aktuelle Konfig der Parts vergeben wird und nicht für alle Konfigs. Das wird zumindest in der Regel gewollt sein. Außer man arbeitet mit Artikelvarianten und das ist ja meist die Ausnahme im Maschinenbau. MFG Robert Hess ------------------ "Wir haben doch keine Zeit". Doch. Die muß man sich manchmal nehmen um Vorwärts zu kommen. 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: 05. Jul. 2012 05:28 <-- editieren / zitieren --> Unities abgeben: Nur für Evox
|
Evox Mitglied
Beiträge: 23 Registriert: 03.07.2012 Solidworks 2012 Win7 64 Bit Core i5 @ 3,4gHz 12 GB DDR3
|
erstellt am: 05. Jul. 2012 15:49 <-- editieren / zitieren --> Unities abgeben:
Die Materialzuweisung für mehrere Parts gleichzeitig, geht auch bei einer nicht-importierten Assembly nicht. Liegt dann also nicht an der "importiererei"... Wobei mich das in dem Fall auch nicht weiterbringen würde, wenns bei "normalen" Assemblys im SW 2007 funktionieren würde.. Echt schade, dass man erst "so spät" an so wichtige Features denkt :/ Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Krümmel Moderator Konstrukteur mit rotierter Vergangenheit
Beiträge: 6238 Registriert: 14.09.2008 Was mit SWX so alles geht ;-)
|
erstellt am: 05. Jul. 2012 17:21 <-- editieren / zitieren --> Unities abgeben: Nur für Evox
Hallo, mir fällt da eine Möglichkeit ein , nicht die bequemste aber immerhin Selektiere alle Parts die gleiches Material bekommen sollen und eröffne mit ihnen eine neue Unterbaugruppe. Die Unterbaugruppe speicherst Du dann als Part ab und vergibst das Material. Anschließend erzeugst Du in Deiner Baugruppe eine Konfiguration in die Du die als Part gespeicherten Unterbaugruppen wieder einbaust. Grüße Andreas
------------------ Stillstand ist Rückschritt Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 06. Jul. 2012 07:39 <-- editieren / zitieren --> Unities abgeben: Nur für Evox
Zitat: Original erstellt von Evox: Echt schade, dass man erst "so spät" an so wichtige Features denkt :/
Echt schade, dass man mit einer so alten Version arbeiten muss, in der so "wichtige" Features noch nicht vorhanden sind ... ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Evox Mitglied
Beiträge: 23 Registriert: 03.07.2012 Solidworks 2012 Win7 64 Bit Core i5 @ 3,4gHz 12 GB DDR3
|
erstellt am: 06. Jul. 2012 08:53 <-- editieren / zitieren --> Unities abgeben:
Ja, auch wieder wahr...wenn ihr wüsstet was das hier für ein PC ist...ihr würdet durchdrehen. Bin hier zum Glück nur während meines Praxissemesters. Aber da war ich selber schwer erstaunt, dass in einem Weltkonzern an solchen Sachen wie aktuellem CAD und aktuellem Workstation PC gespart wird...echt schwach! 2,5ghz Dualcore mit XP 32bit...ich glaub den rest spar ich mir euch zu sagen^^ Hab nun die Excel soweit erweitert dass es automatisch durch 1 Knopfdruck durchläuft..allerdings klappt es noch nicht 100%...da muss ich nochmal ein bisschen ran. Aber es wird =) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Evox Mitglied
Beiträge: 23 Registriert: 03.07.2012 Solidworks 2012 Win7 64 Bit Core i5 @ 3,4gHz 12 GB DDR3
|
erstellt am: 09. Jul. 2012 08:05 <-- editieren / zitieren --> Unities abgeben:
okay, es klappt nun fast...aber nicht 100%ig... Ich Trage das Material per ExcelSheet ein, die Userform ist Vorausgefüllt und wird dann automatisiert bei einem Part nach dem anderen eingetragen. Nur nach etwa 110-120 Durchläufen (Parts in der Liste) kommt eine Fehlermeldung und der Code steigt aus. Laudzeitfehler "-2147023170 (800706be)": Automatisierungsfehler Der Remoteprozeduraufruf ist fehlgeschlagen Und mein Solidworks ist dann geschlossen. Sprich aus irgend einem Grund schließt er mir SW und kann dann nichtmehr darauf zugreifen und steigt aus. Der gesamte Code läuft nun so ab: Er listet mir SW Parts aus dem aktuellen Assembly auf, rastert diese ab und trägt immer ein bestimmtes Material ein. Die Parts werden dann im SW geöffnet, gespeichert, geschlossen, eins nach dem anderen. Hab das Ganze nun auf 2 von einander unabhängige Subs aufgeteilt in: "Material eintragen" und "Öffnen, speichern, schließen" also in 2 seperaten CmdButtons. Aber trotzdem steigt er dann schon beim Material eintragen aus. Obwohl er dort keinerlei Zugriff auf irgendwelche schließen Befehle für SW hat. D.h. der schließen Befehl kommt wohl von der Debug-Error Meldung im VBA. Aber ich weiß nicht warum oder woher das kommt. Der Ram wird auch nur auf max.1,5GB von 4 gefüllt... Eine nicht so elegante Lösung wäre nun die Anzahl der Listeneintrage die auf einen Durchgang abgearbeitet werden auf 100 zu beschränken...aber das will ich eigenlich nicht machen.. edit/ hab das File mal angehängt, dürfte ja kein Problem sein da die 7.1 "open source" ist, wenn ich das richtig verstanden hab. Falls doch, dann nehm ichs eben wieder raus.... Und der Weg über Sendkeys ist auch nicht schön um SW anzusprechen, aber ich hab den dreh noch nicht wie ich SW auf einem passenden Weg die öffnen,speichern,schließen Befehle geben kann. [Diese Nachricht wurde von Evox am 09. Jul. 2012 editiert.] [Diese Nachricht wurde von Evox am 09. Jul. 2012 editiert.] [Diese Nachricht wurde von Evox am 09. Jul. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |