| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Auf dem Weg zur digitalen Auftragsmappe. , ein Anwenderbericht
|
Autor
|
Thema: Geschätzte Kosten in Bgr. addieren (3456 mal gelesen)
|
Josef Liederer Mitglied Konstrukteur, selbstständig
Beiträge: 593 Registriert: 27.02.2002 Inventor 2010, 2013 ProE WF 2 und 4 NVIDIA Quadro 4000 Xenon E5-1620 3,6GHz 16 GB Ram WIN 7 Prof SP2
|
erstellt am: 12. Dez. 2013 14:53 <-- editieren / zitieren --> Unities abgeben:
Hallo gibt es die Möglichkeit in der Baugruppe die Werte aus der I-Propertie "geschätzte Kosten" der Einzelteile mit der entsprechenden Stückzahl zu multiplizieren und dann alle Ergebnisse zusammenzuzählen? Kurz gesagt, kann Inventor den Gesamtpreis aller verbauten Teile einer Baugruppe ausgeben? Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
fons Mitglied
Beiträge: 32 Registriert: 30.03.2009 Inventor 2019 @ Win10 64bit / Vault Basic 2019
|
erstellt am: 12. Dez. 2013 15:10 <-- editieren / zitieren --> Unities abgeben: Nur für Josef Liederer
soweit ich weiß nicht... aber das VBA script das ich geschrieben habe kann das kann sein das man bei LOD auf Hauptansicht umschalten muss
Code: Public auflistung As StringSub BG_Kosten_berechnen() wert = 0 auflistung = "" ' Stüli ansprechen Dim oBOM As BOM Set oBOM = ThisApplication.ActiveDocument.ComponentDefinition.BOM ' ansicht einstellen Dim oBOMView As BOMView Set oBOMView = oBOM.BOMViews.Item(1) '"Strukturiert") 'funktion aufrufen und in iproperties schreiben wert = KOSTEN(oBOMView.BOMRows, True) ThisApplication.ActiveDocument.PropertySets.Item("Design Tracking Properties").Item("Cost").Value = wert MsgBox "Kosten: " & wert & vbCrLf & vbCrLf & "Auflistung Baugruppenkosten:" & vbCrLf & auflistung End Sub Function KOSTEN(ebene, OG As Boolean) KOSTEN = 0 For i = 1 To ebene.Count 'diese ebene bei alle bauteile durchlaufen Dim mehr mehr = 0 Dim oRow As BOMRow Set oRow = ebene.Item(i) 'zugriff auf spezielle iproperties ermöglichen Dim oPropSet As PropertySet Set oPropSet = oRow.ComponentDefinitions.Item(1).Document.PropertySets.Item("Design Tracking Properties") If oRow.ChildRows Is Nothing And oRow.ReferencedFileDescriptor Is Nothing Then 'virtuele /nicht gespeicherte bauteile filtern ElseIf oRow.ChildRows Is Nothing Then 'wenn es keine Gruppe ist, dann Preis addieren (multipliziert mit der stückzahl) mehr = oPropSet.Item("Cost").Value * oRow.ItemQuantity 'auflistung = auflistung + oPropSet.Item(2).Value + vbTab + CStr(mehr) + " €" + vbCrLf Else ' ansonsten die Untergruppe mit dieser Funktion (kosten) nochmals durchlaufen mehr = KOSTEN(oRow.ChildRows, False) * oRow.ItemQuantity If OG = True Then auflistung = auflistung + CStr(mehr) + " €" + vbTab + oPropSet.Item("Description").Value + vbCrLf End If KOSTEN = KOSTEN + mehr Next End Function
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandD Mitglied
Beiträge: 559 Registriert: 07.01.2005 i7-9700k 32GB DDR4-RAM Nvidia RTX 2060 SSD 970 m.2 Win10-64 (21H2) AIP 2020.3 Dell U3417W
|
erstellt am: 15. Dez. 2013 16:46 <-- editieren / zitieren --> Unities abgeben: Nur für Josef Liederer
Hallo Fons, ziemlich cooles Makro. Super Überblick, falls man die Kosten pflegt.. Mir ist aufgefallen, dass es bisher für Schweiß-BGs nicht funktioniert: Alle Baugruppen aus Blechteilen, die wir fertig geschweißt bestellen, sind nicht als Schweiß-BG ausgeführt, sondern normale Baugruppen. Die Baugruppen werden aber als UNTEILBAR definiert, da sie ja als einzelnes Bauteil bestellt werden. Somit haben sie auch nur einen Preis der BG. Wenn ich nun den Preis der unteilbaren BG definiere, wird er nicht beachtet, sondern stattdessen die Summe der Preise der Einzelteile (alle 0,00€) berücksichtigt. Wie handhabt ihr Schweiß-BGs? Hier vielleicht noch ein € einfügen(?) Code: 'funktion aufrufen und in iproperties schreiben wert = KOSTEN(oBOMView.BOMRows, True) ThisApplication.ActiveDocument.PropertySets.Item("Design Tracking Properties").Item("Cost").Value = wert MsgBox "Kosten: " & wert & " €" &vbCrLf & vbCrLf & "Auflistung Baugruppenkosten:" & vbCrLf & auflistung
Schönen Sonntag noch... ------------------ Gruß Roland Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2630 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 16. Dez. 2013 13:41 <-- editieren / zitieren --> Unities abgeben: Nur für Josef Liederer
Hallo Dann mußt du dir die BOMRow.BOMStructure Eigenschaft ansehen und bei Baugruppen die unteilbar (oder gekauft?) sind, statt in die Rekursion zu springen den BG-Preis hernehmen. Code: ElseIf oRow.BOMStructure=51974 Then 'wenn es eine unteilbare Gruppe ist, dann Preis addieren (multipliziert mit der stückzahl) mehr = oPropSet.Item("Cost").Value * oRow.ItemQuantity 'auflistung = auflistung + oPropSet.Item(2).Value + vbTab + CStr(mehr) + " €" + vbCrLf
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Martin_0103 Mitglied
Beiträge: 181 Registriert: 05.02.2003 3,4 GHz - Quadro 4000 - 12 GB RAM - IV2015 - WIN7
|
erstellt am: 03. Aug. 2016 14:05 <-- editieren / zitieren --> Unities abgeben: Nur für Josef Liederer
|
SmilingDevil Mitglied Dipl. Ing.
Beiträge: 460 Registriert: 02.09.2005 Autodesk Inventor 2018
|
erstellt am: 17. Mrz. 2017 11:59 <-- editieren / zitieren --> Unities abgeben: Nur für Josef Liederer
ACHTUNG! Sie antworten auf einen Beitrag der älter als 1 Jahr ist! ...Ja weiß ich doch... Wie bekomme ich das in meine Baugruppe?
Gruß, Axel ------------------ In übereinstimmung mit der Prophezeiung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |