Bug located in h3d.get_setup
Opened this issue · 1 comments
Before submitting the issue
- I have searched among the existing issues
- I am using a Python virtual environment
Description of the bug
When I tried to get Solution Setup data from existed HFSS 3D Layout, I missed "AdaptiveSettings" data.
Steps To Reproduce
-
Open exist HFSS 3D Layout Project
h3d = pyaedt.Hfss3dLayout(project=example_h3d_prj, version=aedt_version) -
Get Setup Data
setup_list = h3d.get_setup(exist_setup_name) -
Check
setup_list.props <- No "AdatvieSettings" key
Which Operating System are you using?
Windows
Which Python version are you using?
3.10
Installed packages
annotated-types==0.7.0
ansys-pythonnet==3.1.0rc3
attrs==24.2.0
cffi==1.17.0
clr-loader==0.2.6
defusedxml==0.7.1
fonttools==4.53.1
fpdf2==2.7.9
jsonschema==4.23.0
jsonschema-specifications==2023.12.1
numpy==1.26.4
pandas==2.2.2
pillow==10.4.0
plumbum==1.8.3
psutil==6.0.0
pyaedt==0.9.10
pycparser==2.22
pydantic==2.8.2
pydantic_core==2.20.1
pyedb==0.23.0
python-dateutil==2.9.0.post0
pytomlpp==1.0.13
pytz==2024.1
pywin32==306
referencing==0.35.1
rpds-py==0.20.0
rpyc==6.0.0
Rtree==1.3.0
scikit-rf==1.2.0
scipy==1.14.0
six==1.16.0
toml==0.10.2
typing_extensions==4.12.2
tzdata==2024.1
Hi @ANSYS-KOREA ,
After investigation, I realized this information is not part of the .aedt file, for that reason PyAEDT is not able to grab it to populate the props dictionary. I discovered that this data is obtained from the EDB file, and AEDT internally is parsing the setup and finally it is shown in the UI.
So the workaround is play with PyEDB to get the data:
from pyaedt import Hfss3dLayout
from pyaedt import Edb
import os
aedtapp = Hfss3dLayout(version="2024.2")
aedb_dir = aedtapp.project_file.replace(".aedt", ".aedb")
edbapp = Edb(aedb_dir,
cellname=aedtapp.design_name,
isreadonly=True,
edbversion=aedtapp.desktop_class.aedt_version_id,
isaedtowned=True,
oproject=aedtapp.oproject,
)
setup_props = edbapp.setups["HFSS Setup 1"].adaptive_settings
aedtapp.release_desktop(False, False)
If you need to SET the data, I suggest first to load the PyEDB file, set and save, and then open the EDB file in a HFSS 3DLayout.
For Layout pre/postprocessing I encourage you to use PyEDB:
https://github.com/ansys/pyedb
For simulation, you can choose either SIwave or HFSS 3DLayout.
Regards,
Samuel