Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  API: Gewicht auslesen ohne SolidWorks

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
SPS
Autor Thema:  API: Gewicht auslesen ohne SolidWorks (2628 mal gelesen)
freak-tom
Mitglied
PDM-/CAD-Admin


Sehen Sie sich das Profil von freak-tom an!   Senden Sie eine Private Message an freak-tom  Schreiben Sie einen Gästebucheintrag für freak-tom

Beiträge: 347
Registriert: 07.03.2006

Productstream Professional Pro 2011 / Jobserver / Replikator
Productstream Professional Office 2011
Productstream Professional Pro 2010 / Jobserver / Replikator
Productstream Professional Office 2010
Inventor Suite 2011
Solid Works 2011

erstellt am: 04. Jul. 2011 16:02    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

kann man per SolidWorks API irgendwie das Gewicht eines Teiles auslesen und in eine Datei schreiben ohne SolidWorks dafür zu öffnen?
Also ähnlich wie Referenzen rausschreiben mit der Interop.SwDocumentMgr.dll?

Gibt es hierfür vielleicht schon fertige Programme?

MfG
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

GWS
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



Sehen Sie sich das Profil von GWS an!   Senden Sie eine Private Message an GWS  Schreiben Sie einen Gästebucheintrag für GWS

Beiträge: 2401
Registriert: 23.07.2001

Nach drei Jahren Inventor wieder zurück zu SolidWorks: SWX 23 SP4, PDM Professionell.

erstellt am: 04. Jul. 2011 16:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für freak-tom 10 Unities + Antwort hilfreich

Hallo Thomas!

Und wenn du zu Laufzeiten von SWXSolidWorks eine Dokumenteneigenschaft mit dem Gewicht verknüpfst?  (geht wunderbar als Voreinstellung im Template) Die könntest du vermutlich ohne größere Probleme wieder auslesen. Wenn dein Argument ist, dass du bereits einen größeren Teilebestand hast, würde ich dir vorschlagen, in den sauren Apfel zu beißen und diese Eigenschaft per Batchjob einmal nach zu rüsten.

Das könnte weniger Aufwand sein, als das Gewicht erst im Bedarfsfalle rauszufummeln...

Grüße Günter

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

freak-tom
Mitglied
PDM-/CAD-Admin


Sehen Sie sich das Profil von freak-tom an!   Senden Sie eine Private Message an freak-tom  Schreiben Sie einen Gästebucheintrag für freak-tom

Beiträge: 347
Registriert: 07.03.2006

Productstream Professional Pro 2011 / Jobserver / Replikator
Productstream Professional Office 2011
Productstream Professional Pro 2010 / Jobserver / Replikator
Productstream Professional Office 2010
Inventor Suite 2011
Solid Works 2011

erstellt am: 04. Jul. 2011 19:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Günter,

das habe ich bereits drin, das kann ich auch auslesen allerdings habe ich an dieser Stelle keine Info um welche Gewichtseinheit es sich handelt da nur der Wert drin steht ohne Einheit.

MfG
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 813
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 05. Jul. 2011 07:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für freak-tom 10 Unities + Antwort hilfreich

Hallo Thomas

Dafür gibt es den Befehl "GetMassProperties Method (ISwDMConfiguration)"

Damit kriegst du die Infos, auch ohne dass du sie als Dokumenteigenschaft einstellst.

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Oberli Mike
Ehrenmitglied V.I.P. h.c.
Dipl. Maschinen Ing.



Sehen Sie sich das Profil von Oberli Mike an!   Senden Sie eine Private Message an Oberli Mike  Schreiben Sie einen Gästebucheintrag für Oberli Mike

Beiträge: 3814
Registriert: 29.09.2004

SOLIDWORKS 2024 SP1.0
SOLIDWORKS 2023 SP5.0
SOLIDWORKS 2022 SP5.0
SOLIDWORKS 2021 SP5.1
SOLIDWORKS 2020 SP5
SOLIDWORKS 2019 SP5 (VM)

erstellt am: 05. Jul. 2011 07:44    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für freak-tom 10 Unities + Antwort hilfreich

Ev. solltest du auch gleich das Material auslesen, damit du siehst ob das Material definiert wurde.

------------------

The Power Of Dreams

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

freak-tom
Mitglied
PDM-/CAD-Admin


Sehen Sie sich das Profil von freak-tom an!   Senden Sie eine Private Message an freak-tom  Schreiben Sie einen Gästebucheintrag für freak-tom

Beiträge: 347
Registriert: 07.03.2006

Productstream Professional Pro 2011 / Jobserver / Replikator
Productstream Professional Office 2011
Productstream Professional Pro 2010 / Jobserver / Replikator
Productstream Professional Office 2010
Inventor Suite 2011
Solid Works 2011

erstellt am: 05. Jul. 2011 07:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Andreas,

kann ich diese Methode auch anwenden ohne das Dokument im SolidWorks zu öffnen?

Mit öffnen der Datei bekomme ich das Gewicht raus ohne nicht.

MfG
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

HenryV
Mitglied
Konstrukteur, Engineering


Sehen Sie sich das Profil von HenryV an!   Senden Sie eine Private Message an HenryV  Schreiben Sie einen Gästebucheintrag für HenryV

Beiträge: 813
Registriert: 18.05.2005

SolidWorks 2022 x64 SP5.0
Dell Precision 5820
Intel Xeon W-2125 4x4GHz
NVIDIA Quadro P2000 5GB
32GB RAM
2x Dell U2412M, 24" TFT
Windows 10 Enterprise x64 22H2
Microsoft 365 E5
Microsoft Visual Studio Enterprise 2022

erstellt am: 05. Jul. 2011 08:27    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für freak-tom 10 Unities + Antwort hilfreich

Hallo Thomas

Klar geht das.
In der API Hilfe gibt es für den SwDocumentMgr das Beispiel "Get Configuration Information Example (VB.NET)".
Da wir schon ziemlich viel herausgelesen.

Wenn man den Code an folgender Stelle

Code:
For Each vCfgName In vCfgNameArr
  swCfg = swCfgMgr.GetConfigurationByName(vCfgName)

  Debug.Print("  " & vCfgName)
  Debug.Print("    Description                              = " & swCfg.Description)
  Debug.Print("    ParentCfgName                            = " & swCfg.GetParentConfigurationName)
  Debug.Print("    LastUpdateStamp                          = " & swCfg.GetLastUpdateStamp)
  Debug.Print("    Type as defined in swDmConfigurationType = " & swCfg.type)
  Debug.Print("")

  ProcessConfigCustomProperties(swCfg)
Next



so ergänzet
Code:
Dim bRet As SwDmMassPropError
Dim value As Double()

For Each vCfgName In vCfgNameArr
  swCfg = swCfgMgr.GetConfigurationByName(vCfgName)

  value = CType(swCfg.GetMassProperties(bRet), Double())

  Debug.Print("  " & vCfgName)
  Debug.Print("    Description                              = " & swCfg.Description)
  Debug.Print("    ParentCfgName                            = " & swCfg.GetParentConfigurationName)
  Debug.Print("    LastUpdateStamp                          = " & swCfg.GetLastUpdateStamp)
  Debug.Print("    Type as defined in swDmConfigurationType = " & swCfg.type)

  Debug.Print("Center of mass  = " & value(0) & "m," & value(1) & "m," & value(2) & "m")
  Debug.Print("Volume          = " & value(3) & "m^3")
  Debug.Print("Surface area    = " & value(4) & "m^2")
  Debug.Print("Mass            = " & value(5) & "kg")
  Debug.Print("momXX          = " & value(6) & "kg")
  Debug.Print("momYY          = " & value(7) & "kg")
  Debug.Print("momZZ          = " & value(8) & "kg")
  Debug.Print("momXY          = " & value(9) & "kg")
  Debug.Print("momZX          = " & value(10) & "kg")
  Debug.Print("momYZ          = " & value(11) & "kg")
  Debug.Print("Include hidden  = " & value(12))

  Debug.Print("")

  ProcessConfigCustomProperties(swCfg)
Next


bekommt man auch noch den Rest raus.

Gruss Andreas

------------------
21 ist nur die halbe Antwort.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



Sehen Sie sich das Profil von StefanBerlitz an!   Senden Sie eine Private Message an StefanBerlitz  Schreiben Sie einen Gästebucheintrag für StefanBerlitz

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: 05. Jul. 2011 08:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für freak-tom 10 Unities + Antwort hilfreich

Hallo zusammen,

was spricht gegen SwDMConfiguration::GetMassProperties, ist Teil der SoldiWorks Document Manager API seit 2004. Da muss man aber Vorsicht walten lassen, denn es könnte sein, dass ein Anwender in SolidWorks die Option unter "Systemoptionen/Leistung/Masseneigenschaften beim Speichern des Dokuments aktualisieren" nicht gesetzt hat, dann können die Masseeigenschaften nicht aktuell sein; das würde man aber über die oben genannte Funktion als Fehlerflag zurückbekommen (swDmMassPropErrorNoData)

[Edit]Boah, viiiiel zu langsam, ich sollte nicht den Beitrag schon anfangen zu schreiben und dann was anderes machen  Zumindest der Hinweis auf die nicht aktuelle Masse ist neu  [/Edit]

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de
Stefans SolidWorks Blog

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

freak-tom
Mitglied
PDM-/CAD-Admin


Sehen Sie sich das Profil von freak-tom an!   Senden Sie eine Private Message an freak-tom  Schreiben Sie einen Gästebucheintrag für freak-tom

Beiträge: 347
Registriert: 07.03.2006

Productstream Professional Pro 2011 / Jobserver / Replikator
Productstream Professional Office 2011
Productstream Professional Pro 2010 / Jobserver / Replikator
Productstream Professional Office 2010
Inventor Suite 2011
Solid Works 2011

erstellt am: 05. Jul. 2011 10:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Zusammen,

danke für die schnelle Hilfe werde ich gleich mal ausprobieren, nachdem ich herausgefunden habe wie ich das in ein Programm rein bringe :-)
bin noch ziemlich unerfahren in diesem Punkt.

MfG
Thomas

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz