| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: iLogic bauteil aktualsieren (273 / mal gelesen)
|
Fiedel93felix Mitglied Konstrukteur
Beiträge: 481 Registriert: 19.02.2014 Autodesk Inventor 2022 AutoCAD Mechanical 2021 Microsoft Visual Basic 2022
|
erstellt am: 16. Feb. 2024 11:02 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe eine Reihe an Daten mit welchen ein Bauteil geändert wird und anschließend soll das geänderte Bauteil als Step abgelegt werden. Daten übergeben klappt und auch als Step exportieren klappt. Mein Problem ist das aktualsieren des Bauteils vor dem export, es aktualsiert sich einfach nicht. Was ich bereits versucht habe: -unter den Paramtern "sofort aktualisieren" angehackt (nichts passiert, gelber Bltz leuchtet und muss händich gedrückt werden) -iLogicVb.DocumentUpdate (nichts passiert, gelber Bltz leuchtet und muss händich gedrückt werden) -iLogicVb.UpdateWhenDone = True (aktualisiert erst nach dem Export) Kann mir da jemand weiter helfen? ------------------ ---------------------------------- Mit freundlichen Grüßen Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2418 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 16. Feb. 2024 13:43 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Moin Möglichkeit 1 Die Änderungen in Regel1 und den Export in Regel2 packen. Eine übergeordnete Regel erstellen und nacheinander die beiden anderen Regeln mit RunRule ausführen. Das Document.Update dann entsprechend an den Anfang der zweiten Regel. Möglichkeit 2: Parameter.Param verwenden
Code:
Parameter.UpdateAfterChange = True Dim dHoehe As Double = 7.5 Parameter.Param("Hoehe") = dHoehe
Möglichkeit 3: Den "alten" Weg benutzen.
Code:
Dim oPartDoc As PartDocument = ThisDoc.Document Dim dHoehe As Double = 7.5 Dim pHoehe As UserParameter Try pHoehe = oPartDoc.ComponentDefinition.Parameters.UserParameters("Hoehe") pHoehe.Value = dHoehe Catch pHoehe = oPartDoc.ComponentDefinition.Parameters.UserParameters.AddByValue("Hoehe", dHoehe, "mm") End Try
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 481 Registriert: 19.02.2014 Autodesk Inventor 2022 AutoCAD Mechanical 2021 Microsoft Visual Basic 2022
|
erstellt am: 26. Feb. 2024 08:25 <-- editieren / zitieren --> Unities abgeben:
Vielen Dank für die Antwort, die erste Variante funktioniert für mein Vorhaben am besten. Ich habe noch ein Problem wo ich leider kein Ansatz finde. Vor dem Export will ich noch die Ansicht des Bauteils auf den Darstellungsbereich anpassen und ein Bild davon exportieren. (Händisch drücke ich dafür einfach auf den Ausrichtungswürfel oben rechts auf "Vorn" und geh dann auf export und Bild) ------------------ ---------------------------------- Mit freundlichen Grüßen Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2418 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 26. Feb. 2024 10:42 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Moin Ausrichten des aktuellen Views und Export geht über die Camera des Views. Existierende Bilder werden überschrieben! Die Spielerei mit den Hintergrundfarben hab ich mal als Demo mit eingefügt. Muss nicht sein. Code:
Dim oApp As Inventor.Application = ThisApplication Dim oDoc As PartDocument = ThisDoc.Document Dim oCam As Camera = oApp.ActiveView.Camera 'Camera neu ausrichten oCam.ViewOrientationType = ViewOrientationTypeEnum.kFrontViewOrientation oCam.Apply oApp.ActiveView.Fit(True) 'Speicherpfad basteln Dim sPath As String = System.IO.Path.GetDirectoryName (oDoc.FullFileName) ' or "C:\Temp" or whatever Dim sExt As String = "bmp" Dim sFilename As String = System.IO.Path.GetFileNameWithoutExtension(oDoc.FullFileName) Dim sFullfilename As String = sPath & "\" & sFilename & "." & sExt 'Exportoptionen definieren Dim dWidth As Long = 1024 Dim dHeight As Long = 768 Dim oTopColor As Color = oApp.TransientObjects.CreateColor(0, 0, 255) Dim oBottomColor As Color = oApp.TransientObjects.CreateColor(137, 203, 250) 'Export als Bitmap oCam.SaveAsBitmap(sFullfilename, dWidth, dHeight, oTopColor, oBottomColor)
------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 481 Registriert: 19.02.2014 Autodesk Inventor 2022 AutoCAD Mechanical 2021 Microsoft Visual Basic 2022
|
erstellt am: 26. Feb. 2024 13:08 <-- editieren / zitieren --> Unities abgeben:
Vielen dank, das klappt super. Über oDoc.SaveAs(Pfad & Name & ".png", True) lässt sich das Bild sogar noch leichter erstellen. ------------------ ---------------------------------- Mit freundlichen Grüßen Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Fiedel93felix Mitglied Konstrukteur
Beiträge: 481 Registriert: 19.02.2014 Autodesk Inventor 2022 AutoCAD Mechanical 2021 Microsoft Visual Basic 2022
|
erstellt am: 26. Feb. 2024 14:10 <-- editieren / zitieren --> Unities abgeben:
Eine Frage hätte ich noch. Das Modell was ich für die Ertsellung der Step-Dateien verwende ist sehr stark vereinfacht um die Dateigröße der Step möglichst klein zu halten und wenig Daten nach außen zu geben. Mein Problem dabei: Das Gewicht des Bauteils ist falsch und ich möchte hier gern das richtig berechnete Gewicht übergeben. Das neue Gewicht soll in der Step drin bleiben, damit bei Konstrukionen mit der Step das richtige Komplettgewicht angezeigt wird. ------------------ ---------------------------------- Mit freundlichen Grüßen Felix Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
rkauskh Moderator Dipl.-Ing. (FH) Versorgungstechnik
Beiträge: 2418 Registriert: 15.11.2006 Windows 10 x64, AIP 2023
|
erstellt am: 26. Feb. 2024 21:29 <-- editieren / zitieren --> Unities abgeben: Nur für Fiedel93felix
Moin Das Gewicht wird nicht mitgegeben, es wird nach dem Import aus Modellvolumen und Dichte neu berechnet. Du könntest für das vereinfachte Modell ein Ersatzmaterial definieren, bei dem die Dichte aus dem Gewicht des echten Modelles geteilt durch das Volumen des vereinfachten Modelles eingetragen ist. Die Dichte wird mit dem Materialnamen zusammen übergeben. Dieses lokale Ersatzmaterial sollte natürlich nie in eine Materialbibliothek gesynct werden und die Dichte des Ersatzmaterials muss bei jeder Änderung des Modelles neu angepasst werden. Alternativ das echte Gewicht in das iProp "Kommentare" schreiben. Das Feld wird meines Wissens mit exportiert. Dann kann man nach dem Import wenigstens das echte Gewicht dort ablesen und als Überschreibung in die Masse übertragen. ------------------ MfG Ralf Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |