| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| FMB, eine Veranstaltung am 05.11.2024
|
Autor
|
Thema: Gewicht mit Einheit in Baugruppe (2389 / mal gelesen)
|
Knoeti Mitglied Techniker
Beiträge: 222 Registriert: 20.08.2010 SOLIDWORKS 2019 SP5 Teamcenter 12 paint.net 4.0.10
|
erstellt am: 05. Nov. 2019 11:31 <-- editieren / zitieren --> Unities abgeben:
Moin zusammen, ich benutze ein Makro, dass mir bei Bauteilen das Gewicht mit Einheit in die Eigenschaften schreibt und je nach Gewicht das ganze in gramm oder kilogramm umrechrechnet. Dieses Makro funktioniert leider nur für Bauteile, ist es möglich das Makro so anzupassen, dass man es auch für Baugruppen nutzen kann? ------------------ Mit freundlichen Grüßen Guido Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ThoMay Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 5260 Registriert: 15.04.2007 SWX 2019 Windows 10 x64
|
erstellt am: 05. Nov. 2019 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für Knoeti
|
Knoeti Mitglied Techniker
Beiträge: 222 Registriert: 20.08.2010 SOLIDWORKS 2019 SP5 Teamcenter 12 paint.net 4.0.10
|
erstellt am: 05. Nov. 2019 17:40 <-- editieren / zitieren --> Unities abgeben:
Moin ThoMay, ich muss gestehen, dass ich nicht wirklich viel Ahnung von Makros/programmieren habe, aber aus eigenem Interesse werde ich mich mal mit der SWX API und VBA auseinandersetzen. Ich habe aber eine kleine Frage vorweg: Kann man nich auch direkt die SWX interne Variable für Masse auslesen ohne das sie in den Eigenschaften steht? ------------------ Mit freundlichen Grüßen Guido Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Andi Beck Ehrenmitglied V.I.P. h.c. Konstrukteur
Beiträge: 2580 Registriert: 02.10.2006 Firma: SW 2024-3.1 + PDM Prof. Windows 10 Pro 64bit, i9-11900 32 GbRAM, Quadro P2200 Home: SW 2023-5.0 Passungstabelle von Heinz Windows 11 Pro 64bit, i7-12700K, 32 GbRAM, GeForce GTX 1050Ti Samsung C34H892, 3440x1440 Pixel
|
erstellt am: 05. Nov. 2019 20:24 <-- editieren / zitieren --> Unities abgeben: Nur für Knoeti
Zitat: Original erstellt von Knoeti:
Kann man nich auch direkt die SWX interne Variable für Masse auslesen ohne das sie in den Eigenschaften steht?
Hallo, das geht schon. Schau dir mal diesen Code-Schnipsel an. Code:
Dim swApp As SldWorks.SldWorks Dim swModel As SldWorks.ModelDoc2 Dim MassProp As Variant 'zum Gewicht auslesen Dim Masse As Double 'GewichtSet swApp = Application.SldWorks Set swModel = swApp.ActiveDoc 'und die MassProperties auslesen und Gewicht ermitteln MassProp = swModel.GetMassProperties() 'die Reihenfolge der MassProps im Variant ist: 'CenterOfMassX, CenterOfMassY, CenterOfMassZ, Volume, Area, Mass, MomXX, MomYY, MomZZ, MomXY, MomZX, MomYZ 'Masse ist die 6. Eigenschaft, also Index 5 If Not IsEmpty(MassProp) Then Masse = Round(MassProp(5), 3) End If
Viel Spaß beim rumprobieren. Grüße, Andi ------------------ Hast du kein Problem? Such dir eins. ( Und löse es ) 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: 3256 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 06. Nov. 2019 08:25 <-- editieren / zitieren --> Unities abgeben: Nur für Knoeti
Hallo, es gibt noch eine weitere Zugriffsmöglichkeit, wo man dann auch abfragen kann, ob der Wert ein überschriebener ist.
Code:
dim oMassProp as object set oMassProp = swModelDoc.Extension.createMassProperty debug.print oMassProp.mass debug.print oMassProp.OverrideMass
Gruß, Christian Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ckoring Mitglied Ingenieur
Beiträge: 229 Registriert: 09.06.2009 Fujitsu CELSIUS M740 Intel Xeon E5-1620v4 32 GB RAM Nvidia Quadro P4000 Windows 10 Pro SolidWorks 2017 SP4.1 DBWorks R16 SP1.7
|
erstellt am: 06. Nov. 2019 14:30 <-- editieren / zitieren --> Unities abgeben: Nur für Knoeti
Hallo, ich möchte noch einen kurzen Hinweis geben. Ich verwende eine Gleichung um die Nachkommastellen je nach Gewicht zu reduzieren. Unter 1 kg drei Nachkommastellen, unter 50 kg eine und alles darüber ohne Nachkommastelle. Das ganze wird dann in eine neue Eigenschaft geschrieben und bei jedem Neuaufbau automatisch aktualisiert. Mit einem Makro wird es nur aktualisiert wenn ich es aufrufe! mfg Christian 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: 3256 Registriert: 04.04.2001 CSWP 12/2015<P>SWX2021sp5 Win10/11 (SWX2016, SWX2012) proAlpha6.2e00/calinkV9 (Tactonworks) (Medusa7, NesCAD2010, solidEdge19)
|
erstellt am: 07. Nov. 2019 08:17 <-- editieren / zitieren --> Unities abgeben: Nur für Knoeti
Zitat: Original erstellt von ckoring: ... Mit einem Makro wird es nur aktualisiert wenn ich es aufrufe!
Hallo Namensvetter, guter Einwand, dafür müsste man es sonst als Makrofeature einbinden … Gruß, Christian
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |