Hot News aus dem CAD.de-Newsletter:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Abmaße von Baugruppen

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
Autor Thema:   Abmaße von Baugruppen (632 mal gelesen)
Georg Lemmen
Mitglied
Konstruktionsingenieur


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

Beiträge: 17
Registriert: 18.07.2017

Inventor 2018

erstellt am: 05. Jun. 2019 12:49    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,
wie kann ich die Abmaße einer Baugruppe auslesen.
Gruß Georg

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

Roland Schröder
Moderator
Dr.-Ing. Maschinenbau, Entwicklung & Konstruktion von Spezialmaschinen




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

Beiträge: 12158
Registriert: 02.04.2004

IV 2017 + 2018 + 2019
W7pro64 F-Secure-Safe
Dell-M4600 2,13GHz 8GB Quadro2000M
15,4"1920x1080, am Dock: 27"2560x1440
MS-IntelliMouse-Optical SpacePilotClassic

erstellt am: 05. Jun. 2019 14: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 Nur für Georg Lemmen 10 Unities + Antwort hilfreich


iProperties.BoxDimensions.Small.zip

 
Moin!

Eine fertige Funktion dafür gibt es in der Standard-Bedien-Oberfläche meines Wissens nicht, aber es geht mit einem kleinen VBA-Programm, das man sich allerdings selber installieren muss. Unten der Code, den ich benutze; er funktioniert sowohl für Baugruppen als auch für Einzelteile. Er stammt aus dem Forum hier, und ich habe ihn angepasst.
Er ist nicht perfekt. Zu beachten ist:

1. Die Abmessungen werden immer nur entlang der Ursprungsachsen gemessen; es wird eine quaderförmige und achsparallele Hüllbox ermittelt. Bei schräg im Raum liegeden Bauteilen kann das schwer verständliche Werte ergeben, aber man weiß dann zumindest die Größenordnung von dem Ding. 

2. Die Werte erscheinen immer in der Reihenfolge x - y - z, egal was davon man nach Augenschein "Länge", "Breite" oder "Höhe" nennen würde.

3. Die Genauigkeit ist begrenzt. Je nach Form, besonders bei Rundungen, können um ein paar Zehntel andere Werte erscheinen als z .B. in der idw angegeben würden, wo genauer gerechnet wird.

4. Sichtbare Arbeitselemente werden mitgerechnet. Die Darstellungen von Punkten, Ebenen und Achsen, die meistens das Modell überragen, sollte man also tunlichst vor dem Starten des Moduls ausschalten.

5. Die schließlich vorgenommene Eintragung in den iProperties wird nicht automatisch aktualisiert. Nach Änderungen muss man den Code erneut ausführen.

Wahrscheinlch kann man das auch noch verbessern und automatisieren, aber dazu war mir bisher noch nicht langweilig genug.

[Icon später ergänzt.]
  

Code:
Sub BoxDimensions()
     Dim oCD As ComponentDefinition
     If ThisApplication.ActiveDocumentType = kPartDocumentObject Then
        Dim oPart As PartDocument
        Set oPart = ThisApplication.ActiveDocument
        Set oCD = oPart.ComponentDefinition
     ElseIf ThisApplication.ActiveDocumentType = kAssemblyDocumentObject Then
        Dim oAsm As AssemblyDocument
        Set oAsm = ThisApplication.ActiveDocument
        Set oCD = oAsm.ComponentDefinition
    Else
        Exit Sub
    End If
   
    Dim dX As Double
    Dim dY As Double
    Dim dZ As Double
    Dim dV As Double
'    Dim fx As Double
'    Dim fy As Double
'    Dim fz As Double
    Dim fV As Double
    Dim sBox As String
    Dim sV As String
    dX = oCD.RangeBox.MaxPoint.X - oCD.RangeBox.MinPoint.X
    dY = oCD.RangeBox.MaxPoint.Y - oCD.RangeBox.MinPoint.Y
    dZ = oCD.RangeBox.MaxPoint.z - oCD.RangeBox.MinPoint.z
    dV = oCD.MassProperties.Volume
    If dV = 0 Then
        MsgBox "xyz-Box kann nicht bestimmt werden, weil kein Volumen vorhanden ist."
        Exit Sub
    End If
    dX = Round(dX * 10, 0)
    dY = Round(dY * 10, 0)
    dZ = Round(dZ * 10, 0)
    dV = Round(dV, 2)
   
'   fx = 10 ^ Round(Log(dX) / Log(10) - 3)
'   fy = 10 ^ Round(Log(dY) / Log(10) - 3)
'   fz = 10 ^ Round(Log(dz) / Log(10) - 3)
     fV = 10 ^ Round(Log(dV) / Log(10) - 2.5)
'   dX = Round(dX / fx) * fx
'   dY = Round(dY / fy) * fy
'   dz = Round(dz / fz) * fz
     dV = Round(dV / fV) * fV
    sBox = dX & " x " & dY & " x " & dZ
    sV = Format(dV, "0.0")
   
    If ThisApplication.ActiveDocumentType = kPartDocumentObject Then
         Call SetPropertyValue(oPart.PropertySets(4), "xyz-Box", sBox)
         Call SetPropertyValue(oPart.PropertySets(4), "cm³", sV)
         MsgBox "xyz-Box in mm:" & vbTab & sBox & vbCrLf & "Volumen in cm³:" & vbTab & dV
    ElseIf ThisApplication.ActiveDocumentType = kAssemblyDocumentObject Then
        Call SetPropertyValue(oAsm.PropertySets(4), "xyz-Box", sBox)
        MsgBox "xyz-Box in mm:" & vbTab & sBox
    End If
   
    If (ThisApplication.ActiveDocument.SubType = "{9C464203-9BAE-11D3-8BAD-0060B0CE6BB4}") Then '(Kennung für Blechteile)
        Dim dXz As Double
        Dim dYz As Double
        Dim dZz As Double
        Dim oFP As FlatPattern
        Dim sHalbzeug As String
        Dim sZuschnitt As String
        Set oFP = oPart.ComponentDefinition.FlatPattern
        On Error Resume Next
        dXz = Round((oFP.Body.RangeBox.MaxPoint.X - oFP.Body.RangeBox.MinPoint.X) * 10, 0)
        dYz = Round((oFP.Body.RangeBox.MaxPoint.Y - oFP.Body.RangeBox.MinPoint.Y) * 10, 0)
        dZz = Round((oFP.Body.RangeBox.MaxPoint.z - oFP.Body.RangeBox.MinPoint.z) * 10, 0)
       
        sHalbzeug = "BL " & dZz
        sZuschnitt = dXz & " x " & dYz
        If Err Then
            MsgBox "Die Werte für Halbzeug und Zuschnitt können nicht aktualisiert werden, da keine Abwicklung vorhanden ist."
        Else
            MsgBox "Halbzeug:" & vbTab & sHalbzeug & _
            vbCrLf & "Zuschnitt:" & vbTab & sZuschnitt
            Call SetPropertyValue(oPart.PropertySets(4), "Halbzeug", sHalbzeug)
            Call SetPropertyValue(oPart.PropertySets(4), "Zuschnitt", sZuschnitt)
        End If
    End If
      
End Sub

------------------
Roland  
www.Das-Entwicklungsbuero.de

It's not the hammer - it's the way you hit!

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

Georg Lemmen
Mitglied
Konstruktionsingenieur


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

Beiträge: 17
Registriert: 18.07.2017

Inventor 2018

erstellt am: 24. Jun. 2019 12:26    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


Unbenannt1.JPG

 
Hi,

Vielen dank erst einmal für Deine Antwort.

Ich bekommen immer folgende Meldung:

"Sub or Function not defined"

Gruß Georg

[Diese Nachricht wurde von Georg Lemmen am 24. Jun. 2019 editiert.]

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 233
Registriert: 19.09.2007

Inventor Professional 2016
Win7

erstellt am: 24. Jun. 2019 15:00    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 Georg Lemmen 10 Unities + Antwort hilfreich

ergänzend zu 3. von Roland (Genauigkeit):
kann auch deutlich mehr Abweichung sein, wenn z.B. Splines enthalten sind. Die Hüllbox / Bounding Box schließt auch die Stützpunkte der Spline mit ein.

Quelle auch mit erklärendem Bild:
Blog - Mod the Machine

ergänzend zu 5. (keine Automatisierung)
wäre durch iLogic denkbar mit Ereignisauslöser. Dafür könnte eine Zeile iLogc-Code ausreichen, die nur das entsprechende VBA-Makro aufruft.

------------------
Gruß KraBBy

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

KraBBy
Mitglied
Maschinenbau-Ingenieur


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

Beiträge: 233
Registriert: 19.09.2007

Inventor Professional 2016
Win7

erstellt am: 24. Jun. 2019 15:08    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 Georg Lemmen 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Georg Lemmen:
"Sub or Function not defined"

Dafür müsste Roland den Code vom Sub "SetPropertyValue" nachreichen (eine Subroutine, die einen Wert in das iProperty schreibt)

Edit:
Ich habe folgendes in Gebrauch: Sub UpdateCustomiProperty

Dazu
Call SetPropertyValue(oPart.PropertySets(4), "xyz-Box", sBox)
ersetzen durch
Call UpdateCustomiProperty(oPart, "xyz-Box", sBox)

------------------
Gruß KraBBy

[Diese Nachricht wurde von KraBBy am 24. Jun. 2019 editiert.]

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)2019 CAD.de | Impressum | Datenschutz