ansys / pyedb

pyedb is a Python library to use the EDB client library.
https://edb.docs.pyansys.com/
MIT License
6 stars 4 forks source link

"Unable to set props" when placing encrypted a3dcomps with EDB API #199

Closed askoeho closed 3 months ago

askoeho commented 7 months ago

Before submitting the issue

Description of the bug

When using the EDB API to place an encrypted a3dcomp with 2022R2.4 I get the error message "Unable to set props" in Electronics Desktop

image

All pyaedt versions after 0.7.8 are affected. Placing components works with 0.7.8 but not with 0.7.9 or 0.7.10

Steps To Reproduce

Use EDB API to place encrypted a3dcomp with the following line. Open design in Electronics Desktop 2022R2.4. Get "Unable to set props" error.

my_edb.stackup.place_a3dcomp_3d_placement

Which Operating System are you using?

Windows

Which Python version are you using?

3.10

Installed packages

ansys-pythonnet==3.1.0rc3 attrs==23.2.0
cffi==1.16.0
clr-loader==0.2.6 defusedxml==0.7.1 fonttools==4.47.2 fpdf2==2.7.7
json5==0.9.14
jsonschema==4.21.0 jsonschema-specifications==2023.12.1 numpy==1.26.3 pillow==10.2.0 plumbum==1.8.2 psutil==5.9.7 pyaedt==0.7.10 pycparser==2.21 pywin32==306 referencing==0.32.1 rpds-py==0.17.1 rpyc==5.3.1

askoeho commented 5 months ago

Not limited to only 2022R2 but also 2023R2.

So if I place a a3dcomp with place_a3dcomp_3d_placement and create an HFSS setup -> this bug will trigger.

edb.stackup.place_a3dcomp_3d_placement
setup = edb.create_hfss_setup("Setup1")
setup.set_solution_single_frequency(frequency="2GHz")
setup.add_frequency_sweep("Sweep", frequency_sweep=[["linear scale", "0.1GHz", "8GHz", "0.05GHz"]])
gkorompi commented 4 months ago

Hello @askoeho, place_a3dcomp_3d_placement is not a property (to be used without "()"), but a function. The correct expression is edbapp.stackup.place_a3dcomp_3d_placement(path_str)

askoeho commented 3 months ago

@gkorompi I'm very aware of that. It was just a simple example how to reproduce the problem with any parameters. Seems that this issue was fixed in some recent releases of pyedb.