Add and edit materials using PyMechanical

Benjam
Member Posts: 1 **
in Structures
Dear all,
I'm trying to run a script that build, solve and process a system using PyMechanical.
I'm stuck trying to create and edit material. Is it possible without using Workbench ?
Regards
Tagged:
0
Comments
-
Hello Benjam
Welcome to the forum.
We can import a material data xml file, and assign materials as needed to parts using the below:
materialss = Model.Materials materialss.Import(material_file) # material file is the xml with materials matAssignment = materialss.AddMaterialAssignment() tempSel = ExtAPI.SelectionManager.CreateSelectionInfo(Ansys.ACT.Interfaces.Common.SelectionTypeEnum.GeometryEntities) bodies = [body for body in ExtAPI.DataModel.Project.Model.Geometry.GetChildren(Ansys.Mechanical.DataModel.Enums.DataModelObjectCategory.Body,True)] geobodies = [body.GetGeoBody() for body in bodies] ids = System.Collections.Generic.List[System.Int32]() [ids.Add(item.Id) for item in geobodies] tempSel.Ids = ids matAssignment.Location = tempSel matAssignment.Material = "Aluminum Alloy"
The above works in 2024 R2 (in 2023 R2 there was an issue / see here: https://discuss.ansys.com/discussion/2363/import-materials-in-pymechanical)
Hope this helps to get started - to edit material one could for instance change perhaps a field (say density) inside the xml file directly, and reimport it, but perhaps other forum members have some more ideas( @AKD-Scripting-Team )
All the best
Erik
1