ansys / pyansys-geometry

A Python wrapper for Ansys Geometry Services
https://geometry.docs.pyansys.com/
MIT License
46 stars 14 forks source link

run_discovery_script_file accepts only non list data, flat dict #1533

Open mcMunich opened 1 week ago

mcMunich commented 1 week ago

πŸ” Before submitting the issue

🐞 Description of the bug

if I try to use the run_discovery_script_file to send anything other than individual string parameters, it fails. While this is slightly documented https://geometry.docs.pyansys.com/version/dev/api/ansys/geometry/core/modeler/Modeler.html#Modeler.run_discovery_script_file() it doesn't say that the dict can be exclusively flat dict. I have tried all variations (nested dictionaries, tuples, lists of strings etc) and only a key:string combination works for the script_args sent to a discovery file. And, to make it useful in the future, it would be nice to be able to send more data to the disco launch.

πŸ“ Steps to reproduce

run the following script to try to send a dict with two keys, the second key being a list of a single string, but it will fail with more than one also.

import tempfile
from ansys.geometry.core import launch_modeler_with_discovery
import os

version = 242

file_name = 'dummy.py'
path2dummy = os.path.join(tempfile.gettempdir(),file_name)

with open(path2dummy,'w') as f:
    f.write('#nothing')

input_dict = {'a':'1', 'b':['2']}

modeler_discovery = launch_modeler_with_discovery(product_version = version)

modeler = modeler_discovery

values = modeler.run_discovery_script_file(path2dummy, script_args = input_dict)

modeler.close()

πŸ’» Which operating system are you using?

Windows

πŸ“€ Which ANSYS version are you using?

242 and/or 251

🐍 Which Python version are you using?

3.12

πŸ“¦ Installed packages

ni
RobPasMue commented 1 week ago

I completely agree - let me see if we can do something here to have it working.