Project configuration file#

The project configuration file is the most comprehensive format that allows to apply a set of variables, materials, setup, mesh, and boundaries to a new project or save an existing one. This code creates the JSON file:

from ansys.aedt.core import Icepak
ipk = Icepak()
filename = "test"
ipk.export_3d_model(file_name=filename,
                    file_path=ipk.working_directory,
                    file_format=".step",
                    object_list=[],
                    removed_objects=[])
conf_file = ipk.configurations.export_config()
ipk.release_desktop()

This code imports the project configuration from the JSON file:

app.modeler.import_3d_cad(file_path)
out = app.configurations.import_config(conf_file)

File structure examples:

Icepak Example

HFSS 3D Layout Example

{
    "general": {
        "pyaedt_version": "0.8.dev0",
        "model_units": "mm",
        "design_name": "IcepakDesign1",
        "date": "09/01/2024 08:22:17",
        "object_mapping": {
            # object_id: [
            #     object_name,
            #    object_center
            # ],
            "12": [
                "Region",
                [
                    80.0,
                    14.243,
                    -55.0
                ]
            ]
        },
        "output_variables": {},
        "variables": {},
        "postprocessing_variables": {}
    },
    "setups": {
        # Setup Name : {Setup Properties}
        "MySetupAuto": {
            "Enabled": true,
            "Flow Regime": "Turbulent",
            "Include Temperature": true,
        }
    },
    "boundaries": {
        # Boundary Name : {Boundary Properties}
        "CPU": {
            "Objects": [
                "CPU"
            ],
            "Block Type": "Solid",
            "Use External Conditions": false,
            "Total Power": "25W",
            "BoundType": "Block"
        },
    },
    "mesh": {
        "Settings": {
            # mesh_properties,
            "MeshMethod": "MesherHD",
            "UserSpecifiedSettings": true,
            "ComputeGap": true,
            "MaxElementSizeX": "16mm",
            "MaxElementSizeY": "3.5mm",
            "MaxElementSizeZ": "11mm",
            # ....
        }
    },
    "materials": {
        # Material Name : {Material Properties}
        "Al-Extruded": {
            "CoordinateSystemType": "Cartesian",
            "BulkOrSurfaceType": 1,
            "PhysicsTypes": {
                "set": [
                    "Thermal"
                ]
            },
            "AttachedData": {
                "MatAppearanceData": {
                    "property_data": "appearance_data",
                    "Red": 232,
                    "Green": 235,
                    "Blue": 235
                }
            },
            "thermal_conductivity": "205",
            "mass_density": "2800",
            "specific_heat": "900",
            "thermal_material_type": {
                "property_type": "ChoiceProperty",
                "Choice": "Solid"
            },
            "clarity_type": {
                "property_type": "ChoiceProperty",
                "Choice": "Opaque"
            }
        },
    },
    "objects": {
        # Object Name: {object properties}
        "Region": {
            "SurfaceMaterial": "",
            "Material": "air",
            "SolveInside": true,
            "Model": true,
            "Group": "",
            "Transparency": 0.0,
            "Color": [
                255,
                0,
                0
            ],
            "CoordinateSystem": "Global"
        },

    },
    "datasets": [
        # Dataset Name : {Dataset Properties}
    ],
    "monitors": [
        # Monitor Name : {Monitor Properties}
    ],
    "native components": {
        # Component Name : {Component Properties}
    }
}

For a practical demonstration, see the Project configuration file example