| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
| Wie treibt das ZW3D CAD-Modul innovatives Produktdesign voran |
Autor
|
Thema: Benutzerdefiniertes iPropertie (784 mal gelesen)
|
ARHessen Mitglied
Beiträge: 34 Registriert: 31.03.2022 immer die aktuelle Inventorversion
|
erstellt am: 31. Mrz. 2022 15:34 <-- editieren / zitieren --> Unities abgeben:
|
freierfall Ehrenmitglied V.I.P. h.c. Techniker
Beiträge: 11547 Registriert: 30.04.2004 WIN10 64bit, 32GB RAM IV bis 2022
|
erstellt am: 31. Mrz. 2022 17:04 <-- editieren / zitieren --> Unities abgeben: Nur für ARHessen
|
OibelTroibel Mitglied Konstrukteur
Beiträge: 595 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 01. Apr. 2022 07:46 <-- editieren / zitieren --> Unities abgeben: Nur für ARHessen
Hallo Andreas Wie stellst du dir das genau vor? Meinst du die Anzahl welche sich in der aktuellen Baugruppe befindet? Diese Anzahl kann über die Stückliste abgerufen werden. Im Bauteil selber macht diese Anzahl gar keinen Sinn, da diese ja variabel sein wird je nach Baugruppe. Oder meinst du die Anzahl von Bohrungen oder anderen Features? Dann fällt mir nur gerade den Weg über iLogic oder VBA ein. Beste Grüsse Raphael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ARHessen Mitglied
Beiträge: 34 Registriert: 31.03.2022 immer die aktuelle Inventorversion
|
erstellt am: 01. Apr. 2022 09:28 <-- editieren / zitieren --> Unities abgeben:
Hallo nochmal, also ich habe beispielsweise eine übergeordnete Baugruppe, in der 2 Baugruppen drin sind. In den untergeordneten Baugruppen sind Bauteile, die in beiden Baugruppen vorkommen. Jetzt möchte ich in der übergeordneten Baugruppe zum einen die Stückliste so haben, dass in einem Feld die gesamte Anzahl der Einzelteile drin steht. Was ja auch passiert. Jedoch geben wir auf den Zeichnungen für die Einzelteile die Gesamtstückzahl der Einzelteile an. Also wie oft das Einzelteil insgesamt in dem Auftrag vorkommt. In Baugruppe 1 kommt Blech 1 2x , Norm 1 1x und rund 2x vor In Baugruppe 2 kommt Blech 1 1x , Norm 1 2x und rund 3x vor Insgesamt sind dies für Blech 1 3x, Norm 1 3x und rund 5x. Und genau diese Anzahl soll in die Einzelteile geschrieben werden, um danach die Einzelteile mit der Gesamtstückzahl ausdrucken zu können. Ich habe mal einen Screenshot von der Stückliste der übergeordneten Baugruppe angehängt. In den Feldern "Objektmenge" und "ANZAHL" wird immer die gewünschte Gesamtzahl der Einzelteile der Hauptbaugruppe angegeben. Und genau diesen Wert brauche ich automatisch in den Einzelteilen. Mein Vorgänger hat das Feld "Anzahl" angelegt, was schon ünglücklich ist, weil es bis auf die Schreibweise nicht von dem automatisch generierten Feld "ANZAHL" zu unterscheiden ist. Bislang gehen wir nach Fertigstellung des Auftrages hin und tippen händisch die Anzahl aus dem Feld "Objektmenge" in das Feld "Anzahl". Dann kann ich auf der Einzelteilzeichnung die "Anzahl" auf die Zeichnung bringen. Jedoch möchte ich weg von dem händischen Tippen. Wenn sich etwas an der Anzahl im laufe des Prozesses ändert, soll dies automatisch angepasst werden. Natürlich muß ich dann jeweils noch die von der Anzahl her geänderten Einzelteile neu ausdrucken, aber eben vorher nicht alles händisch abändern und vielleicht da etwas vergessen. Vielleicht kompliziert geschrieben, aber ich hoffe es ist jetzt etwas klarer. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OibelTroibel Mitglied Konstrukteur
Beiträge: 595 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 01. Apr. 2022 11:14 <-- editieren / zitieren --> Unities abgeben: Nur für ARHessen
Ich glaube, weiss was du möchtest. Davon möchte ich euch aber gerne abraten. Normalerweise wird diese Aufgabe von einer ERP-Software übernommen. Würde es den nicht reichen die Stückliste "Nur Bauteile" zu verwenden? Die bildet doch genau das ab was du benötigst? Warum wollt ihr die Stückzahl auf einer Einzelteilzeichnung? Es gibt auch Lieferanten, die speichern eure Zeichnung mit dem entsprechenden Index, und bei Nachbestellung schauen die eure neue Zeichnung gar nicht mehr an, da der Index ja nicht geändert hat. Somit ist es möglich, dass ihr dadurch die falsche Stückzahl erhaltet. Ich würde nie, wirklich nie, die Stückzahl eines zu benötigenden Einzelteils auf die Einzelteilzeichnung machen. Beste Grüsse Raphael Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ARHessen Mitglied
Beiträge: 34 Registriert: 31.03.2022 immer die aktuelle Inventorversion
|
erstellt am: 01. Apr. 2022 11:20 <-- editieren / zitieren --> Unities abgeben:
|
OibelTroibel Mitglied Konstrukteur
Beiträge: 595 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 01. Apr. 2022 11:33 <-- editieren / zitieren --> Unities abgeben: Nur für ARHessen
Das könnt ihr so machen. Dann würde ich über die Excel mit "Nur Bauteile" gehen. Wenn ihr eine benutzerdefinierte iProperty wollt, würde ich das mit iLogic oder VBA lösen. In der Hauptbaugruppe eine Regel auslösen, die die Anzahl der Stückliste in das iProperty des jeweiligen Bauteils schreibt. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ARHessen Mitglied
Beiträge: 34 Registriert: 31.03.2022 immer die aktuelle Inventorversion
|
erstellt am: 01. Apr. 2022 12:16 <-- editieren / zitieren --> Unities abgeben:
Das mit der Regel in der Hauptbaugruppe klingt interessant. Leider habe ich damit keinerlei Erfahrung. Kannst Du mir kurz anreißen, wie das geht, dann habe ich einen Anfang und kann mir da was basteln. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 01. Apr. 2022 13:40 <-- editieren / zitieren --> Unities abgeben: Nur für ARHessen
Hallo Die wichtigsten Gründe warum das normalerweise mit Teeren und Federn "belohnt" wird, wurden ja schon genannt. Ich vermute ihr seid Einzelauftragsfertiger. Eure Teile werden niemals wiederverwendet, da es Einzelanfertigungen sind. Wiederverwendung schließt sich mit der Anzahl im Teil aus. Hoffentlich verwendet ihr auch keine Zeilenzusammenführung bei gleicher Bauteilnummer oder Modellzustände. Dann gäb's da auch noch Stücklistenstrukturen wie Referenz, die hoffentlich nicht verwendet werden. Wenn doch, müsste man schauen ob und wie man das abbilden könnte. Ohne das alles gehts relativ einfach. Regel nicht in Unterbaugruppen verwenden, sondern nur in der Hauptbaugruppe. Sonst kommt logischerweise Unsinn heraus. Code:
Dim oAssDoc As AssemblyDocument = ThisDoc.Document Dim oBOM As BOM = oAssDoc.ComponentDefinition.BOMoBOM.PartsOnlyViewEnabled = True Dim oBOMView As BOMView For Each oBOMView In OBOM.BOMViews If oBOMView.ViewType=BOMViewTypeEnum.kPartsOnlyBOMViewType Then Exit For Next If oBOMView Is Nothing Then MsgBox("Stücklistenansicht 'nur Bauteile' nicht gefunden") Exit Sub End If Dim oBOMRow As BOMRow For Each oBOMRow In oBOMView.BOMRows If oBOMRow.Merged = True MsgBox("Zeilen zusammengeführt. Nur erstes referenziertes Bauteil wird berücksichtigt.") End If Dim oRefedDoc As Document oRefedDoc = oBOMRow.ComponentDefinitions(1).Document Dim oPropSet As Inventor.PropertySet = oRefedDoc.PropertySets.Item(4) Try oPropSet.Item("Anzahl").Value=oBOMRow.TotalQuantity Catch oPropSet.Add(oBOMRow.TotalQuantity,"Anzahl") '<------------------ Name des iProps ggf. anpassen End Try Next
------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
OibelTroibel Mitglied Konstrukteur
Beiträge: 595 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 01. Apr. 2022 14:04 <-- editieren / zitieren --> Unities abgeben: Nur für ARHessen
Habe in einem Forum folgenden Code gefunden und leicht angepasst. Sollte damit eigentlich funktionieren. Code: Sub Main() doc = ThisDoc.Document Dim oAssyDef As AssemblyComponentDefinition = doc.ComponentDefinition Dim oBOM As BOM = oAssyDef.BOM oBOM.StructuredViewEnabled = True Dim oBOMView As BOMView = oBOM.BOMViews.Item("nur Bauteile") Dim oBOMRow As BOMRow Dim oCompDef As ComponentDefinition For Each oBOMRow In oBOMView.BOMRows oCompDef = oBOMRow.ComponentDefinitions.Item(1) Call SetRowProps(oCompDef, oBOMRow.TotalQuantity) If Not oBOMRow.ChildRows Is Nothing Call RecurseBOMRow(oBOMRow) End If Next End Sub Sub RecurseBOMRow(oBOMRow As BOMRow) For Each oBOMRow In oBOMRow.ChildRows Dim oCompDef As ComponentDefinition oCompDef = oBOMRow.ComponentDefinitions.Item(1) Call SetRowProps(oCompDef, oBOMRow.TotalQuantity) If Not oBOMRow.ChildRows Is Nothing Call RecurseBOMRow(oBOMRow) End if Next End Sub Sub SetRowProps(oCompDef As ComponentDefinition, QTY As String) Dim CompFullDocumentName As String = oCompDef.Document.FullDocumentName Dim CompFileNameOnly As String Dim index As Integer = CompFullDocumentName.LastIndexOf("\") CompFileNameOnly = CompFullDocumentName.Substring(index+1) 'MessageBox.Show(CompFileNameOnly) iProperties.Value(CompFileNameOnly, "Custom", "PartQty") = QTY End Sub
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ARHessen Mitglied
Beiträge: 34 Registriert: 31.03.2022 immer die aktuelle Inventorversion
|
erstellt am: 05. Apr. 2022 08:38 <-- editieren / zitieren --> Unities abgeben:
|
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2428 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 05. Apr. 2022 11:08 <-- editieren / zitieren --> Unities abgeben: Nur für ARHessen
Hallo @OibelTroibel Du aktivierst die Stücklistenansicht "Strukturiert" und nutzt danach die "nur Bauteile". Das könnte schief gehen. Die "nur Bauteile" Ansicht hat niemals ChildRows, von daher könnte man die ganze Rekursion weglassen. ------------------ MfG Ralf RKW Solutions GmbH www.RKW-Solutions.com Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Konstrukteur Maschinen- und Anlagenbau (m/w/d) | Menschen und Technologien zu verbinden, den Perfect Match für unsere Kunden zu gestalten, immer die richtigen Expert:innen für die jeweilige Herausforderung zu finden - das ist unser Anspruch bei FERCHAU und dafür suchen wir dich: als ambitionierte:n Kolleg:in, der:die wie wir Technologien auf die nächste Stufe bringen möchte. Du weißt genau, was du technologisch auf dem Kasten hast? Du suchst einen ... | Anzeige ansehen | Konstruktion, Visualisierung |
|
OibelTroibel Mitglied Konstrukteur
Beiträge: 595 Registriert: 18.04.2014 ACAD/Inventor 2018-21
|
erstellt am: 10. Apr. 2022 14:47 <-- editieren / zitieren --> Unities abgeben: Nur für ARHessen
|