ansys-speos-core 0.5.1__tar.gz → 0.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/PKG-INFO +24 -12
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/README.rst +16 -4
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/pyproject.toml +8 -8
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/body.py +30 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/bsdf.py +436 -45
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/generic/general_methods.py +83 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/generic/visualization_methods.py +147 -14
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/face.py +156 -45
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/proto_message_utils.py +2 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/scene.py +16 -2
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/lxp.py +1 -52
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/project.py +278 -177
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/proto_message_utils.py +5 -2
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/sensor.py +734 -33
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/simulation.py +204 -5
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/source.py +828 -3
- ansys_speos_core-0.6.0/src/ansys/speos/core/workflow/open_result.py +404 -0
- ansys_speos_core-0.5.1/src/ansys/speos/core/workflow/open_result.py +0 -144
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/LICENSE +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/__init__.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/face.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/generic/constants.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/geo_ref.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/intensity.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/__init__.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/body.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/client.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/crud.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/intensity_template.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/job.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/part.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/sensor_template.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/simulation_template.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/sop_template.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/source_template.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/spectrum.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/kernel/vop_template.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/launcher.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/logger.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/opt_prop.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/part.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/py.typed +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/spectrum.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/speos.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/workflow/__init__.py +0 -0
- {ansys_speos_core-0.5.1 → ansys_speos_core-0.6.0}/src/ansys/speos/core/workflow/combine_speos.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ansys-speos-core
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.6.0
|
|
4
4
|
Summary: A Python wrapper for Ansys Speos
|
|
5
5
|
Author-email: "ANSYS, Inc." <pyansys.core@ansys.com>
|
|
6
6
|
Maintainer-email: "ANSYS, Inc." <pyansys.core@ansys.com>
|
|
@@ -23,11 +23,11 @@ License-File: LICENSE
|
|
|
23
23
|
Requires-Dist: protobuf>=3.20,<7
|
|
24
24
|
Requires-Dist: grpcio>=1.50.0,<1.71
|
|
25
25
|
Requires-Dist: grpcio-health-checking>=1.45.0,<1.68
|
|
26
|
-
Requires-Dist: ansys-api-speos==0.
|
|
26
|
+
Requires-Dist: ansys-api-speos==0.15.2
|
|
27
27
|
Requires-Dist: ansys-tools-path>=0.3.1
|
|
28
28
|
Requires-Dist: numpy>=1.20.3,<3
|
|
29
29
|
Requires-Dist: comtypes>=1.4,<1.5
|
|
30
|
-
Requires-Dist: ansys-sphinx-theme==1.
|
|
30
|
+
Requires-Dist: ansys-sphinx-theme==1.5.2 ; extra == "doc"
|
|
31
31
|
Requires-Dist: numpydoc==1.8.0 ; extra == "doc"
|
|
32
32
|
Requires-Dist: Sphinx==8.1.3 ; extra == "doc"
|
|
33
33
|
Requires-Dist: sphinx-copybutton==0.5.2 ; extra == "doc"
|
|
@@ -37,8 +37,8 @@ Requires-Dist: sphinx-jinja==2.0.2 ; extra == "doc"
|
|
|
37
37
|
Requires-Dist: sphinxcontrib-mermaid==1.0.0 ; extra == "doc"
|
|
38
38
|
Requires-Dist: myst-parser==4.0.1 ; extra == "doc"
|
|
39
39
|
Requires-Dist: nbsphinx==0.9.7 ; extra == "doc"
|
|
40
|
-
Requires-Dist: jupytext==1.17.
|
|
41
|
-
Requires-Dist: jupyterlab==4.4.
|
|
40
|
+
Requires-Dist: jupytext==1.17.2 ; extra == "doc"
|
|
41
|
+
Requires-Dist: jupyterlab==4.4.3 ; extra == "doc"
|
|
42
42
|
Requires-Dist: jupyter-server==2.16.0 ; extra == "doc"
|
|
43
43
|
Requires-Dist: nbconvert==7.16.6 ; extra == "doc"
|
|
44
44
|
Requires-Dist: pyvista[jupyter]>=0.43,<0.46 ; extra == "doc"
|
|
@@ -50,13 +50,13 @@ Requires-Dist: jupyterlab>=3 ; extra == "jupyter"
|
|
|
50
50
|
Requires-Dist: ipywidgets ; extra == "jupyter"
|
|
51
51
|
Requires-Dist: pyvista[jupyter]>=0.43,<0.46 ; extra == "jupyter"
|
|
52
52
|
Requires-Dist: ansys-tools-visualization-interface>=0.8.3 ; extra == "jupyter"
|
|
53
|
-
Requires-Dist: notebook==7.4.
|
|
53
|
+
Requires-Dist: notebook==7.4.3 ; extra == "jupyter"
|
|
54
54
|
Requires-Dist: psutil==7.0.0 ; extra == "tests"
|
|
55
|
-
Requires-Dist: pytest==8.
|
|
55
|
+
Requires-Dist: pytest==8.4.1 ; extra == "tests"
|
|
56
56
|
Requires-Dist: pyvista>=0.40.0,<0.46 ; extra == "tests"
|
|
57
57
|
Requires-Dist: ansys-tools-visualization-interface>=0.8.3 ; extra == "tests"
|
|
58
58
|
Requires-Dist: ansys-platform-instancemanagement>=1.0.3 ; extra == "tests"
|
|
59
|
-
Requires-Dist: pytest-cov==6.
|
|
59
|
+
Requires-Dist: pytest-cov==6.2.1 ; extra == "tests"
|
|
60
60
|
Project-URL: Changelog, https://github.com/ansys/pyspeos/blob/main/doc/source/changelog.rst
|
|
61
61
|
Project-URL: Discussions, https://github.com/ansys/pyspeos/discussions
|
|
62
62
|
Project-URL: Documentation, https://speos.docs.pyansys.com/
|
|
@@ -70,12 +70,24 @@ Provides-Extra: tests
|
|
|
70
70
|
|
|
71
71
|
PySpeos library
|
|
72
72
|
================
|
|
73
|
-
|pyansys| |GH-CI| |MIT| |ruff|
|
|
73
|
+
|pyansys| |python| |pypi| |codecov| |GH-CI| |MIT| |ruff|
|
|
74
74
|
|
|
75
75
|
.. |pyansys| image:: https://img.shields.io/badge/Py-Ansys-ffc107.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABDklEQVQ4jWNgoDfg5mD8vE7q/3bpVyskbW0sMRUwofHD7Dh5OBkZGBgW7/3W2tZpa2tLQEOyOzeEsfumlK2tbVpaGj4N6jIs1lpsDAwMJ278sveMY2BgCA0NFRISwqkhyQ1q/Nyd3zg4OBgYGNjZ2ePi4rB5loGBhZnhxTLJ/9ulv26Q4uVk1NXV/f///////69du4Zdg78lx//t0v+3S88rFISInD59GqIH2esIJ8G9O2/XVwhjzpw5EAam1xkkBJn/bJX+v1365hxxuCAfH9+3b9/+////48cPuNehNsS7cDEzMTAwMMzb+Q2u4dOnT2vWrMHu9ZtzxP9vl/69RVpCkBlZ3N7enoDXBwEAAA+YYitOilMVAAAAAElFTkSuQmCC
|
|
76
76
|
:target: https://docs.pyansys.com/
|
|
77
77
|
:alt: PyAnsys
|
|
78
78
|
|
|
79
|
+
.. |python| image:: https://img.shields.io/pypi/pyversions/ansys-speos-core?logo=pypi
|
|
80
|
+
:target: https://pypi.org/project/ansys-speos-core/
|
|
81
|
+
:alt: Python
|
|
82
|
+
|
|
83
|
+
.. |pypi| image:: https://img.shields.io/pypi/v/ansys-speos-core.svg?logo=python&logoColor=white&label=PyPI
|
|
84
|
+
:target: https://pypi.org/project/ansys-speos-core
|
|
85
|
+
:alt: PyPI
|
|
86
|
+
|
|
87
|
+
.. |codecov| image:: https://codecov.io/github/ansys/pyspeos/graph/badge.svg?token=34FKDS6ZKJ
|
|
88
|
+
:target: https://codecov.io/github/ansys/pyspeos
|
|
89
|
+
:alt: Codecov
|
|
90
|
+
|
|
79
91
|
.. |GH-CI| image:: https://github.com/ansys/pyspeos/actions/workflows/ci_cd.yml/badge.svg
|
|
80
92
|
:target: https://github.com/ansys/pyspeos/actions/workflows/ci_cd.yml
|
|
81
93
|
|
|
@@ -201,12 +213,12 @@ Then, to launch SpeosRPC server with product version 2025.1, you can run:
|
|
|
201
213
|
export LICENSE_SERVER=1055@XXX.XXX.XXX.XXX
|
|
202
214
|
|
|
203
215
|
cat GH_TOKEN.txt | docker login ghcr.io -u "$GH_USERNAME" --password-stdin
|
|
204
|
-
docker pull ghcr.io/ansys/speos-rpc:
|
|
205
|
-
docker run --detach --name speos-rpc -p 50098:50098 -e ANSYSLMD_LICENSE_FILE=$LICENSE_SERVER --entrypoint /app/SpeosRPC_Server.x ghcr.io/ansys/speos-rpc:
|
|
216
|
+
docker pull ghcr.io/ansys/speos-rpc:252
|
|
217
|
+
docker run --detach --name speos-rpc -p 50098:50098 -e ANSYSLMD_LICENSE_FILE=$LICENSE_SERVER --entrypoint /app/SpeosRPC_Server.x ghcr.io/ansys/speos-rpc:252
|
|
206
218
|
|
|
207
219
|
.. note::
|
|
208
220
|
|
|
209
|
-
To use the latest image in development, you can use `ghcr.io/ansys/speos-rpc:
|
|
221
|
+
To use the latest image in development, you can use `ghcr.io/ansys/speos-rpc:252`.
|
|
210
222
|
|
|
211
223
|
On the other hand, the SpeosRPC server can be started locally.
|
|
212
224
|
|
|
@@ -1,11 +1,23 @@
|
|
|
1
1
|
PySpeos library
|
|
2
2
|
================
|
|
3
|
-
|pyansys| |GH-CI| |MIT| |ruff|
|
|
3
|
+
|pyansys| |python| |pypi| |codecov| |GH-CI| |MIT| |ruff|
|
|
4
4
|
|
|
5
5
|
.. |pyansys| image:: https://img.shields.io/badge/Py-Ansys-ffc107.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABDklEQVQ4jWNgoDfg5mD8vE7q/3bpVyskbW0sMRUwofHD7Dh5OBkZGBgW7/3W2tZpa2tLQEOyOzeEsfumlK2tbVpaGj4N6jIs1lpsDAwMJ278sveMY2BgCA0NFRISwqkhyQ1q/Nyd3zg4OBgYGNjZ2ePi4rB5loGBhZnhxTLJ/9ulv26Q4uVk1NXV/f///////69du4Zdg78lx//t0v+3S88rFISInD59GqIH2esIJ8G9O2/XVwhjzpw5EAam1xkkBJn/bJX+v1365hxxuCAfH9+3b9/+////48cPuNehNsS7cDEzMTAwMMzb+Q2u4dOnT2vWrMHu9ZtzxP9vl/69RVpCkBlZ3N7enoDXBwEAAA+YYitOilMVAAAAAElFTkSuQmCC
|
|
6
6
|
:target: https://docs.pyansys.com/
|
|
7
7
|
:alt: PyAnsys
|
|
8
8
|
|
|
9
|
+
.. |python| image:: https://img.shields.io/pypi/pyversions/ansys-speos-core?logo=pypi
|
|
10
|
+
:target: https://pypi.org/project/ansys-speos-core/
|
|
11
|
+
:alt: Python
|
|
12
|
+
|
|
13
|
+
.. |pypi| image:: https://img.shields.io/pypi/v/ansys-speos-core.svg?logo=python&logoColor=white&label=PyPI
|
|
14
|
+
:target: https://pypi.org/project/ansys-speos-core
|
|
15
|
+
:alt: PyPI
|
|
16
|
+
|
|
17
|
+
.. |codecov| image:: https://codecov.io/github/ansys/pyspeos/graph/badge.svg?token=34FKDS6ZKJ
|
|
18
|
+
:target: https://codecov.io/github/ansys/pyspeos
|
|
19
|
+
:alt: Codecov
|
|
20
|
+
|
|
9
21
|
.. |GH-CI| image:: https://github.com/ansys/pyspeos/actions/workflows/ci_cd.yml/badge.svg
|
|
10
22
|
:target: https://github.com/ansys/pyspeos/actions/workflows/ci_cd.yml
|
|
11
23
|
|
|
@@ -131,12 +143,12 @@ Then, to launch SpeosRPC server with product version 2025.1, you can run:
|
|
|
131
143
|
export LICENSE_SERVER=1055@XXX.XXX.XXX.XXX
|
|
132
144
|
|
|
133
145
|
cat GH_TOKEN.txt | docker login ghcr.io -u "$GH_USERNAME" --password-stdin
|
|
134
|
-
docker pull ghcr.io/ansys/speos-rpc:
|
|
135
|
-
docker run --detach --name speos-rpc -p 50098:50098 -e ANSYSLMD_LICENSE_FILE=$LICENSE_SERVER --entrypoint /app/SpeosRPC_Server.x ghcr.io/ansys/speos-rpc:
|
|
146
|
+
docker pull ghcr.io/ansys/speos-rpc:252
|
|
147
|
+
docker run --detach --name speos-rpc -p 50098:50098 -e ANSYSLMD_LICENSE_FILE=$LICENSE_SERVER --entrypoint /app/SpeosRPC_Server.x ghcr.io/ansys/speos-rpc:252
|
|
136
148
|
|
|
137
149
|
.. note::
|
|
138
150
|
|
|
139
|
-
To use the latest image in development, you can use `ghcr.io/ansys/speos-rpc:
|
|
151
|
+
To use the latest image in development, you can use `ghcr.io/ansys/speos-rpc:252`.
|
|
140
152
|
|
|
141
153
|
On the other hand, the SpeosRPC server can be started locally.
|
|
142
154
|
|
|
@@ -4,7 +4,7 @@ build-backend = "flit_core.buildapi"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ansys-speos-core"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.6.0"
|
|
8
8
|
description = "A Python wrapper for Ansys Speos"
|
|
9
9
|
readme = "README.rst"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -30,7 +30,7 @@ dependencies=[
|
|
|
30
30
|
"protobuf>=3.20,<7",
|
|
31
31
|
"grpcio>=1.50.0,<1.71",
|
|
32
32
|
"grpcio-health-checking>=1.45.0,<1.68",
|
|
33
|
-
"ansys-api-speos==0.
|
|
33
|
+
"ansys-api-speos==0.15.2",
|
|
34
34
|
"ansys-tools-path>=0.3.1",
|
|
35
35
|
"numpy>=1.20.3,<3",
|
|
36
36
|
"comtypes>=1.4,<1.5",
|
|
@@ -43,11 +43,11 @@ graphics = [
|
|
|
43
43
|
]
|
|
44
44
|
tests = [
|
|
45
45
|
"psutil==7.0.0",
|
|
46
|
-
"pytest==8.
|
|
46
|
+
"pytest==8.4.1",
|
|
47
47
|
"pyvista>=0.40.0,<0.46",
|
|
48
48
|
"ansys-tools-visualization-interface>=0.8.3",
|
|
49
49
|
"ansys-platform-instancemanagement>=1.0.3",
|
|
50
|
-
"pytest-cov==6.
|
|
50
|
+
"pytest-cov==6.2.1",
|
|
51
51
|
]
|
|
52
52
|
jupyter = [
|
|
53
53
|
"matplotlib",
|
|
@@ -55,10 +55,10 @@ jupyter = [
|
|
|
55
55
|
"ipywidgets",
|
|
56
56
|
"pyvista[jupyter]>=0.43,<0.46",
|
|
57
57
|
"ansys-tools-visualization-interface>=0.8.3",
|
|
58
|
-
"notebook==7.4.
|
|
58
|
+
"notebook==7.4.3",
|
|
59
59
|
]
|
|
60
60
|
doc = [
|
|
61
|
-
"ansys-sphinx-theme==1.
|
|
61
|
+
"ansys-sphinx-theme==1.5.2",
|
|
62
62
|
"numpydoc==1.8.0",
|
|
63
63
|
"Sphinx==8.1.3",
|
|
64
64
|
"sphinx-copybutton==0.5.2",
|
|
@@ -68,8 +68,8 @@ doc = [
|
|
|
68
68
|
"sphinxcontrib-mermaid==1.0.0",
|
|
69
69
|
"myst-parser==4.0.1",
|
|
70
70
|
"nbsphinx==0.9.7",
|
|
71
|
-
"jupytext==1.17.
|
|
72
|
-
"jupyterlab==4.4.
|
|
71
|
+
"jupytext==1.17.2",
|
|
72
|
+
"jupyterlab==4.4.3",
|
|
73
73
|
"jupyter-server==2.16.0",
|
|
74
74
|
"nbconvert==7.16.6",
|
|
75
75
|
"pyvista[jupyter]>=0.43,<0.46",
|
|
@@ -29,6 +29,8 @@ from typing import List, Mapping, Optional, Union
|
|
|
29
29
|
|
|
30
30
|
from ansys.speos.core import proto_message_utils
|
|
31
31
|
import ansys.speos.core.face as face
|
|
32
|
+
import ansys.speos.core.generic.general_methods as general_methods
|
|
33
|
+
from ansys.speos.core.generic.visualization_methods import _VisualData
|
|
32
34
|
from ansys.speos.core.geo_ref import GeoRef
|
|
33
35
|
from ansys.speos.core.kernel.body import ProtoBody
|
|
34
36
|
from ansys.speos.core.kernel.client import SpeosClient
|
|
@@ -72,6 +74,7 @@ class Body:
|
|
|
72
74
|
self._parent_part = parent_part
|
|
73
75
|
self._name = name
|
|
74
76
|
self.body_link = None
|
|
77
|
+
self._visual_data = _VisualData() if general_methods._GRAPHICS_AVAILABLE else None
|
|
75
78
|
"""Link object for the body in database."""
|
|
76
79
|
|
|
77
80
|
if metadata is None:
|
|
@@ -82,6 +85,30 @@ class Body:
|
|
|
82
85
|
|
|
83
86
|
self._geom_features = []
|
|
84
87
|
|
|
88
|
+
@property
|
|
89
|
+
def visual_data(self):
|
|
90
|
+
"""Property containing irradiance sensor visualization data.
|
|
91
|
+
|
|
92
|
+
Returns
|
|
93
|
+
-------
|
|
94
|
+
VisualData
|
|
95
|
+
Instance of VisualData Class for pyvista.PolyData of feature faces, coordinate_systems.
|
|
96
|
+
|
|
97
|
+
"""
|
|
98
|
+
import numpy as np
|
|
99
|
+
|
|
100
|
+
if self._visual_data.updated is True:
|
|
101
|
+
return self._visual_data
|
|
102
|
+
for feature_face in self._geom_features:
|
|
103
|
+
vertices = np.array(feature_face._face.vertices).reshape(-1, 3)
|
|
104
|
+
facets = np.array(feature_face._face.facets).reshape(-1, 3)
|
|
105
|
+
temp = np.full(facets.shape[0], 3)
|
|
106
|
+
temp = np.vstack(temp)
|
|
107
|
+
facets = np.hstack((temp, facets))
|
|
108
|
+
self._visual_data.add_data_mesh(vertices, facets)
|
|
109
|
+
self._visual_data.updated = True
|
|
110
|
+
return self._visual_data
|
|
111
|
+
|
|
85
112
|
@property
|
|
86
113
|
def geo_path(self) -> GeoRef:
|
|
87
114
|
"""Geometry path to be used within other speos objects."""
|
|
@@ -159,6 +186,9 @@ class Body:
|
|
|
159
186
|
ansys.speos.core.body.Body
|
|
160
187
|
Body feature.
|
|
161
188
|
"""
|
|
189
|
+
if general_methods._GRAPHICS_AVAILABLE:
|
|
190
|
+
self._visual_data.updated = False
|
|
191
|
+
|
|
162
192
|
# Commit faces contained in this body
|
|
163
193
|
for g in self._geom_features:
|
|
164
194
|
g.commit()
|