| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | ibg Prüfcomputer GmbH verwaltet Konstruktionsdaten mit Phoenix/PDM , ein Anwenderbericht
|
Autor
|
Thema: Unterbaugruppen ableiten mit diversen Einstellungen (233 / mal gelesen)
|
MacFly8 Ehrenmitglied V.I.P. h.c. Konstrukteur Kessel- & Feuerungsbau
     
 Beiträge: 2102 Registriert: 13.08.2007 HP Z17; 64GB RAM; Nvidia Quadro RTX3000; Inventor Professional PDSU 2012/2023 Mechanical 2012/2020
|
erstellt am: 28. Aug. 2025 10:52 <-- editieren / zitieren --> Unities abgeben:         
Moin ich weiß nicht ob ich es nicht sehe, aber kann man bei den ganzen Modell schlanker machen Optionen nirgendwo folgendes in einem Rutsch machen? Aufgabe ist: vorhanden eine Baugruppe mit xx Unterbaugruppen von jeder einzelnen Unterbaugruppen soll eine AK mit Dateinamen Erweiterung "_abgl" erstellt werden Einstellungen für die AK Zusammenführen eines Volumenkörpers.... Lochabdeckung Alle Flächenfarbe aus Quellkomponente verknüpfen Reduzierter Speichersparmodus Alle Internen Hohlräume entfernen dann soll die Verknüpfung mit Basiskomponete lösen eingestellt werden Die AK in der Baugruppe an 0,0,0 eingefügt und fixiert werden und die Unterbaugruppe unterdrückt werden. Ersatzobjekt, kann teile davon Vereinfachen kann teile davon aber kein kann alles. Oder übersehe ich etwas ohne 3 Millionen klicks ausführen zu müßen? Kann Ilogic das oder ist das schon zu komplex und muss in VBA gemacht werden. MfG MacFly ------------------ - - - der Erleuchtung ist es egal wie du Sie erlangst - - - - - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer) [Diese Nachricht wurde von MacFly8 am 28. Aug. 2025 editiert.] [Diese Nachricht wurde von MacFly8 am 28. Aug. 2025 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nightsta1k3r Ehrenmitglied V.I.P. h.c. retired ...

 Beiträge: 11456 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 28. Aug. 2025 11:43 <-- editieren / zitieren --> Unities abgeben:          Nur für MacFly8
|
MacFly8 Ehrenmitglied V.I.P. h.c. Konstrukteur Kessel- & Feuerungsbau
     
 Beiträge: 2102 Registriert: 13.08.2007 HP Z17; 64GB RAM; Nvidia Quadro RTX3000; Inventor Professional PDSU 2012/2023 Mechanical 2012/2020
|
erstellt am: 28. Aug. 2025 12:04 <-- editieren / zitieren --> Unities abgeben:         
danke nighty, aber ich hab ja gesagt das es nur teile kann ... damit bekomme ich nur die AK und den Namen, zwar nicht so wie ich möchte aber es wären immer noch zu viele klicks oder kann man die AK Einstellungen dabei irgendwie einstellen? MfG MacFly ------------------ - - - der Erleuchtung ist es egal wie du Sie erlangst - - - - - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
nightsta1k3r Ehrenmitglied V.I.P. h.c. retired ...

 Beiträge: 11456 Registriert: 25.02.2004 Hier könnte ihre Werbung stehen!
|
erstellt am: 28. Aug. 2025 12:40 <-- editieren / zitieren --> Unities abgeben:          Nur für MacFly8
das haben wir so nie angewendet, weil kaskadierte Ersatzobjekte in mehreren Belangen eine Performancebremse sind das Ersatzobjekt gabs am Schluß jeweils über die Hauptkomponenten mit 2023 (eigentlich ab 2021) hats ja Adesk dann so richtig verbockt, aber da war ich dann weg
------------------
 ------------------ Es reicht nicht, sich Blödsinn nur auszudenken, wenn man ihn nicht auch bis zur letzten Konsequenz durchzieht! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MacFly8 Ehrenmitglied V.I.P. h.c. Konstrukteur Kessel- & Feuerungsbau
     
 Beiträge: 2102 Registriert: 13.08.2007 HP Z17; 64GB RAM; Nvidia Quadro RTX3000; Inventor Professional PDSU 2012/2023 Mechanical 2012/2020
|
erstellt am: 28. Aug. 2025 14:03 <-- editieren / zitieren --> Unities abgeben:         
ja, die 80 % Autodesk Lösungen guter Ansatz, bescheidenes Ergebnis. denke aber das es mit Ilogic oder VBA gehen sollte vielleict meldet sich ja hier noch jemand! MfG MacFly ------------------ - - - der Erleuchtung ist es egal wie du Sie erlangst - - - - - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik, Master Eng. IT-Security & Forensic
      

 Beiträge: 2902 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 28. Aug. 2025 14:10 <-- editieren / zitieren --> Unities abgeben:          Nur für MacFly8
Moin Meines Wissens geht es im Standard nicht am Stück. Ob man iLogic oder VBA nimmt, um das aneinander zu knoten, ist fast egal. Für die Aufgabe sind beide verwendbar. Baugruppen AK an 0,0,0 einfügen? Du meinst vmtl. sie soll in der Hauptbaugruppe an der gleichen Stelle liegen wie die orginale Unterbaugruppe oder? Sonst hast du einen dicken Klumpen AK's am Ursprung. Wenn eine Unterbaugruppe mehrfach vorkommt soll die bereits erstellte AK wiederverwendet werden oder? Es sollen nur AK's der ersten Ebene erstellt werden richtig? Also keine AK der Unterunterbaugruppe und die soll erst in die Unterbaugruppe eingefügt werden und dann AK der Unterbaugruppe erstellen und in Hauptbaugruppe einfügen. Ich glaube das meinte nightsta1k3r auch mit kaskadierte Ersatzobjekte (?). ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MacFly8 Ehrenmitglied V.I.P. h.c. Konstrukteur Kessel- & Feuerungsbau
     
 Beiträge: 2102 Registriert: 13.08.2007 HP Z17; 64GB RAM; Nvidia Quadro RTX3000; Inventor Professional PDSU 2012/2023 Mechanical 2012/2020
|
erstellt am: 28. Aug. 2025 14:24 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ralf, Zitat: Baugruppen AK an 0,0,0 einfügen?
Ja kommen aus einem Mastermodell. Zitat: Du meinst vmtl. sie soll in der Hauptbaugruppe an der gleichen Stelle liegen wie die orginale Unterbaugruppe oder?
Ja in die Hauptbaugruppe einfügen Zitat: Wenn eine Unterbaugruppe mehrfach vorkommt soll die bereits erstellte AK wiederverwendet werden oder?
in diesem Fall gibt es jede Baugruppe nur einmal, ansonsten würde es aber Sinn machen das die einmal erstellte AK verbaut wird Zitat: Es sollen nur AK's der ersten Ebene erstellt werden richtig?
Ja Zitat: Also keine AK der Unterunterbaugruppe und die soll erst in die Unterbaugruppe eingefügt werden und dann AK der Unterbaugruppe erstellen und in Hauptbaugruppe einfügen. Ich glaube das meinte nightsta1k3r auch mit kaskadierte Ersatzobjekte (?).
Nein keine Unterbaugruppen der Unterbaugruppen als AK nur 1 Ebene, Nein die Ak soll nur in die Hauptbaugruppe eingefügt werden und die dazugehörige Unterbaugruppe unterdrückt werden. Das endergbnis soll dann aussehen wie im Screenshot. ------------------ - - - der Erleuchtung ist es egal wie du Sie erlangst - - - - - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik, Master Eng. IT-Security & Forensic
      

 Beiträge: 2902 Registriert: 15.11.2006 Windows 10 x64, AIP 2020-2025
|
erstellt am: 28. Aug. 2025 15:59 <-- editieren / zitieren --> Unities abgeben:          Nur für MacFly8
Moin Es ist nur ein erster Entwurf in VBA. Bitte mach VORHER eine Sicherung deiner Produktivdaten oder besser spiel mit Testdaten. Eventuell stimmen noch nicht alle Optionen für die Vereinfachung/Ableitung. Noch ein guter Grund für ein Backup. Die Einschränkungen des ersten Wurfes: Reihenanordnungen werden nicht übertragen. Es wird für jedes Element der Anordnung ein Exemplar der AK eingefügt. Was passiert wenn Anordnungen von Anordnungen benutzt werden, hab ich noch nicht ausprobiert. Unterdrückte Baugruppen werden ignoriert. Ich gehe mal davon aus, das die nicht benötigt werden. Der aktive Modellzustand der Unterbaugruppe, falls es mehrere gibt, wird ignoriert und der primäre verwendet. Es ist nicht möglich in eine AK alle Modellzustände abzuleiten, jedenfalls habe ich es auf die Schnelle nicht hinbekommen. Man müsste, falls Modellzustände (eventuell auch Positionsdarstellungen usw.) existieren, wahrscheinlich für jede Variante eine eigene AK erstellen. Den Aufwand hab ich mir erstmal verkniffen. Code:
Option Explicit' activate "Microsoft Scripting Runtime" in Tools --> References ' "Microsoft Scripting Runtime" unter "Extras" --> "Verweise" aktivieren Public Sub MultiCreatSimplifiedParts() Dim oApp As Inventor.Application Set oApp = ThisApplication Dim sTitle As String sTitle = "multi create simplified parts" If Not oApp.ActiveDocumentType = kAssemblyDocumentObject Then Call MsgBox("Diese Funktion ist nur für Baugruppen verfügbar.", vbExclamation, sTitle) Exit Sub End If Dim oAssDoc As AssemblyDocument Set oAssDoc = oApp.ActiveDocument Dim oOcc As ComponentOccurrence For Each oOcc In oAssDoc.ComponentDefinition.Occurrences If oOcc.DefinitionDocumentType = kAssemblyDocumentObject Then If Not oOcc.Suppressed = True Then Dim sNewPart As String sNewPart = CreateSimplifiedPart(oOcc) If Not sNewPart = "" Then Dim oNewOcc As ComponentOccurrence Set oNewOcc = oAssDoc.ComponentDefinition.Occurrences.Add(sNewPart, oOcc.Transformation) oNewOcc.Grounded = True Call oOcc.Suppress(True) End If End If End If Next Call MsgBox("Fertig", vbInformation, sTitle) End Sub Private Function CreateSimplifiedPart(ByVal oOcc As ComponentOccurrence) As String Dim oApp As Inventor.Application Set oApp = ThisApplication Dim oAssDoc As AssemblyDocument Set oAssDoc = oOcc.Definition.Document Dim oDef As AssemblyComponentDefinition Set oDef = oAssDoc.ComponentDefinition ' Create a new part document that will derive the assembly Dim oPartDoc As PartDocument Set oPartDoc = oApp.Documents.Add(kPartDocumentObject, , False) Dim oPartDef As PartComponentDefinition Set oPartDef = oPartDoc.ComponentDefinition Dim oDerivedAssemblyDef As DerivedAssemblyDefinition Set oDerivedAssemblyDef = oPartDef.ReferenceComponents.DerivedAssemblyComponents.CreateDefinition(oAssDoc.FullDocumentName) ' Set various related options oDerivedAssemblyDef.DeriveStyle = kDeriveAsSingleBodyNoSeams oDerivedAssemblyDef.IncludeAllTopLevelWorkFeatures = kDerivedIncludeAll oDerivedAssemblyDef.IncludeAllTopLevelSketches = kDerivedIncludeAll oDerivedAssemblyDef.IncludeAllTopLeveliMateDefinitions = kDerivedExcludeAll oDerivedAssemblyDef.IncludeAllTopLevelParameters = kDerivedExcludeAll oDerivedAssemblyDef.ReducedMemoryMode = True oDerivedAssemblyDef.RemoveInternalVoids = True oDerivedAssemblyDef.LinkFaceColorFromSource = True Call oDerivedAssemblyDef.SetHolePatchingOptions(kDerivedPatchAll) Dim oDerivedAssembly As DerivedAssemblyComponent Set oDerivedAssembly = oPartDef.ReferenceComponents.DerivedAssemblyComponents.Add(oDerivedAssemblyDef) Call oDerivedAssembly.BreakLinkToFile Dim sPath As String sPath = Left(oAssDoc.FullFileName, InStrRev(oAssDoc.FullFileName, ".") - 1) & "_abgl.ipt" Dim oFso As New FileSystemObject If oFso.FileExists(sPath) Then CreateSimplifiedPart = sPath Exit Function Else Call oPartDoc.SaveAs(sPath, False) End If CreateSimplifiedPart = oPartDoc.FullFileName End Function
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MacFly8 Ehrenmitglied V.I.P. h.c. Konstrukteur Kessel- & Feuerungsbau
     
 Beiträge: 2102 Registriert: 13.08.2007 HP Z17; 64GB RAM; Nvidia Quadro RTX3000; Inventor Professional PDSU 2012/2023 Mechanical 2012/2020
|
erstellt am: 28. Aug. 2025 16:06 <-- editieren / zitieren --> Unities abgeben:         
Hallo Ralf, vielen Dank für deinen ersten Schuss. Ich werde das morgen früh an einer Kopie der Produktivdaten testen. und dir dann Rückmeldung geben. Aber schonmal soviel zu deinen Anmerkungen ... es sind keine Anordnungen vorhanden keine Unterdrückten Baugruppen oder Teile und Modellzustände gibt es auch nicht... MfG MacFly ------------------ - - - der Erleuchtung ist es egal wie du Sie erlangst - - - - - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MacFly8 Ehrenmitglied V.I.P. h.c. Konstrukteur Kessel- & Feuerungsbau
     
 Beiträge: 2102 Registriert: 13.08.2007 HP Z17; 64GB RAM; Nvidia Quadro RTX3000; Inventor Professional PDSU 2012/2023 Mechanical 2012/2020
|
erstellt am: 28. Aug. 2025 17:02 <-- editieren / zitieren --> Unities abgeben:         
Manchmal juckt es dann doch so in den Fingern ;-)....Beim Ausführen kommt folgende Fehlermeldung Sorry mein fehler steht ja oben im Code das ich Microsoft Scripting Runtime aktivieren soll.... jetzt läuft es ich berichte vom Ergebnis MfG MacFly ------------------ - - - der Erleuchtung ist es egal wie du Sie erlangst - - - - - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer)
[Diese Nachricht wurde von MacFly8 am 28. Aug. 2025 editiert.] [Diese Nachricht wurde von MacFly8 am 28. Aug. 2025 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
MacFly8 Ehrenmitglied V.I.P. h.c. Konstrukteur Kessel- & Feuerungsbau
     
 Beiträge: 2102 Registriert: 13.08.2007 HP Z17; 64GB RAM; Nvidia Quadro RTX3000; Inventor Professional PDSU 2012/2023 Mechanical 2012/2020
|
erstellt am: 28. Aug. 2025 17:27 <-- editieren / zitieren --> Unities abgeben:         
das funktioniert einwandfrei und genau so wie ich es mir vorgestellt habe ... MfG MacFly ------------------ - - - der Erleuchtung ist es egal wie du Sie erlangst - - - - - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| |
MacFly8 Ehrenmitglied V.I.P. h.c. Konstrukteur Kessel- & Feuerungsbau
     
 Beiträge: 2102 Registriert: 13.08.2007 HP Z17; 64GB RAM; Nvidia Quadro RTX3000; Inventor Professional PDSU 2012/2023 Mechanical 2012/2020
|
erstellt am: 29. Aug. 2025 14:50 <-- editieren / zitieren --> Unities abgeben:         
Moin Ralf, dein Code hat mir mal wieder enorm viel Arbeit und klickerei erspart... Hatte heute auch nochmal Zeit das ausführlich zu testen. Habe die Zeile oDerivedAssemblyDef.DeriveStyle = kDeriveAsSingleBodyNoSeams durch oDerivedAssemblyDef.DeriveStyle = kDeriveAsMultipleBodies da bei einigen Baugruppen das verschmelzen nicht geklappt hat... Klappt super Vielen Dank MfG MacFly ------------------ - - - der Erleuchtung ist es egal wie du Sie erlangst - - - - - - Wir leben alle unter demselben Himmel, aber wir haben nicht alle denselben Horizont - - - (K. Adenauer) Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |