Mesh file reader `else` branch shouldn't take `cad` files.
- Dominant language
- Python
- Stars
- 35
- Forks
- 14
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 11
Description
### 🔍 Before submitting the issue
- [X] I have searched among the existing issues
- [X] I am using a Python virtual environment
### 🐞 Description of the bug
In file `ansys/meshing/prime/lucid/mesh_util.py`, in function `read`, the `else` branch is dedicated to process `cad` files. In case the input string is not a valid extension, the branch will go through this else instead of managing this error.
### 📝 Steps to reproduce
Current code:
```
filename, fileext = os.path.splitext(file_name)
if fileext == ".msh" or file_name[-7:] == ".msh.gz":
prime.FileIO(self._model).import_fluent_meshing_meshes(
[file_name], prime.ImportFluentMeshingMeshParams(self._model, append=append)
)
elif fileext == ".cas":
prime.FileIO(self._model).import_fluent_case(
file_name, prime.ImportFluentCaseParams(self._model, append=append)
)
elif fileext == ".cdb":
prime.FileIO(self._model).import_mapdl_cdb(
file_name, prime.ImportMapdlCdbParams(self._model, append=append)
)
elif fileext == ".pmdat":
prime.FileIO(self._model).read_pmdat(
file_name, prime.FileReadParams(self._model, append=append)
)
else:
prime.FileIO(self._model).import_cad(
file_name,
prime.ImportCadParams(
self._model, append=append, cad_reader_route=cad_reader_route
),
)
```
Possible solution:
```
cad_extensions ["ext1", "ext2"... "extn"]
filename, fileext = os.path.splitext(file_name)
if fileext == ".msh" or file_name[-7:] == ".msh.gz":
prime.FileIO(self._model).import_fluent_meshing_meshes(
[file_name], prime.ImportFluentMeshingMeshParams(self._model, append=append)
)
elif fileext == ".cas":
prime.FileIO(self._model).import_fluent_case(
file_name, prime.ImportFluentCaseParams(self._model, append=append)
)
elif fileext == ".cdb":
prime.FileIO(self._model).import_mapdl_cdb(
file_name, prime.ImportMapdlCdbParams(self._model, append=append)
)
elif fileext == ".pmdat":
prime.FileIO(self._model).read_pmdat(
file_name, prime.FileReadParams(self._model, append=append)
)
elif fileext in cad_extensions:
prime.FileIO(self._model).import_cad(
file_name,
prime.ImportCadParams(
self._model, append=append, cad_reader_route=cad_reader_route
),
)
else:
raise Exception("File is not supported")
```
### 💻 Which operating system are you using?
Windows
### 📀 Which ANSYS version are you using?
_No response_
### 🐍 Which Python version are you using?
3.7
### 📦 Installed packages
```shell
n/a
```
Contributor guide
Assessment
This issue has not been assessed yet.