Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Volumen in Zeichnung

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:  Volumen in Zeichnung (573 mal gelesen)
Ralf Blokscha
Mitglied
Konstrukteur


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

Beiträge: 175
Registriert: 10.07.2000

XEON 2x3.33GHz, 8.0GB Ram, nVidia Quadro FX 570 256 MB, WIN XP64 SP 2, SWX 2007_x64 SP 5.0

erstellt am: 07. Mrz. 2001 11:37    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 alle miteinander,

ich habe das Schriftfeldprogramm von Stefan Berlitz (das hervorragend Vorbereitet ist) an unsere Bedürfnisse soweit angepasst, da sich jedoch meine Programmierkenntnisse in VB grenzen halten dauerte es recht lange. Jetzt wäre uns noch hilfreich wenn das Volumen des Modells über eine Schaltfläche, in dem Programm Integriert, ausgelesen werden könnte. Es wäre nett, wenn mir einer von euch SWX'ler weiter Helfen könnte.

Viele Grüsse
Ralf

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: 07. Mrz. 2001 12:06    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 Ralf Blokscha 10 Unities + Antwort hilfreich

Warte noch ein paar Wochen (oder download), in der neuen Version SW2001 soll es möglich sein, derartige Angaben (Gewicht, Volumen, Oberfläche ...) direkt mit den benutzerdef, Eigenschaften zu verlinken - das hat dann den Vorteil, daß es assoziativ ist.
Ein Auslesen hat den Nachteil, daß es dann eine dumme Zahl ist, die nicht mehr mitkriegt, wenn danach etwas verändert wurde - man muß dann aufpassen, daß man ständig die Schaltfläche drückt, wenn etwas verändert wurde. Eine ähnliche Variante wie AutoSave in Word (automatisches Ausführen des Makros beim Speichern der Datei) wäre nicht schlecht gewesen - leider keine Lösung gefunden. Jetzt ruhen alle Hoffnungen auf der angekündigten Neuerung.
Wenn dennoch Bedarf für das Makro zum Auslesen besteht - wir haben genau so etwas für das Gewicht gemacht (Auslesen per Knopfdruck) - das Volumen ist nur ein anderes Element im gleichen Vektor (wenn mich meine Erinnerung nicht trügt) - eine Modifikation sollte einfach sein. Wenn also Interesse besteht - kurze Info nochmal hier, dann such ich's raus.

mfg uc

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

Stefanie Dieterich
Mitglied
Vertrieb


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

Beiträge: 173
Registriert: 18.08.2000

erstellt am: 07. Mrz. 2001 12:09    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 Ralf Blokscha 10 Unities + Antwort hilfreich

Hallo,

das sollte man so hinkriegen´(angenommen, das Model-Objekt ist schon vorhanden):

MassProps = ModelDoc.GetMassProperties
Volumen = MassProps(3)

Das Volumen kommt dann im m^3 raus.

Gruß,
Stefanie Dieterich
SOLID LINE Sales & Support GmbH
Sales Support Norddeutschland

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

Ralf Blokscha
Mitglied
Konstrukteur


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

Beiträge: 175
Registriert: 10.07.2000

XEON 2x3.33GHz, 8.0GB Ram, nVidia Quadro FX 570 256 MB, WIN XP64 SP 2, SWX 2007_x64 SP 5.0

erstellt am: 07. Mrz. 2001 13:04    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

Erst mal vielen Dank für eure Hilfe,

da ich manchmal sehr ungeduldig bin und nicht auf die neue Version warten will bzw. wer weiss wann wir sie erhalten, will ich dieses Problem irgend wie lösen. Den Vorschlag von Stefanie hatte ich auch schon herausbekommen. Leider ist es nicht so wie ich es mir vorstellte, den man muss das Modell akivieren was ich eigentlich nicht machen wollte d. h. es sollte alles mit der aktiven Zeichnung geschehen. Gibt's da vielleicht eine Lösung?

Gruß Ralf

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

Stefanie Dieterich
Mitglied
Vertrieb


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

Beiträge: 173
Registriert: 18.08.2000

erstellt am: 07. Mrz. 2001 16:55    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 Ralf Blokscha 10 Unities + Antwort hilfreich

Ohne das Modell zu aktivieren geht es nicht, aber offen ist es ja durch die Zeichnung sowieso, daher hat das keine negativen Einflüsse auf die Performance oder so.

Gruß,
Stefanie Dieterich
SOLID LINE Sales & Support GmbH
Sales Support Norddeutschland

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: 08. Mrz. 2001 11:23    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 Ralf Blokscha 10 Unities + Antwort hilfreich

Stefanie hat recht, ohne Modell gehts nicht - die Info über Masse, Volumen, Oberfläche, ... stecken nun mal im Modell.
Anbei unser Beispiel - wie beschrieben zum abrufen des Gewichts.
Wir machen das auch direkt in Zeichnungen - dazu muß das einer bestimmten Ansicht zugrunde liegende Modell ermittelt werden, um die Info von dort zu holen - das kann ja im Hintergrund, unsichtbar auf dem Bildschirm erfolgen.
Zu beachten ist dabei:
1. Das Makro funktioniert nur ab VB 4.0 - als nicht mit dem in SW eingebetteten VB (das ist VB 3.0!) - weil die MassProperties ein Vektor sind und damit kann VB 3.0 nicht umgehen. Wir haben den 5. Wert - retval(5) - genommen, der ist das Gewicht. Für das Volumen brauchst Du scheinbar den 3. Wert - retval(3). Das steht aber in der API-Hilfe, welches Vektorelement welchen Wert enthält.
2. Wir haben IMMER die 1.Ansicht auf einer Zeichnung verwendet, um das Modell zu ermitteln - wenn Du das anders brauchst, mußt Du an den Zeilen mit
Set View = Model.GetFirstView
Set View = View.GetNextView
etwas verändern.
3. Wenn ihr mit Federgewichten arbeitet, mußt Du in dem Makro dafür sorgen, daß die Komponenten alle vollständig geladen werden - sonst klappt's nicht mit den MassProperties
RefModel.ResolveAllLightWeightComponents(True)
4. Wenn eure Einstellungen im Windows so sind, daß keine Endungen angezeigt werden, klappt die Unterscheidung Part/Assembly - so wie unten gezeigt - nicht, da mußt Du Dir was anders ausdenken.
Vielleicht ist es nicht "schön" programmiert, aber wir sind hier im Hauptberuf Konstrukteure - wir sind zufrieden, wenn das Makro fehlerfrei läuft - und das macht es bei uns schon mehrere Jahr lang gut. Es ist allerdings nur ein Ausschnitt aus einem größeren Programm - kann sein, daß deshalb hier nicht alle Variablen/Konstanten definiert sind.

mfg uc

Private Sub barSfGetMasse()
'funktioniert nur mit VB4.0 oder höher
Dim retval As Variant
Dim swApp As Object
Dim Model As Object
Dim ConfigName As String
Dim View As Object
Set swApp = CreateObject("SldWorks.Application")
swApp.visible = True
Set Model = swApp.ActiveDoc
If Model Is Nothing Then
MsgBox ("Keine Datei geöffnet")
Exit Sub
End If
If (Model.gettype() = swDocDRAWING) Then
Dim ModName As String
Dim RefModel As Object
Dim visible As Boolean
Set View = Model.GetFirstView
Set View = View.GetNextView
ConfigName = View.ReferencedConfiguration
ModName = View.GetReferencedModelName()
If InStr(1, ModName, ".sldprt", 1) Then
Set RefModel = swApp.OpenDoc(ModName, swDocPART)
End If
If InStr(1, ModName, ".sldasm", 1) Then
Set RefModel = swApp.OpenDoc(ModName, swDocASSEMBLY)
End If
retval = RefModel.ShowConfiguration(ConfigName)
visible = RefModel.visible
If (RefModel.gettype() = swDocASSEMBLY) Then
retval = RefModel.ResolveAllLightWeightComponents(True)
End If
retval = RefModel.GetMassProperties()
txtSfGewicht = Format(retval(5), "#0.00")
If Not (visible) Then swApp.CloseDoc RefModel.GetTitle()
swApp.ActivateDoc Model.GetTitle()
Else
If (Model.gettype() = swDocASSEMBLY) Then
retval = Model.ResolveAllLightWeightComponents(True)
End If
retval = Model.GetMassProperties()
txtSfGewicht = Format(retval(5), "#0.00")
If (Model.gettype() = swDocPART) Then
txtSfDichte = Format(retval(5) / retval(3) / 1000, "#0.000")
End If
End If
End Sub

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



Anzeige:Infos zum Werbeplatz >>

speedyPDM CAD APP für Andere, Datenaustausch, Allgemeine Werkzeuge

speedyPDM ist das führende technische Dokumenten- und Produktdatenmanagementsystem für Solidworks, Solid Edge, Inventor, AutoCAD, ZWCAD, BricsCAD, Office und Email inklusive Revisionsmanagement.

Ralf Blokscha
Mitglied
Konstrukteur


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

Beiträge: 175
Registriert: 10.07.2000

erstellt am: 08. Mrz. 2001 14: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

Hallo uc,

Danke für die Bereitstellung des Makros. Nach einer kleinen Anpassung an das Schriftfeld-Progamm habe ich nun die funktion Volumen aus Modell lesen so wie ich sie mir vorgestellt habe.

Nochmals vielen Dank an dich und natürlich auch einen Dank an Stefanie.

Gru? Ralf

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