Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Zugewiesene Masseneigenschaften in Baugruppe per API setzen

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
Autor Thema:  Zugewiesene Masseneigenschaften in Baugruppe per API setzen (883 mal gelesen)
MKuehner
Mitglied



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

Beiträge: 10
Registriert: 16.10.2006

SolidWorks 2006 SP01
Windows 2000

erstellt am: 13. Nov. 2006 11: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 Leute!

Ich möchte bei importierten Baugruppen die Masseneigenschaften via Makro setzen. Bei Einzelteilen (PART) funktioniert das auch prima, nur bei Baugruppen versagt scheinbar die API Funktion. Auch ein aufgezeichnetes Makro funktioniert nicht. Weiß jemand Rat?


Code:
Dim swApp As Object
Dim Part As Object
Dim SelMgr As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim Feature As Object
Sub main()

Set swApp = Application.SldWorks

Set Part = swApp.ActiveDoc
Set SelMgr = Part.SelectionManager
swApp.ActiveDoc.ActiveView.FrameState = 1
boolstatus = Part.Extension.CreateMassProperty.SetAssignedMassProp(70.47, 0.2066550628926, 0.01819243865049, 0.007945965011094, 1, Empty)
Part.Save2 False
End Sub


SolidWorks 2006 SP01
Windows 2000

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1384
Registriert: 20.12.2003

SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000

erstellt am: 13. Nov. 2006 12:45    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 MKuehner 10 Unities + Antwort hilfreich

Hallo,

das Eigengewicht einer Baugruppe ergibt sich doch aus den Gewichten
der Einzelteile. Daher macht es doch keinen Sinn, dieser Baugruppe
eine Masseneigenschaft zuzuweisen oder bin ich da jetzt auf dem
Holzweg     

Gruß
Andreas

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

MKuehner
Mitglied



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

Beiträge: 10
Registriert: 16.10.2006

SolidWorks 2006 SP01
Windows 2000

erstellt am: 13. Nov. 2006 12: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

Mir geht es hier um importierte Baugruppen (Kaufteile).
Deren Gewicht ist ja im Katalog angegeben und kann nicht berechnet werden, da die Gewichte (Materialien) der Einzelteile nicht bekannt sind. Außerdem sind diese Modelle meist stark vereinfacht. Damit das Gewicht in übergeordneten Baugruppen richtig ausgewertet wird möchte ich es eben manuell zuweisen und nicht berechnen lassen.
Der Weg über das Menü-->Extras-->Masseigenschaften funktioniert auch tadellos, nur mit einem Makro geht's dann nicht.

MfG, Mario

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

u.clemens
Mitglied
Konstrukteur


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

Beiträge: 964
Registriert: 04.07.2000

engineer's law
o cheap
o fast
o good
check only two !

erstellt am: 13. Nov. 2006 13:18    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 MKuehner 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von ad_man:
...oder bin ich da jetzt auf dem
Holzweg 


im Prinzip hast du recht, aber neuerdings geht es eben tatsächlich, einer Baugruppe ein fixes Gewicht zuzuweisen - und das erwähnte Beispiel ist eine Anwendung, wo dies durchaus nützlich ist.
Ein andere Anwendung: du kannst Baugruppen vereinfachen (Schrauben und so'n Kleinkrams raus) und kanst diese vereinfachte Baugruppe dann dennoch mit dem korrekten Gewicht weiterverarbeiten ...

------------------
mfg uc

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

u.clemens
Mitglied
Konstrukteur


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

Beiträge: 964
Registriert: 04.07.2000

engineer's law
o cheap
o fast
o good
check only two !

erstellt am: 13. Nov. 2006 13:38    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 MKuehner 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von MKuehner:
... bei Baugruppen versagt scheinbar die API Funktion. Auch ein aufgezeichnetes Makro funktioniert nicht.

was funktioniert denn nicht ?
Ich hab's gerade mal getestet.
Makro aufgezeichnet, Baugruppe importiert, Makro losgelassen - alles o.k.
Mein aufgezeichnetes Makro sieht auf den ersten Blick - in den wesentlichen Punkten - nicht anders aus, als deins.

------------------
mfg uc

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

MKuehner
Mitglied



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

Beiträge: 10
Registriert: 16.10.2006

SolidWorks 2006 SP01
Windows 2000

erstellt am: 13. Nov. 2006 14:33    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

Danke u.clemens für das Testen.

Bei mir wird da einfach nichts gesetzt.
Im Einzelschrittmodus stelle ich fest das die Funktion

Code:
boolstatus = Part.Extension.CreateMassProperty.SetAssignedMassProp(70.47, 0.2066550628926, 0.01819243865049, 0.007945965011094, 1, Empty)

FALSE zurückgibt.

Computer sind eben auch nur Menschen.

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

u.clemens
Mitglied
Konstrukteur


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

Beiträge: 964
Registriert: 04.07.2000

engineer's law
o cheap
o fast
o good
check only two !

erstellt am: 13. Nov. 2006 15:01    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 MKuehner 10 Unities + Antwort hilfreich

schwer zu sagen !
Am besten du stellst die BG mal hier zur Verfügung ...

------------------
mfg uc

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

Piet
Mitglied
Konstruktionsleiter & Konstrukteur


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

Beiträge: 661
Registriert: 20.11.2001

SWx 2021

erstellt am: 13. Nov. 2006 15:13    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 MKuehner 10 Unities + Antwort hilfreich

Ich hab in der API-Hilfe mal eben folgende Seite gefunden (unter Beispiele für CreateMassProperties):

Get Mass Properties using MassProperty Object Example (VB)
This example show how to get the mass properties of an assembly. It is assumed that a document named claw_mechanism.sldasm is open.
'---------------------------------------------
Option Explicit

Sub main()

Dim swApp As SldWorks.SldWorks
Dim Part As SldWorks.ModelDoc2
Dim comp As Component2
Dim compbody(0) As body2
Dim val As Double
Dim params As Variant
Dim mass As SldWorks.MassProperty
Dim pos As MathPoint
Dim vec As MathVector
Dim boolstatus As Boolean

Set swApp = Application.SldWorks
Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("collar-1@claw-mechanism", "COMPONENT", 0, 0, 0, False, 0, Nothing, swSelectOptionDefault)

Set comp = Part.SelectionManager.GetSelectedObject6(1, 0)
Set compbody(0) = comp.GetBody

Set mass = Part.Extension.CreateMassProperty

boolstatus = mass.AddBodies((compbody))

mass.UseSystemUnits = False

val = mass.mass
val = mass.Volume
val = mass.Density
val = mass.SurfaceArea
params = mass.CenterOfMass
params = mass.PrincipleAxesOfInertia(0)
params = mass.PrincipleAxesOfInertia(1)
params = mass.PrincipleAxesOfInertia(2)
params = mass.PrincipleMomentsOfInertia
params = mass.GetMomentOfInertia(0)

End Sub

Der Befehl "AddBodies" könnte weiterhelfen.

Piet

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

ad_man
Mitglied
freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))


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

Beiträge: 1384
Registriert: 20.12.2003

SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000

erstellt am: 13. Nov. 2006 15:34    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 MKuehner 10 Unities + Antwort hilfreich

Tach auch,

@uc
Mensch, da lernt man ja nie aus bei SWXSolidWorks 

@alle
Was macht ihr den dann mit dem Schwerpunkt? Der müsste doch auch
dann noch eingegeben werden oder....

Gruß
Andreas

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

MKuehner
Mitglied



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

Beiträge: 10
Registriert: 16.10.2006

SolidWorks 2006 SP01
Windows 2000

erstellt am: 13. Nov. 2006 16:35    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

@ad-man

Den Schwerpunkt übernehme ich aus der importierten Baugruppe. Der stimmt dann zwar nicht 100%ig aber was solls. Ich denke mal mit den genauen Schwerpunkten arbeitet bei Kaufteilen sowieso keiner. Ist mir auch nicht aufgefallen das der irgendwo angegeben wird (in Katalogen). Aber ich glaube damit kann ich leben (Maschinen werden nicht gleich umfallen).


@piet

Danke für die Sucherei in der API. Über dieses Beispiel bin ich nicht gestolpert. Werd mal schaun ob's Hilft.


Mfg, Mario

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