ansys / ansys/pyprimemesh

large .cdb file will not read in to pyprimemesh

Open
#1,123 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

aps bug
Dominant language
Python
Stars
35
Forks
14
Avg merge
3d 5h
Merged PRs (30d)
11

Description

🔍 Before submitting the issue
  • I have searched among the existing issues
  • I am using a Python virtual environment
🐞 Description of the bug

Try to import large .cdb

import ansys.meshing.prime as prime
from ansys.meshing.prime.graphics.plotter import PrimePlotter

cdb_path = r'ReallyBigFile.cdb'

prime_client = prime.launch_prime()
model = prime_client.model
mesh_util = prime.lucid.Mesh(model=model)
mesh = mesh_util.read(cdb_path)
print(model)
📝 Steps to reproduce

The file I tried to import is 5e6 elements/1.8GB. The same script works for a smaller .cdb 6.4MB). So the scripting isn't wrong. The .cdb can be opened in APDL and it appears not to be corrupt.

💻 Which operating system are you using?

Windows

📀 Which ANSYS version are you using?

the cdb was created in ansys v242

🐍 Which Python version are you using?

3.13

📦 Installed packages
aiohappyeyeballs==2.6.1
aiohttp==3.12.15
aiosignal==1.4.0
alabaster==1.0.0
ansys-api-dbu==0.3.22
ansys-api-geometry==0.4.65
ansys-api-mapdl==0.5.2
ansys-api-meshing-prime==0.1.4
ansys-api-platform-instancemanagement==1.1.3
ansys-geometry-core==0.11.0
ansys-mapdl-core==0.70.2
ansys-mapdl-reader==0.55.1
ansys-math-core==0.2.4
ansys-meshing-prime==0.9.1
ansys-platform-instancemanagement==1.1.2
ansys-tools-path==0.7.3
ansys-tools-visualization-interface==0.11.0
anyio==4.10.0
appdirs==1.4.4
argon2-cffi==25.1.0
argon2-cffi-bindings==25.1.0
arrow==1.3.0
astroid==3.3.11
asttokens==3.0.0
async-lru==2.0.5
asyncssh==2.21.0
atomicwrites==1.4.1
attrs==25.3.0
autopep8==2.0.4
babel==2.17.0
bcrypt==4.3.0
beartype==0.21.0
beautifulsoup4==4.13.4
binaryornot==0.4.4
black==25.1.0
bleach==6.2.0
certifi==2025.8.3
cffi==1.17.1
chardet==5.2.0
charset-normalizer==3.4.2
click==8.2.1
cloudpickle==3.1.1
colorama==0.4.6
comm==0.2.3
contourpy==1.3.3
cookiecutter==2.6.0
cryptography==45.0.6
cycler==0.12.1
debugpy==1.8.16
decorator==5.2.1
defusedxml==0.7.1
diff-match-patch==20241021
dill==0.4.0
docstring-to-markdown==0.17
docutils==0.21.2
easygui==0.98.3
executing==2.2.0
fastjsonschema==2.21.1
flake8==7.1.2
flexcache==0.3
flexparser==0.4
fonttools==4.59.0
fqdn==1.5.1
frozenlist==1.7.0
geomdl==5.4.0
grpcio==1.74.0
grpcio-health-checking==1.62.3
h11==0.16.0
httpcore==1.0.9
httpx==0.28.1
idna==3.10
imagesize==1.4.1
importlib_metadata==8.7.0
inflection==0.5.1
intervaltree==3.1.0
ipykernel==6.30.1
ipython==8.37.0
ipywidgets==8.1.7
isoduration==20.11.0
isort==6.0.1
jaraco.classes==3.4.0
jaraco.context==6.0.1
jaraco.functools==4.2.1
jedi==0.19.2
jellyfish==1.2.0
Jinja2==3.1.6
json5==0.12.0
jsonpointer==3.0.0
jsonschema==4.25.0
jsonschema-specifications==2025.4.1
jupyter-events==0.12.0
jupyter-lsp==2.2.6
jupyter_client==8.6.3
jupyter_core==5.8.1
jupyter_server==2.16.0
jupyter_server_proxy==4.4.0
jupyter_server_terminals==0.5.3
jupyterlab==4.4.5
jupyterlab_pygments==0.3.0
jupyterlab_server==2.27.3
jupyterlab_widgets==3.0.15
keyring==25.6.0
kiwisolver==1.4.8
lark==1.2.2
markdown-it-py==3.0.0
MarkupSafe==3.0.2
matplotlib==3.10.5
matplotlib-inline==0.1.7
mccabe==0.7.0
mdurl==0.1.2
mistune==3.1.3
more-itertools==10.7.0
msgpack==1.1.1
multidict==6.6.3
mypy_extensions==1.1.0
nbclient==0.10.2
nbconvert==7.16.6
nbformat==5.10.4
nest-asyncio==1.6.0
notebook_shim==0.2.4
numpy==2.2.6
numpydoc==1.9.0
overrides==7.7.0
packaging==25.0
pandocfilters==1.5.1
parso==0.8.4
pathspec==0.12.1
pexpect==4.9.0
pickleshare==0.7.5
pillow==11.3.0
Pint==0.24.4
platformdirs==4.3.8
pluggy==1.6.0
pooch==1.8.2
prometheus_client==0.22.1
prompt_toolkit==3.0.51
propcache==0.3.2
protobuf==4.25.8
psutil==7.0.0
ptyprocess==0.7.0
pure_eval==0.2.3
pyansys-tools-versioning==0.6.0
pycodestyle==2.12.1
pycparser==2.22
pydocstyle==6.3.0
pyflakes==3.2.0
PyGithub==2.7.0
Pygments==2.19.2
pyiges==0.3.2
PyJWT==2.10.1
pylint==3.3.7
pylint-venv==3.0.4
pyls-spyder==0.4.0
PyNaCl==1.5.0
pyparsing==3.2.3
PyQt5==5.15.11
PyQt5-Qt5==5.15.2
PyQt5_sip==12.17.0
PyQtWebEngine==5.15.7
PyQtWebEngine-Qt5==5.15.2
python-dateutil==2.9.0.post0
python-json-logger==3.3.0
python-lsp-black==2.0.0
python-lsp-jsonrpc==1.1.2
python-lsp-server==1.12.2
python-slugify==8.0.4
pytoolconfig==1.3.1
pyuca==1.2
pyvista==0.46.0
pywin32==311
pywin32-ctypes==0.2.3
pywinpty==2.0.15
PyYAML==6.0.2
pyzmq==27.0.1
QDarkStyle==3.2.3
qstylizer==0.2.4
QtAwesome==1.4.0
qtconsole==5.6.1
QtPy==2.4.3
referencing==0.36.2
requests==2.32.4
rfc3339-validator==0.1.4
rfc3986-validator==0.1.1
rfc3987-syntax==1.1.0
rich==14.1.0
roman-numerals-py==3.1.0
rope==1.14.0
rpds-py==0.27.0
rtree==1.4.0
scipy==1.16.1
scooby==0.10.1
semver==3.0.4
Send2Trash==1.8.3
setuptools==80.9.0
simpervisor==1.0.0
six==1.17.0
sniffio==1.3.1
snowballstemmer==3.0.1
sortedcontainers==2.4.0
soupsieve==2.7
Sphinx==8.2.3
sphinxcontrib-applehelp==2.0.0
sphinxcontrib-devhelp==2.0.0
sphinxcontrib-htmlhelp==2.1.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==2.0.0
sphinxcontrib-serializinghtml==2.0.0
spyder==6.0.7
spyder-kernels==3.0.5
stack-data==0.6.3
superqt==0.7.5
tabulate==0.9.0
terminado==0.18.1
text-unidecode==1.3
textdistance==4.6.3
three-merge==0.1.1
tinycss2==1.4.0
tomlkit==0.13.3
tornado==6.5.1
tqdm==4.67.1
traitlets==5.14.3
trame==3.11.0
trame-client==3.9.2
trame-common==1.0.1
trame-server==3.6.0
trame-vtk==2.9.1
trame-vuetify==3.0.2
types-python-dateutil==2.9.0.20250708
typing_extensions==4.14.1
ujson==5.10.0
uri-template==1.3.0
urllib3==2.5.0
vtk==9.5.0
watchdog==6.0.0
wcwidth==0.2.13
webcolors==24.11.1
webencodings==0.5.1
websocket-client==1.8.0
websockets==15.0.1
whatthepatch==1.0.7
widgetsnbextension==4.0.14
wslink==2.3.4
yapf==0.43.0
yarl==1.20.1
zipp==3.23.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the issue with the provided pyprimemesh script on Windows, comparing the 6.4 MB and 1.8 GB .cdb inputs. Trace the mesh_util.read(cdb_path) entry point and capture the failure behavior; done means the large file imports successfully or the supported size limitation is clearly identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend-api-design
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.