text: Masse Einheit mehrerer Teile umstellen (Autodesk/Inventor) - Foren auf CAD.de
  Masse Einheit mehrerer Teile umstellen
  Autor Thema: Masse Einheit mehrerer Teile umstellen (1848 mal gelesen)
  MultipleCADuser
  Inventor 2015 erstellt am: 21. Mai. 2015 14:46 <-- editieren / zitieren --> Unities abgeben:
  Ich arbeite in einem Team. Ein anderer Mitarbeiter hat eine große Baugruppe erstellt, in der die Masseeinheit auf kg steht. Alle anderen haben aber g angegeben. Wie kann man die Einheit umstellen, ohne alle Teile einzeln aufzurufen. Gibt es eine Art Tabellenansicht einer Gesammtbaugruppe, in der ich die Einheiten für alle Bauteile ändern kann?
  2x SSD SATA III 512 GB Premium<P>Inventor 2014 (2015 und weitere in Lauerstellung) erstellt am: 21. Mai. 2015 15:23 <-- editieren / zitieren --> Unities abgeben: Nur für MultipleCADuser
  wenn Du die baugruppe geöffnet hast, dann steht unter Extra, Dokumenteneinstellung, Einheiten auch die Masse. Stellt Du dort auf Gramm um, dann wird Dir die Masse bei physikalische Eigenschaften in Gramm angezeigt.
  Inventor bis 2021, MDT 2009, Rhino 6 + WIP, Mainboard ASUS Sabertooth X58, CPU i7 980, 24 GB RAM, 2 TB SSD, 2 TB HD RAID1, GTX 980 Ti, Dual Monitor 24", Spacemouse Enterprise, Win 10 - 1903 erstellt am: 21. Mai. 2015 15:25 <-- editieren / zitieren --> Unities abgeben: Nur für MultipleCADuser
  Probier's mal damit. In der Baugruppe aufgerufen, ändert es auch alle darin verbauten Teile.
  Public Sub SetActiveDocUnits()
  Dim oActiveDocument As Inventor.Document
  Set oActiveDocument = ThisApplication.ActiveDocument
  SetUnitsToMetric oActiveDocument
  Private Sub SetUnitsToMetric(Document As Inventor.Document)
  'Get Units of Measure
  Dim oUOM As Inventor.UnitsOfMeasure
  Set oUOM = Document.UnitsOfMeasure
  'Set length units to Metric and save
  oUOM.LengthUnits = kMillimeterLengthUnits
  oUOM.MassUnits = kGramMassUnits
  oUOM.AngleUnits = kDegreeAngleUnits
  Document.Dirty = True
  'Run recursively for assembly
  If TypeOf Document Is Inventor.AssemblyDocument Then
  Dim oAssemblyDocument As Inventor.AssemblyDocument
  Set oAssemblyDocument = Document
  Dim oOccurrence As Inventor.ComponentOccurrence
  For Each oOccurrence In oAssemblyDocument.ComponentDefinition.Occurrences
  SetUnitsToMetric oOccurrence.Definition.Document
  Next oOccurrence
  Public Sub SetScaleOnParameters()
  Dim modelParam As ModelParameter
  For Each modelParam In partDef.Parameters.ModelParameters
  ' Check to see that this parameter defines a distance.
  If partDoc.UnitsOfMeasure.CompatibleUnits("1", modelParam.Units, "1", "in") Then
  ' Change the expression to include scale.
  modelParam.Expression = modelParam.Expression & " * Scale"
  [Diese Nachricht wurde von W. Holzwarth am 21. Mai. 2015 editiert.]
  Inventor 2015 erstellt am: 22. Mai. 2015 11:27 <-- editieren / zitieren --> Unities abgeben:
  Danke Holzwarth, für die schnelle Antwort.
  Wie rufe ich das auf? Wie kann ich das in unterschiedlichen Baugruppen anwenden?
  Inventor 2015 erstellt am: 22. Mai. 2015 11:30 <-- editieren / zitieren --> Unities abgeben:
  aber ich brauche das Gewicht für alle Bauteile auch in der Stückliste in g. Wenn ich die Stückliste in alllen Ebenen aufliste, erscheinen die Unterbaugruppen und die darin enthaltenen Teile in kg.
  Inventor bis 2021, MDT 2009, Rhino 6 + WIP, Mainboard ASUS Sabertooth X58, CPU i7 980, 24 GB RAM, 2 TB SSD, 2 TB HD RAID1, GTX 980 Ti, Dual Monitor 24", Spacemouse Enterprise, Win 10 - 1903 erstellt am: 22. Mai. 2015 12:42 <-- editieren / zitieren --> Unities abgeben: Nur für MultipleCADuser
  Original erstellt von MultipleCADuser:
  - Neue Baugruppe erstellen
  - Extras -> VBA-Editor (bei Optionen)
  - ApplicationProject (Default.ivb) aufklappen
  - Unter Module Modul1 aufklappen (Falls nicht vorhanden, Rechtsmaus auf Module->Einfügen->Modul)
  - Kopierten Text dort einfügen
  - Datei -> Schließen und zurück ..
  - Nun eine kleine Test-BG öffnen
  - In Baugruppe Extras -> Makros (bei Optionen)->Makros in: ApplicationProject(Default.ivb)->SetActiveDocUnits wählen->Ausführen
  Je nach Baugruppengröße kann es dann etwas dauern, deshalb zuerst mal mit einfacher BG probieren.
  P.S.: Makro SetScaleonParameters ist eigentlich nicht nötig. Dadurch kann man alle Längenmaße mit einem festen Wert skalieren, wenn in den Bauteilparametern ein Benutzerparameter Scale (z.B. 1,0 ohne Einheit) definiert ist. Scale=2 macht's dann doppelt so groß. Starten dieses Makros ohne Scale-Definition gibt Laufzeitfehler.