Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor .NET
  FEM ansprechen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
  
PNY GeForce RTX® 4090, RTX® 4080 16GB, und RTX® 4080 12GB; PNY stellt die neue Generation der NVIDIA GeForce RTX 40 GPUs vor
Autor Thema:  FEM ansprechen (167 / mal gelesen)
conness
Mitglied
Dipl.-Ing. (FH) Umformtechniker www.4ming.eu


Sehen Sie sich das Profil von conness an!   Senden Sie eine Private Message an conness  Schreiben Sie einen Gästebucheintrag für conness

Beiträge: 535
Registriert: 07.08.2004

Inventor 2024

erstellt am: 11. Apr. 2024 12:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi, ich entwickle eine Konsolenanwendung und möchte ein Inventor-Bauteil manipulieren (indem ich einen Parameter ändere) und anschliessend eine FEM ausführen lassen.
Welche Objekte benötige ich, um die FEM anzustossen? ChatGPT konnte mir hier nicht weiterhelfen.

Das auslesen der Parameter und die Manipulation des Bauteils funktioniert alles super.
Ist es vielleicht gar nicht möglich die FEM anzusprechen?

Hier mein bisheriger Code:

Imports Inventor
Imports System.Runtime.InteropServices

Module Module1

    Sub Main()
        Dim invApp As Inventor.Application = Nothing

        Try
            ' Verbindung zur laufenden Inventor-Instanz herstellen
            invApp = DirectCast(Marshal.GetActiveObject("Inventor.Application"), Inventor.Application)

            ' Stelle sicher, dass Inventor sichtbar ist
            invApp.Visible = True

            ' Zugriff auf das aktuell geöffnete Dokument
            Dim doc As Document = invApp.ActiveDocument

            ' Überprüfen, ob es sich um ein Teil-Dokument handelt
            If TypeOf doc Is PartDocument Then
                Dim partDoc As PartDocument = DirectCast(doc, PartDocument)

                ' Zugriff auf die Parameter des Modells
                Dim params As Parameters = partDoc.ComponentDefinition.Parameters

                ' Finde den "Winkel" Parameter
                Dim angleParam As Parameter = params.Item("Winkel")

                ' Setze den Wert des "Winkel" Parameters auf 15 Grad, umgerechnet in Radianten
                angleParam.Value = 15 * (Math.PI / 180)


                ' Aktualisiere das Dokument, um die Änderung anzuzeigen
                partDoc.Update()

                Console.WriteLine("Der Parameter 'Winkel' wurde auf 15 Grad gesetzt.")
            Else
                Console.WriteLine("Das aktuelle Dokument ist kein Teil-Dokument.")
            End If

        Catch ex As Exception
            Console.WriteLine("Fehler: " & ex.Message)
        End Try

        ' Halte das Konsolenfenster offen
        Console.WriteLine("Drücken Sie eine beliebige Taste, um fortzufahren...")
        Console.ReadKey()
    End Sub

End Module

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2447
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 11. Apr. 2024 14:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für conness 10 Unities + Antwort hilfreich

Moin

Zu den Fähigkeiten von ChatGPT sag ich lieber nix.

Der Zugriff ist schwierig, da die ganzen Zusatzmodule keine API bereitstellen. Du kannst versuchen in das Environment "Analyse" zu wechseln und dort ein ControlDefinition auszuführen. Außerhalb dieses Environment konnte ich keine Reaktion auf die kurz angetesteten ControlDefinitions feststellen. Es gibt folgende ControlDefinitions, die mit "Fea" beginnen. Möglicherweise ist da was dabei, um eine vorhandene Analyse zu aktualisieren.


    FeaActivateResultCmd
    FeaActivateSimCmd
    FeaAddProbeCmd
    FeaAnimateCmd
    FeaAssignMaterialsCmd
    FeaAssignMaterialsCtxCmd
    FeaBaseConfigCmd
    FeaBoundaryConditionsCmd
    FeaBuildThinElementCmd
    FeaBuildThinElementCtxCmd
    FeaColorChartCmd
    FeaConstraintsGuideCtxCmd
    FeaContactsCtxCmd
    FeaContourPlotCmd
    FeaConvergenceCmd
    FeaConvergencePlotCmd
    FeaConvergencePlotCtxCmd
    FeaCopyCmd
    FeaCreateConstrFixedCmd
    FeaCreateConstrFixedCtxCmd
    FeaCreateConstrFrictionlessCmd
    FeaCreateConstrFrictionlessCtxCmd
    FeaCreateConstrPinCmd
    FeaCreateConstrPinCtxCmd
    FeaCreateContactAutoCmd
    FeaCreateContactAutoCtxCmd
    FeaCreateContactManualCmd
    FeaCreateContactManualCtxCmd
    FeaCreateDesignConstrCmd
    FeaCreateLoadBearingCmd
    FeaCreateLoadBearingCtxCmd
    FeaCreateLoadBodyCmd
    FeaCreateLoadBodyCtxCmd
    FeaCreateLoadForceCmd
    FeaCreateLoadForceCtxCmd
    FeaCreateLoadGravityCmd
    FeaCreateLoadGravityCtxCmd
    FeaCreateLoadMomentCmd
    FeaCreateLoadMomentCtxCmd
    FeaCreateLoadPressureCmd
    FeaCreateLoadPressureCtxCmd
    FeaCreateLoadRemoteForceCmd
    FeaCreateLoadRemoteForceCtxCmd
    FeaCreateLocalMeshControlCmd
    FeaCreateLocalMeshControlCtxCmd
    FeaCreateOffsetCmd
    FeaCreateResultParamsCmd
    FeaCreateSimCmd
    FeaDeleteAllProbeCmd
    FeaDeleteDesignConstrCmd
    FeaDeleteDesignParamCmd
    FeaDeleteObjectCmd
    FeaDeleteProbeCmd
    FeaEditConstrFixedCmd
    FeaEditConstrFrictionlessCmd
    FeaEditConstrPinCmd
    FeaEditContactCmd
    FeaEditContactsCmd
    FeaEditDesignConstrCmd
    FeaEditLoadBearingCmd
    FeaEditLoadBodyCmd
    FeaEditLoadForceCmd
    FeaEditLoadGravityCmd
    FeaEditLoadMomentCmd
    FeaEditLoadPressureCmd
    FeaEditLoadRemoteForceCmd
    FeaEditLocalMeshControlCmd
    FeaEditMidSurfaceCmd
    FeaEditOffsetCmd
    FeaEditSimCmd
    FeaEnableComponent3rdStateCmd
    FeaEnableComponentCmd
    FeaExcludeFromSim3rdStateCmd
    FeaExcludeFromSimCmd
    FeaExResultsCmd
    FeaFindInBrowserCmd
    FeaFindThinModelsCmd
    FeaFinishCtxCmd
    FeaGenerateAllConfigsCmd
    FeaGenerateRangeConfigsCmd
    FeaGenerateReportCmd
    FeaGenerateSingleConfigCmd
    FeaGlyphsVisibility3rdStateCmd
    FeaGlyphsVisibilityCmd
    FeaIsolateBodyCmd
    FeaLoadGuideCtxCmd
    FeaLocateProbeCmd
    FeaMaxResultCmd
    FeaMeshLabelsCmd
    FeaMeshPlotCmd
    FeaMeshPlotCtxCmd
    FeaMeshSettingCmd
    FeaMeshSettingCtxCmd
    FeaMinResultCmd
    FeaNoPlotCmd
    FeaOpenComponentCmd
    FeaParametricTableCmd
    FeaPasteCmd
    FeaProbeLabelsCmd
    FeaPromoteConfigCmd
    FeaPromoteMaterialsCmd
    FeaPurgeMaterialsCmd
    FeaReactionsCmd
    FeaResetAllPositionsCmd
    FeaResetPositionCmd
    FeaRestoreBrepView
    FeaResultScaleCmd
    FeaResultsGuideCtxCmd
    FeaRevertMaterialsCmd
    FeaSameScaleCmd
    FeaShowAllMaterials3rdStateCmd
    FeaShowAllMaterialsCmd
    FeaShowConfigThicknessCmd
    FeaShowParamsCmd
    FeaSimulateCancelCmd
    FeaSimulateCmd
    FeaSimulateCtxCmd
    FeaSimulateEndCmd
    FeaSimulateStartCmd
    FeaSimulationCopyCmd
    FeaSimulationLogCmd
    FeaSimulationSettingsCmd
    FeaSmoothPlotCmd
    FeaStartupGuideCmd
    FeaSuppress3rdStateCmd
    FeaSuppressCmd
    FeaUpdateContactsCmd
    FeaUpdateDesignConstrCmd
    FeaUpdateDesignParamCmd
    FeaUpdateLoadsCmd
    FeaUpdateMeshCmd
    FeaUpdateShellDefinitionsCmd
    FeaVisibility3rdStateCmd
    FeaVisibilityCmd

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

conness
Mitglied
Dipl.-Ing. (FH) Umformtechniker www.4ming.eu


Sehen Sie sich das Profil von conness an!   Senden Sie eine Private Message an conness  Schreiben Sie einen Gästebucheintrag für conness

Beiträge: 535
Registriert: 07.08.2004

Inventor 2024

erstellt am: 11. Apr. 2024 20:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Ralf,

danke für den Ansatz. Wie ist die genaue Bezeichnung des Enviroments Analyse?

Hab folgenden Code integriert:

' Zugriff auf das UserInterfaceManager-Objekt
Dim uiManager As UserInterfaceManager
uiManager = invApp.UserInterfaceManager

' Aktivieren des "Analyse"-Environments
Dim analysisEnv As Environment
analysisEnv = uiManager.Environments.Item("Analyse")

Die letzte Zeile spackt, hab vermutlich die falsche Enviroment Bezeichnung verwendet.

Wo finde ich mehr Informationen, am Besten ein Beispiel mit ControlDefinitions.

Danke für Deine Unterstützung.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

conness
Mitglied
Dipl.-Ing. (FH) Umformtechniker www.4ming.eu


Sehen Sie sich das Profil von conness an!   Senden Sie eine Private Message an conness  Schreiben Sie einen Gästebucheintrag für conness

Beiträge: 535
Registriert: 07.08.2004

Inventor 2024

erstellt am: 11. Apr. 2024 21:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi,

bin schon einen Schritt weiter. Hab nun das Enviroment mit folgenden Befehl aktiviert:

' Aktivieren des "Analyse"-Environments
Dim analysisEnv As Environment
analysisEnv = uiManager.Environments.Item(12)

Werde Morgen Früh mit den ControlDefinitions experimentieren.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




Sehen Sie sich das Profil von rkauskh an!   Senden Sie eine Private Message an rkauskh  Schreiben Sie einen Gästebucheintrag für rkauskh

Beiträge: 2447
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 11. Apr. 2024 23:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für conness 10 Unities + Antwort hilfreich

Moin

Versuch beim Item mal den InternalName "FEA Environment Internal Name" statt dem DisplayName.
Für ControlDefinitions:

Code:

Dim oCM As CommandManager
oCM = invApp.CommandManager

Dim oCD As ControlDefinition
oCD = oCM.ControlDefinitions.Item("FeaSimulateCmd")
oCD.Execute


Das Control startet den Simulationsdialog. Eventuell kann man den mit einem SendKey bestätigen.

------------------
MfG
Ralf

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

conness
Mitglied
Dipl.-Ing. (FH) Umformtechniker www.4ming.eu


Sehen Sie sich das Profil von conness an!   Senden Sie eine Private Message an conness  Schreiben Sie einen Gästebucheintrag für conness

Beiträge: 535
Registriert: 07.08.2004

Inventor 2024

erstellt am: 12. Apr. 2024 09:05    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Der InternalName "FEA Environment Internal Name" bringt leider den Fehler:
"Der öffentliche Member InternalName für den Typ Environments wurde nicht gefunden."

Deshalb muss ich derzeit die Environments FEA über die Item Position 12 ansprechen. Ist natürlich eine Fehlerquelle.

Hier die problematische Codezeile:
analysisEnv = uiManager.Environments.InternalName("FEA Environment Internal Name")

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

conness
Mitglied
Dipl.-Ing. (FH) Umformtechniker www.4ming.eu


Sehen Sie sich das Profil von conness an!   Senden Sie eine Private Message an conness  Schreiben Sie einen Gästebucheintrag für conness

Beiträge: 535
Registriert: 07.08.2004

Inventor 2024

erstellt am: 12. Apr. 2024 09:09    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

OK, habs geschnallt:

analysisEnv = uiManager.Environments.Item("FEA Environment Internal Name")

So klappts!

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

conness
Mitglied
Dipl.-Ing. (FH) Umformtechniker www.4ming.eu


Sehen Sie sich das Profil von conness an!   Senden Sie eine Private Message an conness  Schreiben Sie einen Gästebucheintrag für conness

Beiträge: 535
Registriert: 07.08.2004

Inventor 2024

erstellt am: 12. Apr. 2024 10:47    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Ralf,

tatsächlich kriege ich die Simulation nicht automatisiert gestartet. Auch ein SendKey("Enter") bringt mich nicht weiter.
Gibt es eine Übersicht der Methoden zu den ControlDefinitions?
Ausser .Execute noch weitere Methoden?
Wäre schade wenn ich über ControlDefinitions zwar Zugang zu allen ControlDefinitions erhalte, diese aber nicht aktiv starten kann.

SendKey scheint mir nicht sehr vertrauenswürdig zu sein.

MfG Konrad

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

conness
Mitglied
Dipl.-Ing. (FH) Umformtechniker www.4ming.eu


Sehen Sie sich das Profil von conness an!   Senden Sie eine Private Message an conness  Schreiben Sie einen Gästebucheintrag für conness

Beiträge: 535
Registriert: 07.08.2004

Inventor 2024

erstellt am: 12. Apr. 2024 18:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hi Ralf,
hat nun doch noch geklappt. Musste aber ordentlich tricksen.

Imports Inventor
Imports System.Runtime.InteropServices ' Benötigt, um SendKeys zu nutzen
Imports System.Windows.Forms

' Importiere die SetForegroundWindow Funktion aus der user32.dll
<DllImport("user32.dll", SetLastError:=True)>
Private Function SetForegroundWindow(ByVal hWnd As IntPtr) As Boolean
End Function


' Zugriff auf das CommandManager-Objekt
Dim commandManager As CommandManager
commandManager = invApp.CommandManager

' Ausführen einer spezifischen ControlDefinition
Dim controlDef As ControlDefinition
controlDef = commandManager.ControlDefinitions.Item("FeaSimulateCmd")

' Bringe das Inventor-Fenster in den Vordergrund
Dim hWnd As IntPtr = invApp.MainFrameHWND
SetForegroundWindow(hWnd)

' Führe das Kommando aus. Der Dialog wird angezeigt und automatisch ausgeführt.
controlDef.Execute()

' Simuliere einen Enter-Tastendruck, um den "Ausführen"-Button zu betätigen
SendKeys.SendWait("{ENTER}")

MfG Konrad

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2024 CAD.de | Impressum | Datenschutz