netgen-mesher 6.2.2506.post35.dev0__cp314-cp314-win_amd64.whl
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.
- netgen/NgOCC.py +7 -0
- netgen/__init__.py +114 -0
- netgen/__init__.pyi +22 -0
- netgen/__main__.py +53 -0
- netgen/cmake/NetgenConfig.cmake +79 -0
- netgen/cmake/netgen-targets-release.cmake +69 -0
- netgen/cmake/netgen-targets.cmake +146 -0
- netgen/config/__init__.py +1 -0
- netgen/config/__init__.pyi +52 -0
- netgen/config/__main__.py +4 -0
- netgen/config/config.py +68 -0
- netgen/config/config.pyi +54 -0
- netgen/csg.py +25 -0
- netgen/geom2d.py +178 -0
- netgen/gui.py +82 -0
- netgen/include/core/archive.hpp +1256 -0
- netgen/include/core/array.hpp +1760 -0
- netgen/include/core/autodiff.hpp +1131 -0
- netgen/include/core/autodiffdiff.hpp +733 -0
- netgen/include/core/bitarray.hpp +240 -0
- netgen/include/core/concurrentqueue.h +3619 -0
- netgen/include/core/exception.hpp +145 -0
- netgen/include/core/flags.hpp +199 -0
- netgen/include/core/hashtable.hpp +1281 -0
- netgen/include/core/localheap.hpp +318 -0
- netgen/include/core/logging.hpp +117 -0
- netgen/include/core/memtracer.hpp +221 -0
- netgen/include/core/mpi4py_pycapi.h +245 -0
- netgen/include/core/mpi_wrapper.hpp +643 -0
- netgen/include/core/ng_mpi.hpp +94 -0
- netgen/include/core/ng_mpi_generated_declarations.hpp +155 -0
- netgen/include/core/ng_mpi_native.hpp +25 -0
- netgen/include/core/ngcore.hpp +32 -0
- netgen/include/core/ngcore_api.hpp +152 -0
- netgen/include/core/ngstream.hpp +115 -0
- netgen/include/core/paje_trace.hpp +279 -0
- netgen/include/core/profiler.hpp +382 -0
- netgen/include/core/python_ngcore.hpp +457 -0
- netgen/include/core/ranges.hpp +109 -0
- netgen/include/core/register_archive.hpp +100 -0
- netgen/include/core/signal.hpp +82 -0
- netgen/include/core/simd.hpp +160 -0
- netgen/include/core/simd_arm64.hpp +407 -0
- netgen/include/core/simd_avx.hpp +394 -0
- netgen/include/core/simd_avx512.hpp +285 -0
- netgen/include/core/simd_generic.hpp +1053 -0
- netgen/include/core/simd_math.hpp +178 -0
- netgen/include/core/simd_sse.hpp +289 -0
- netgen/include/core/statushandler.hpp +37 -0
- netgen/include/core/symboltable.hpp +153 -0
- netgen/include/core/table.hpp +810 -0
- netgen/include/core/taskmanager.hpp +1161 -0
- netgen/include/core/type_traits.hpp +65 -0
- netgen/include/core/utils.hpp +385 -0
- netgen/include/core/version.hpp +102 -0
- netgen/include/core/xbool.hpp +47 -0
- netgen/include/csg/algprim.hpp +563 -0
- netgen/include/csg/brick.hpp +150 -0
- netgen/include/csg/csg.hpp +43 -0
- netgen/include/csg/csgeom.hpp +389 -0
- netgen/include/csg/csgparser.hpp +101 -0
- netgen/include/csg/curve2d.hpp +67 -0
- netgen/include/csg/edgeflw.hpp +112 -0
- netgen/include/csg/explicitcurve2d.hpp +113 -0
- netgen/include/csg/extrusion.hpp +185 -0
- netgen/include/csg/gencyl.hpp +70 -0
- netgen/include/csg/geoml.hpp +16 -0
- netgen/include/csg/identify.hpp +213 -0
- netgen/include/csg/manifold.hpp +29 -0
- netgen/include/csg/meshsurf.hpp +46 -0
- netgen/include/csg/polyhedra.hpp +121 -0
- netgen/include/csg/revolution.hpp +180 -0
- netgen/include/csg/singularref.hpp +84 -0
- netgen/include/csg/solid.hpp +295 -0
- netgen/include/csg/specpoin.hpp +194 -0
- netgen/include/csg/spline3d.hpp +99 -0
- netgen/include/csg/splinesurface.hpp +85 -0
- netgen/include/csg/surface.hpp +394 -0
- netgen/include/csg/triapprox.hpp +63 -0
- netgen/include/csg/vscsg.hpp +34 -0
- netgen/include/general/autodiff.hpp +356 -0
- netgen/include/general/autoptr.hpp +39 -0
- netgen/include/general/gzstream.h +121 -0
- netgen/include/general/hashtabl.hpp +1692 -0
- netgen/include/general/myadt.hpp +48 -0
- netgen/include/general/mystring.hpp +226 -0
- netgen/include/general/netgenout.hpp +205 -0
- netgen/include/general/ngarray.hpp +797 -0
- netgen/include/general/ngbitarray.hpp +149 -0
- netgen/include/general/ngpython.hpp +74 -0
- netgen/include/general/optmem.hpp +44 -0
- netgen/include/general/parthreads.hpp +138 -0
- netgen/include/general/seti.hpp +50 -0
- netgen/include/general/sort.hpp +47 -0
- netgen/include/general/spbita2d.hpp +59 -0
- netgen/include/general/stack.hpp +114 -0
- netgen/include/general/table.hpp +280 -0
- netgen/include/general/template.hpp +509 -0
- netgen/include/geom2d/csg2d.hpp +750 -0
- netgen/include/geom2d/geometry2d.hpp +280 -0
- netgen/include/geom2d/spline2d.hpp +234 -0
- netgen/include/geom2d/vsgeom2d.hpp +28 -0
- netgen/include/gprim/adtree.hpp +1392 -0
- netgen/include/gprim/geom2d.hpp +858 -0
- netgen/include/gprim/geom3d.hpp +749 -0
- netgen/include/gprim/geomfuncs.hpp +212 -0
- netgen/include/gprim/geomobjects.hpp +544 -0
- netgen/include/gprim/geomops.hpp +404 -0
- netgen/include/gprim/geomtest3d.hpp +101 -0
- netgen/include/gprim/gprim.hpp +33 -0
- netgen/include/gprim/spline.hpp +778 -0
- netgen/include/gprim/splinegeometry.hpp +73 -0
- netgen/include/gprim/transform3d.hpp +216 -0
- netgen/include/include/acisgeom.hpp +3 -0
- netgen/include/include/csg.hpp +1 -0
- netgen/include/include/geometry2d.hpp +1 -0
- netgen/include/include/gprim.hpp +1 -0
- netgen/include/include/incopengl.hpp +62 -0
- netgen/include/include/inctcl.hpp +13 -0
- netgen/include/include/incvis.hpp +6 -0
- netgen/include/include/linalg.hpp +1 -0
- netgen/include/include/meshing.hpp +1 -0
- netgen/include/include/myadt.hpp +1 -0
- netgen/include/include/mydefs.hpp +70 -0
- netgen/include/include/mystdlib.h +59 -0
- netgen/include/include/netgen_config.hpp +27 -0
- netgen/include/include/netgen_version.hpp +9 -0
- netgen/include/include/nginterface_v2_impl.hpp +395 -0
- netgen/include/include/ngsimd.hpp +1 -0
- netgen/include/include/occgeom.hpp +1 -0
- netgen/include/include/opti.hpp +1 -0
- netgen/include/include/parallel.hpp +1 -0
- netgen/include/include/stlgeom.hpp +1 -0
- netgen/include/include/visual.hpp +1 -0
- netgen/include/interface/rw_medit.hpp +11 -0
- netgen/include/interface/writeuser.hpp +80 -0
- netgen/include/linalg/densemat.hpp +414 -0
- netgen/include/linalg/linalg.hpp +29 -0
- netgen/include/linalg/opti.hpp +142 -0
- netgen/include/linalg/polynomial.hpp +47 -0
- netgen/include/linalg/vector.hpp +217 -0
- netgen/include/meshing/adfront2.hpp +274 -0
- netgen/include/meshing/adfront3.hpp +332 -0
- netgen/include/meshing/basegeom.hpp +370 -0
- netgen/include/meshing/bcfunctions.hpp +53 -0
- netgen/include/meshing/bisect.hpp +72 -0
- netgen/include/meshing/boundarylayer.hpp +113 -0
- netgen/include/meshing/classifyhpel.hpp +1984 -0
- netgen/include/meshing/clusters.hpp +46 -0
- netgen/include/meshing/curvedelems.hpp +274 -0
- netgen/include/meshing/delaunay2d.hpp +73 -0
- netgen/include/meshing/fieldlines.hpp +103 -0
- netgen/include/meshing/findip.hpp +198 -0
- netgen/include/meshing/findip2.hpp +103 -0
- netgen/include/meshing/geomsearch.hpp +69 -0
- netgen/include/meshing/global.hpp +54 -0
- netgen/include/meshing/hpref_hex.hpp +330 -0
- netgen/include/meshing/hpref_prism.hpp +3405 -0
- netgen/include/meshing/hpref_pyramid.hpp +154 -0
- netgen/include/meshing/hpref_quad.hpp +2082 -0
- netgen/include/meshing/hpref_segm.hpp +122 -0
- netgen/include/meshing/hpref_tet.hpp +4230 -0
- netgen/include/meshing/hpref_trig.hpp +848 -0
- netgen/include/meshing/hprefinement.hpp +366 -0
- netgen/include/meshing/improve2.hpp +178 -0
- netgen/include/meshing/improve3.hpp +151 -0
- netgen/include/meshing/localh.hpp +223 -0
- netgen/include/meshing/meshclass.hpp +1076 -0
- netgen/include/meshing/meshfunc.hpp +47 -0
- netgen/include/meshing/meshing.hpp +63 -0
- netgen/include/meshing/meshing2.hpp +163 -0
- netgen/include/meshing/meshing3.hpp +123 -0
- netgen/include/meshing/meshtool.hpp +90 -0
- netgen/include/meshing/meshtype.hpp +1930 -0
- netgen/include/meshing/msghandler.hpp +62 -0
- netgen/include/meshing/paralleltop.hpp +172 -0
- netgen/include/meshing/python_mesh.hpp +206 -0
- netgen/include/meshing/ruler2.hpp +172 -0
- netgen/include/meshing/ruler3.hpp +211 -0
- netgen/include/meshing/soldata.hpp +141 -0
- netgen/include/meshing/specials.hpp +17 -0
- netgen/include/meshing/surfacegeom.hpp +73 -0
- netgen/include/meshing/topology.hpp +1003 -0
- netgen/include/meshing/validate.hpp +21 -0
- netgen/include/meshing/visual_interface.hpp +71 -0
- netgen/include/mydefs.hpp +70 -0
- netgen/include/nginterface.h +474 -0
- netgen/include/nginterface_v2.hpp +406 -0
- netgen/include/nglib.h +697 -0
- netgen/include/nglib_occ.h +50 -0
- netgen/include/occ/occ_edge.hpp +47 -0
- netgen/include/occ/occ_face.hpp +52 -0
- netgen/include/occ/occ_solid.hpp +23 -0
- netgen/include/occ/occ_utils.hpp +376 -0
- netgen/include/occ/occ_vertex.hpp +30 -0
- netgen/include/occ/occgeom.hpp +659 -0
- netgen/include/occ/occmeshsurf.hpp +168 -0
- netgen/include/occ/vsocc.hpp +33 -0
- netgen/include/pybind11/LICENSE +29 -0
- netgen/include/pybind11/attr.h +722 -0
- netgen/include/pybind11/buffer_info.h +208 -0
- netgen/include/pybind11/cast.h +2361 -0
- netgen/include/pybind11/chrono.h +228 -0
- netgen/include/pybind11/common.h +2 -0
- netgen/include/pybind11/complex.h +74 -0
- netgen/include/pybind11/conduit/README.txt +15 -0
- netgen/include/pybind11/conduit/pybind11_conduit_v1.h +116 -0
- netgen/include/pybind11/conduit/pybind11_platform_abi_id.h +87 -0
- netgen/include/pybind11/conduit/wrap_include_python_h.h +72 -0
- netgen/include/pybind11/critical_section.h +56 -0
- netgen/include/pybind11/detail/class.h +823 -0
- netgen/include/pybind11/detail/common.h +1348 -0
- netgen/include/pybind11/detail/cpp_conduit.h +75 -0
- netgen/include/pybind11/detail/descr.h +226 -0
- netgen/include/pybind11/detail/dynamic_raw_ptr_cast_if_possible.h +39 -0
- netgen/include/pybind11/detail/exception_translation.h +71 -0
- netgen/include/pybind11/detail/function_record_pyobject.h +191 -0
- netgen/include/pybind11/detail/init.h +538 -0
- netgen/include/pybind11/detail/internals.h +799 -0
- netgen/include/pybind11/detail/native_enum_data.h +209 -0
- netgen/include/pybind11/detail/pybind11_namespace_macros.h +82 -0
- netgen/include/pybind11/detail/struct_smart_holder.h +378 -0
- netgen/include/pybind11/detail/type_caster_base.h +1591 -0
- netgen/include/pybind11/detail/typeid.h +65 -0
- netgen/include/pybind11/detail/using_smart_holder.h +22 -0
- netgen/include/pybind11/detail/value_and_holder.h +90 -0
- netgen/include/pybind11/eigen/common.h +9 -0
- netgen/include/pybind11/eigen/matrix.h +723 -0
- netgen/include/pybind11/eigen/tensor.h +521 -0
- netgen/include/pybind11/eigen.h +12 -0
- netgen/include/pybind11/embed.h +320 -0
- netgen/include/pybind11/eval.h +161 -0
- netgen/include/pybind11/functional.h +147 -0
- netgen/include/pybind11/gil.h +199 -0
- netgen/include/pybind11/gil_safe_call_once.h +102 -0
- netgen/include/pybind11/gil_simple.h +37 -0
- netgen/include/pybind11/iostream.h +265 -0
- netgen/include/pybind11/native_enum.h +67 -0
- netgen/include/pybind11/numpy.h +2312 -0
- netgen/include/pybind11/operators.h +202 -0
- netgen/include/pybind11/options.h +92 -0
- netgen/include/pybind11/pybind11.h +3645 -0
- netgen/include/pybind11/pytypes.h +2680 -0
- netgen/include/pybind11/stl/filesystem.h +114 -0
- netgen/include/pybind11/stl.h +666 -0
- netgen/include/pybind11/stl_bind.h +858 -0
- netgen/include/pybind11/subinterpreter.h +299 -0
- netgen/include/pybind11/trampoline_self_life_support.h +65 -0
- netgen/include/pybind11/type_caster_pyobject_ptr.h +61 -0
- netgen/include/pybind11/typing.h +298 -0
- netgen/include/pybind11/warnings.h +75 -0
- netgen/include/stlgeom/meshstlsurface.hpp +67 -0
- netgen/include/stlgeom/stlgeom.hpp +491 -0
- netgen/include/stlgeom/stlline.hpp +193 -0
- netgen/include/stlgeom/stltool.hpp +331 -0
- netgen/include/stlgeom/stltopology.hpp +419 -0
- netgen/include/stlgeom/vsstl.hpp +58 -0
- netgen/include/visualization/meshdoc.hpp +42 -0
- netgen/include/visualization/mvdraw.hpp +325 -0
- netgen/include/visualization/vispar.hpp +128 -0
- netgen/include/visualization/visual.hpp +28 -0
- netgen/include/visualization/visual_api.hpp +10 -0
- netgen/include/visualization/vssolution.hpp +399 -0
- netgen/lib/libnggui.lib +0 -0
- netgen/lib/ngcore.lib +0 -0
- netgen/lib/nglib.lib +0 -0
- netgen/lib/togl.lib +0 -0
- netgen/libnggui.dll +0 -0
- netgen/libngguipy.lib +0 -0
- netgen/libngguipy.pyd +0 -0
- netgen/libngpy/_NgOCC.pyi +1545 -0
- netgen/libngpy/__init__.pyi +7 -0
- netgen/libngpy/_csg.pyi +259 -0
- netgen/libngpy/_geom2d.pyi +323 -0
- netgen/libngpy/_meshing.pyi +1111 -0
- netgen/libngpy/_stl.pyi +131 -0
- netgen/libngpy.lib +0 -0
- netgen/libngpy.pyd +0 -0
- netgen/meshing.py +65 -0
- netgen/ngcore.dll +0 -0
- netgen/nglib.dll +0 -0
- netgen/occ.py +52 -0
- netgen/read_gmsh.py +259 -0
- netgen/read_meshio.py +22 -0
- netgen/stl.py +2 -0
- netgen/togl.dll +0 -0
- netgen/version.py +2 -0
- netgen/webgui.py +529 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boundarycondition.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/boxcyl.geo +32 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/circle_on_cube.geo +27 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cone.geo +13 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cube.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandring.geo +55 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubeandspheres.geo +21 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemcyl.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cubemsphere.geo +19 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylinder.geo +12 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/cylsphere.geo +12 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/doc/ng4.pdf +0 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipsoid.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ellipticcyl.geo +10 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/extrusion.geo +99 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/fichera.geo +24 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/frame.step +11683 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/hinge.stl +8486 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/lshape3d.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/manyholes2.geo +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/matrix.geo +27 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/ortho.geo +11 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/part1.stl +2662 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/period.geo +33 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/exportNeutral.py +26 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/mesh.py +19 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/py_tutorials/shaft.geo +65 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/revolution.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/screw.step +1694 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sculpture.geo +13 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shaft.geo +65 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/shell.geo +10 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphere.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/sphereincube.geo +17 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/square.in2d +35 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarecircle.in2d +48 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/squarehole.in2d +47 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/torus.geo +8 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/trafo.geo +57 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twobricks.geo +15 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocubes.geo +18 -0
- netgen_mesher-6.2.2506.post35.dev0.data/data/share/netgen/twocyl.geo +16 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/METADATA +15 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/RECORD +340 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/WHEEL +5 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/entry_points.txt +2 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/AUTHORS +1 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/licenses/LICENSE +504 -0
- netgen_mesher-6.2.2506.post35.dev0.dist-info/top_level.txt +2 -0
- pyngcore/__init__.py +1 -0
- pyngcore/pyngcore.cp314-win_amd64.pyd +0 -0
|
@@ -0,0 +1,1545 @@
|
|
|
1
|
+
"""
|
|
2
|
+
pybind NgOCC module
|
|
3
|
+
"""
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
import collections.abc
|
|
6
|
+
import netgen.libngpy._meshing
|
|
7
|
+
import numpy
|
|
8
|
+
import numpy.typing
|
|
9
|
+
import pyngcore.pyngcore
|
|
10
|
+
import typing
|
|
11
|
+
__all__: list[str] = ['ApproxParamType', 'ArcOfCircle', 'Axes', 'Axis', 'BSplineCurve', 'BezierCurve', 'BezierSurface', 'Box', 'COMPOUND', 'COMPSOLID', 'Circle', 'Compound', 'Cone', 'ConnectEdgesToWires', 'Cylinder', 'Dir', 'DirectionalInterval', 'EDGE', 'Edge', 'Ellipse', 'Ellipsoid', 'FACE', 'Face', 'From_PyOCC', 'Fuse', 'Geom2d_Curve', 'Geom_Surface', 'Glue', 'HalfSpace', 'ListOfShapes', 'LoadOCCGeometry', 'MakeFillet', 'MakePolygon', 'MakeThickSolid', 'OCCException', 'OCCGeometry', 'Pipe', 'PipeShell', 'Pnt', 'Prism', 'ResetGlobalShapeProperties', 'Revolve', 'SHAPE', 'SHELL', 'SOLID', 'Segment', 'Sew', 'ShapeContinuity', 'Solid', 'Sphere', 'SplineApproximation', 'SplineInterpolation', 'SplineSurfaceApproximation', 'SplineSurfaceInterpolation', 'TestXCAF', 'ThruSections', 'TopAbs_ShapeEnum', 'TopLoc_Location', 'TopoDS_Shape', 'VERTEX', 'Vec', 'Vertex', 'WIRE', 'Wire', 'WorkPlane', 'X', 'Y', 'Z', 'gp_Ax2', 'gp_Ax2d', 'gp_Dir', 'gp_Dir2d', 'gp_GTrsf', 'gp_Mat', 'gp_Pnt', 'gp_Pnt2d', 'gp_Trsf', 'gp_Vec', 'gp_Vec2d', 'occ_version']
|
|
12
|
+
class ApproxParamType:
|
|
13
|
+
"""
|
|
14
|
+
Wrapper for Approx_ParametrizationType
|
|
15
|
+
|
|
16
|
+
Members:
|
|
17
|
+
|
|
18
|
+
Centripetal
|
|
19
|
+
|
|
20
|
+
ChordLength
|
|
21
|
+
|
|
22
|
+
IsoParametric
|
|
23
|
+
"""
|
|
24
|
+
Centripetal: typing.ClassVar[ApproxParamType] # value = <ApproxParamType.Centripetal: 1>
|
|
25
|
+
ChordLength: typing.ClassVar[ApproxParamType] # value = <ApproxParamType.ChordLength: 0>
|
|
26
|
+
IsoParametric: typing.ClassVar[ApproxParamType] # value = <ApproxParamType.IsoParametric: 2>
|
|
27
|
+
__members__: typing.ClassVar[dict[str, ApproxParamType]] # value = {'Centripetal': <ApproxParamType.Centripetal: 1>, 'ChordLength': <ApproxParamType.ChordLength: 0>, 'IsoParametric': <ApproxParamType.IsoParametric: 2>}
|
|
28
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
29
|
+
...
|
|
30
|
+
def __getstate__(self) -> int:
|
|
31
|
+
...
|
|
32
|
+
def __hash__(self) -> int:
|
|
33
|
+
...
|
|
34
|
+
def __index__(self) -> int:
|
|
35
|
+
...
|
|
36
|
+
def __init__(self, value: typing.SupportsInt) -> None:
|
|
37
|
+
...
|
|
38
|
+
def __int__(self) -> int:
|
|
39
|
+
...
|
|
40
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
41
|
+
...
|
|
42
|
+
def __repr__(self) -> str:
|
|
43
|
+
...
|
|
44
|
+
def __setstate__(self, state: typing.SupportsInt) -> None:
|
|
45
|
+
...
|
|
46
|
+
def __str__(self) -> str:
|
|
47
|
+
...
|
|
48
|
+
@property
|
|
49
|
+
def name(self) -> str:
|
|
50
|
+
...
|
|
51
|
+
@property
|
|
52
|
+
def value(self) -> int:
|
|
53
|
+
...
|
|
54
|
+
class Axes:
|
|
55
|
+
"""
|
|
56
|
+
an OCC coordinate system in 3d
|
|
57
|
+
"""
|
|
58
|
+
p: gp_Pnt
|
|
59
|
+
@typing.overload
|
|
60
|
+
def __init__(self, p: gp_Pnt = (0, 0, 0), n: gp_Dir = (0, 0, 1), h: gp_Dir = (1, 0, 0)) -> None:
|
|
61
|
+
...
|
|
62
|
+
@typing.overload
|
|
63
|
+
def __init__(self, axis: Axis) -> None:
|
|
64
|
+
...
|
|
65
|
+
@typing.overload
|
|
66
|
+
def __init__(self, arg0: gp_Ax2) -> None:
|
|
67
|
+
...
|
|
68
|
+
class Axis:
|
|
69
|
+
"""
|
|
70
|
+
an OCC axis in 3d
|
|
71
|
+
"""
|
|
72
|
+
def __init__(self, p: gp_Pnt, d: gp_Dir) -> None:
|
|
73
|
+
...
|
|
74
|
+
class Compound(TopoDS_Shape):
|
|
75
|
+
def __init__(self, shapes: collections.abc.Sequence[TopoDS_Shape], separate_layers: bool = False) -> None:
|
|
76
|
+
...
|
|
77
|
+
class DirectionalInterval:
|
|
78
|
+
def __and__(self, arg0: DirectionalInterval) -> DirectionalInterval:
|
|
79
|
+
...
|
|
80
|
+
def __gt__(self, arg0: typing.SupportsFloat) -> DirectionalInterval:
|
|
81
|
+
...
|
|
82
|
+
def __lt__(self, arg0: typing.SupportsFloat) -> DirectionalInterval:
|
|
83
|
+
...
|
|
84
|
+
def __str__(self) -> str:
|
|
85
|
+
...
|
|
86
|
+
class Edge(TopoDS_Shape):
|
|
87
|
+
def Extend(self, point: gp_Pnt, continuity: typing.SupportsInt = 1, after: bool = True) -> Edge:
|
|
88
|
+
...
|
|
89
|
+
def Split(self, *args) -> ...:
|
|
90
|
+
"""
|
|
91
|
+
Splits edge at given parameters. Parameters can either be floating values in (0,1), then edge parametrization is used. Or it can be points, then the projection of these points are used for splitting the edge.
|
|
92
|
+
"""
|
|
93
|
+
def Tangent(self, s: typing.SupportsFloat) -> gp_Vec:
|
|
94
|
+
"""
|
|
95
|
+
tangent vector to curve at parameter 's'
|
|
96
|
+
"""
|
|
97
|
+
def Value(self, s: typing.SupportsFloat) -> gp_Pnt:
|
|
98
|
+
"""
|
|
99
|
+
evaluate curve for parameters 's'
|
|
100
|
+
"""
|
|
101
|
+
@typing.overload
|
|
102
|
+
def __init__(self, arg0: TopoDS_Shape) -> None:
|
|
103
|
+
...
|
|
104
|
+
@typing.overload
|
|
105
|
+
def __init__(self, arg0: ..., arg1: TopoDS_Face) -> None:
|
|
106
|
+
...
|
|
107
|
+
@typing.overload
|
|
108
|
+
def __init__(self, arg0: Vertex, arg1: Vertex) -> None:
|
|
109
|
+
...
|
|
110
|
+
@property
|
|
111
|
+
def end(self) -> gp_Pnt:
|
|
112
|
+
"""
|
|
113
|
+
end-point of curve
|
|
114
|
+
"""
|
|
115
|
+
@property
|
|
116
|
+
def end_tangent(self) -> gp_Vec:
|
|
117
|
+
"""
|
|
118
|
+
tangent at end-point
|
|
119
|
+
"""
|
|
120
|
+
@property
|
|
121
|
+
def parameter_interval(self) -> tuple[float, float]:
|
|
122
|
+
"""
|
|
123
|
+
parameter interval of curve
|
|
124
|
+
"""
|
|
125
|
+
@property
|
|
126
|
+
def partition(self) -> pyngcore.pyngcore.Array_D_S | None:
|
|
127
|
+
...
|
|
128
|
+
@partition.setter
|
|
129
|
+
def partition(self, arg1: typing.Annotated[numpy.typing.ArrayLike, numpy.float64]) -> None:
|
|
130
|
+
...
|
|
131
|
+
@property
|
|
132
|
+
def start(self) -> gp_Pnt:
|
|
133
|
+
"""
|
|
134
|
+
start-point of curve
|
|
135
|
+
"""
|
|
136
|
+
@property
|
|
137
|
+
def start_tangent(self) -> gp_Vec:
|
|
138
|
+
"""
|
|
139
|
+
tangent at start-point
|
|
140
|
+
"""
|
|
141
|
+
class Face(TopoDS_Shape):
|
|
142
|
+
quad_dominated: bool | None
|
|
143
|
+
def Extend(self, length: typing.SupportsFloat, continuity: typing.SupportsInt = 1, u_direction: bool = True, after: bool = True) -> Face:
|
|
144
|
+
...
|
|
145
|
+
def ProjectWire(self, arg0: Wire) -> TopoDS_Shape:
|
|
146
|
+
...
|
|
147
|
+
def WorkPlane(self) -> WorkPlane:
|
|
148
|
+
...
|
|
149
|
+
@typing.overload
|
|
150
|
+
def __init__(self, w: Wire) -> None:
|
|
151
|
+
...
|
|
152
|
+
@typing.overload
|
|
153
|
+
def __init__(self, f: Face, w: Wire) -> None:
|
|
154
|
+
...
|
|
155
|
+
@typing.overload
|
|
156
|
+
def __init__(self, f: Face, w: collections.abc.Sequence[Wire]) -> None:
|
|
157
|
+
...
|
|
158
|
+
@typing.overload
|
|
159
|
+
def __init__(self, arg0: TopoDS_Shape) -> None:
|
|
160
|
+
...
|
|
161
|
+
@property
|
|
162
|
+
def surf(self) -> ...:
|
|
163
|
+
...
|
|
164
|
+
class Geom2d_Curve:
|
|
165
|
+
def Edge(self) -> Edge:
|
|
166
|
+
...
|
|
167
|
+
def Face(self) -> Face:
|
|
168
|
+
...
|
|
169
|
+
def Trim(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> Geom2d_Curve:
|
|
170
|
+
...
|
|
171
|
+
def Value(self, arg0: typing.SupportsFloat) -> gp_Pnt2d:
|
|
172
|
+
...
|
|
173
|
+
def Wire(self) -> Wire:
|
|
174
|
+
...
|
|
175
|
+
@property
|
|
176
|
+
def end(self) -> gp_Pnt2d:
|
|
177
|
+
...
|
|
178
|
+
@property
|
|
179
|
+
def start(self) -> gp_Pnt2d:
|
|
180
|
+
...
|
|
181
|
+
class Geom_Surface:
|
|
182
|
+
def D1(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> tuple[gp_Pnt, gp_Vec, gp_Vec]:
|
|
183
|
+
...
|
|
184
|
+
def Normal(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> gp_Dir:
|
|
185
|
+
...
|
|
186
|
+
def Value(self, arg0: typing.SupportsFloat, arg1: typing.SupportsFloat) -> gp_Pnt:
|
|
187
|
+
...
|
|
188
|
+
class ListOfShapes:
|
|
189
|
+
def Identify(self, other: ListOfShapes, name: str, type: netgen.libngpy._meshing.IdentificationType = ..., trafo: netgen.libngpy._NgOCC.gp_Trsf | netgen.libngpy._NgOCC.gp_GTrsf) -> None:
|
|
190
|
+
"""
|
|
191
|
+
Identify shapes for periodic meshing
|
|
192
|
+
"""
|
|
193
|
+
def Max(self, dir: gp_Vec) -> typing.Any:
|
|
194
|
+
"""
|
|
195
|
+
returns shape where center of gravity is maximal in the direction 'dir'
|
|
196
|
+
"""
|
|
197
|
+
def Min(self, dir: gp_Vec) -> typing.Any:
|
|
198
|
+
"""
|
|
199
|
+
returns shape where center of gravity is minimal in the direction 'dir'
|
|
200
|
+
"""
|
|
201
|
+
@typing.overload
|
|
202
|
+
def Nearest(self, p: gp_Pnt) -> typing.Any:
|
|
203
|
+
"""
|
|
204
|
+
returns shape nearest to point 'p'
|
|
205
|
+
"""
|
|
206
|
+
@typing.overload
|
|
207
|
+
def Nearest(self, p: gp_Pnt2d) -> typing.Any:
|
|
208
|
+
"""
|
|
209
|
+
returns shape nearest to point 'p'
|
|
210
|
+
"""
|
|
211
|
+
def Sorted(self, dir: gp_Vec) -> ListOfShapes:
|
|
212
|
+
"""
|
|
213
|
+
returns list of shapes, where center of gravity is sorted in direction of 'dir'
|
|
214
|
+
"""
|
|
215
|
+
@typing.overload
|
|
216
|
+
def __add__(self, arg0: ListOfShapes) -> ListOfShapes:
|
|
217
|
+
...
|
|
218
|
+
@typing.overload
|
|
219
|
+
def __add__(self, arg0: list) -> ListOfShapes:
|
|
220
|
+
...
|
|
221
|
+
@typing.overload
|
|
222
|
+
def __getitem__(self, arg0: typing.SupportsInt) -> typing.Any:
|
|
223
|
+
...
|
|
224
|
+
@typing.overload
|
|
225
|
+
def __getitem__(self, arg0: slice) -> ListOfShapes:
|
|
226
|
+
...
|
|
227
|
+
@typing.overload
|
|
228
|
+
def __getitem__(self, arg0: str) -> ListOfShapes:
|
|
229
|
+
"""
|
|
230
|
+
returns list of all shapes named 'name'
|
|
231
|
+
"""
|
|
232
|
+
@typing.overload
|
|
233
|
+
def __getitem__(self, arg0: DirectionalInterval) -> ListOfShapes:
|
|
234
|
+
...
|
|
235
|
+
def __init__(self, arg0: collections.abc.Sequence[TopoDS_Shape]) -> None:
|
|
236
|
+
...
|
|
237
|
+
def __iter__(self) -> collections.abc.Iterator[typing.Any]:
|
|
238
|
+
...
|
|
239
|
+
def __len__(self) -> int:
|
|
240
|
+
...
|
|
241
|
+
def __mul__(self, arg0: ListOfShapes) -> ListOfShapes:
|
|
242
|
+
...
|
|
243
|
+
@property
|
|
244
|
+
def col(self) -> None:
|
|
245
|
+
"""
|
|
246
|
+
set col for all elements of list
|
|
247
|
+
"""
|
|
248
|
+
@col.setter
|
|
249
|
+
def col(self, arg1: collections.abc.Sequence[typing.SupportsFloat]) -> None:
|
|
250
|
+
...
|
|
251
|
+
@property
|
|
252
|
+
def edges(self) -> ListOfShapes:
|
|
253
|
+
...
|
|
254
|
+
@property
|
|
255
|
+
def faces(self) -> ListOfShapes:
|
|
256
|
+
...
|
|
257
|
+
@property
|
|
258
|
+
def hpref(self) -> None:
|
|
259
|
+
"""
|
|
260
|
+
set hpref for all elements of list
|
|
261
|
+
"""
|
|
262
|
+
@hpref.setter
|
|
263
|
+
def hpref(self, arg1: typing.SupportsFloat) -> None:
|
|
264
|
+
...
|
|
265
|
+
@property
|
|
266
|
+
def maxh(self) -> None:
|
|
267
|
+
"""
|
|
268
|
+
set maxh for all elements of list
|
|
269
|
+
"""
|
|
270
|
+
@maxh.setter
|
|
271
|
+
def maxh(self, arg1: typing.SupportsFloat) -> None:
|
|
272
|
+
...
|
|
273
|
+
@property
|
|
274
|
+
def name(self) -> None:
|
|
275
|
+
"""
|
|
276
|
+
set name for all elements of list
|
|
277
|
+
"""
|
|
278
|
+
@name.setter
|
|
279
|
+
def name(self, arg1: str | None) -> None:
|
|
280
|
+
...
|
|
281
|
+
@property
|
|
282
|
+
def quad_dominated(self) -> None:
|
|
283
|
+
...
|
|
284
|
+
@quad_dominated.setter
|
|
285
|
+
def quad_dominated(self, arg1: bool | None) -> None:
|
|
286
|
+
...
|
|
287
|
+
@property
|
|
288
|
+
def shells(self) -> ListOfShapes:
|
|
289
|
+
...
|
|
290
|
+
@property
|
|
291
|
+
def solids(self) -> ListOfShapes:
|
|
292
|
+
...
|
|
293
|
+
@property
|
|
294
|
+
def vertices(self) -> ListOfShapes:
|
|
295
|
+
...
|
|
296
|
+
@property
|
|
297
|
+
def wires(self) -> ListOfShapes:
|
|
298
|
+
...
|
|
299
|
+
class OCCException(Exception):
|
|
300
|
+
pass
|
|
301
|
+
class OCCGeometry(netgen.libngpy._meshing.NetgenGeometry):
|
|
302
|
+
"""
|
|
303
|
+
Use LoadOCCGeometry to load the geometry from a *.step file.
|
|
304
|
+
"""
|
|
305
|
+
def Draw(self) -> None:
|
|
306
|
+
...
|
|
307
|
+
def GenerateMesh(self, mp: netgen.libngpy._meshing.MeshingParameters = None, comm: pyngcore.pyngcore.MPI_Comm = ..., mesh: netgen.libngpy._meshing.Mesh = None, **kwargs) -> netgen.libngpy._meshing.Mesh:
|
|
308
|
+
"""
|
|
309
|
+
Meshing Parameters
|
|
310
|
+
-------------------
|
|
311
|
+
|
|
312
|
+
maxh: float = 1e10
|
|
313
|
+
Global upper bound for mesh size.
|
|
314
|
+
|
|
315
|
+
grading: float = 0.3
|
|
316
|
+
Mesh grading how fast the local mesh size can change.
|
|
317
|
+
|
|
318
|
+
meshsizefilename: str = None
|
|
319
|
+
Load meshsize from file. Can set local mesh size for points
|
|
320
|
+
and along edges. File must have the format:
|
|
321
|
+
|
|
322
|
+
nr_points
|
|
323
|
+
x1, y1, z1, meshsize
|
|
324
|
+
x2, y2, z2, meshsize
|
|
325
|
+
...
|
|
326
|
+
xn, yn, zn, meshsize
|
|
327
|
+
|
|
328
|
+
nr_edges
|
|
329
|
+
x11, y11, z11, x12, y12, z12, meshsize
|
|
330
|
+
...
|
|
331
|
+
xn1, yn1, zn1, xn2, yn2, zn2, meshsize
|
|
332
|
+
|
|
333
|
+
segmentsperedge: float = 1.
|
|
334
|
+
Minimal number of segments per edge.
|
|
335
|
+
|
|
336
|
+
quad_dominated: bool = False
|
|
337
|
+
Quad-dominated surface meshing.
|
|
338
|
+
|
|
339
|
+
blockfill: bool = True
|
|
340
|
+
Do fast blockfilling.
|
|
341
|
+
|
|
342
|
+
filldist: float = 0.1
|
|
343
|
+
Block fill up to distance
|
|
344
|
+
|
|
345
|
+
delaunay: bool = True
|
|
346
|
+
Use delaunay meshing.
|
|
347
|
+
|
|
348
|
+
delaunay2d : bool = True
|
|
349
|
+
Use delaunay meshing for 2d geometries.
|
|
350
|
+
|
|
351
|
+
Optimization Parameters
|
|
352
|
+
-----------------------
|
|
353
|
+
|
|
354
|
+
optimize3d: str = "cmdmustm"
|
|
355
|
+
3d optimization strategy:
|
|
356
|
+
m .. move nodes
|
|
357
|
+
M .. move nodes, cheap functional
|
|
358
|
+
s .. swap faces
|
|
359
|
+
c .. combine elements
|
|
360
|
+
d .. divide elements
|
|
361
|
+
p .. plot, no pause
|
|
362
|
+
P .. plot, Pause
|
|
363
|
+
h .. Histogramm, no pause
|
|
364
|
+
H .. Histogramm, pause
|
|
365
|
+
|
|
366
|
+
optsteps3d: int = 3
|
|
367
|
+
Number of 3d optimization steps.
|
|
368
|
+
|
|
369
|
+
optimize2d: str = "smcmSmcmSmcm"
|
|
370
|
+
2d optimization strategy:
|
|
371
|
+
s .. swap, opt 6 lines/node
|
|
372
|
+
S .. swap, optimal elements
|
|
373
|
+
m .. move nodes
|
|
374
|
+
p .. plot, no pause
|
|
375
|
+
P .. plot, pause
|
|
376
|
+
c .. combine
|
|
377
|
+
|
|
378
|
+
optsteps2d: int = 3
|
|
379
|
+
Number of 2d optimization steps.
|
|
380
|
+
|
|
381
|
+
elsizeweight: float = 0.2
|
|
382
|
+
Weight of element size w.r.t. element shape in optimization.
|
|
383
|
+
|
|
384
|
+
|
|
385
|
+
OCC Specific Meshing Parameters
|
|
386
|
+
-------------------------------
|
|
387
|
+
|
|
388
|
+
closeedgefac: Optional[float] = 2.
|
|
389
|
+
Factor for meshing close edges, if None it is disabled.
|
|
390
|
+
|
|
391
|
+
minedgelen: Optional[float] = 0.001
|
|
392
|
+
Minimum edge length to be used for dividing edges to mesh points. If
|
|
393
|
+
None this is disabled.
|
|
394
|
+
"""
|
|
395
|
+
def Glue(self) -> None:
|
|
396
|
+
...
|
|
397
|
+
def Heal(self, tolerance: typing.SupportsFloat = 0.001, fixsmalledges: bool = True, fixspotstripfaces: bool = True, sewfaces: bool = True, makesolids: bool = True, splitpartitions: bool = False) -> None:
|
|
398
|
+
"""
|
|
399
|
+
Heal the OCCGeometry.
|
|
400
|
+
"""
|
|
401
|
+
def SetFaceMeshsize(self, arg0: typing.SupportsInt, arg1: typing.SupportsFloat) -> None:
|
|
402
|
+
"""
|
|
403
|
+
Set maximum meshsize for face fnr. Face numbers are 0 based.
|
|
404
|
+
"""
|
|
405
|
+
def __getstate__(self) -> tuple:
|
|
406
|
+
...
|
|
407
|
+
@typing.overload
|
|
408
|
+
def __init__(self, shape: TopoDS_Shape, dim: typing.SupportsInt = 3, copy: bool = False) -> None:
|
|
409
|
+
"""
|
|
410
|
+
Create Netgen OCCGeometry from existing TopoDS_Shape
|
|
411
|
+
"""
|
|
412
|
+
@typing.overload
|
|
413
|
+
def __init__(self, shape: collections.abc.Sequence[TopoDS_Shape]) -> None:
|
|
414
|
+
"""
|
|
415
|
+
Create Netgen OCCGeometry from existing TopoDS_Shape
|
|
416
|
+
"""
|
|
417
|
+
@typing.overload
|
|
418
|
+
def __init__(self, filename: str, dim: typing.SupportsInt = 3) -> None:
|
|
419
|
+
"""
|
|
420
|
+
Load OCC geometry from step, brep or iges file
|
|
421
|
+
"""
|
|
422
|
+
def __setstate__(self, arg0: tuple) -> None:
|
|
423
|
+
...
|
|
424
|
+
def _visualizationData(self) -> dict:
|
|
425
|
+
...
|
|
426
|
+
@property
|
|
427
|
+
def edges(self) -> ListOfShapes:
|
|
428
|
+
"""
|
|
429
|
+
Get edges in order that they will be in the mesh
|
|
430
|
+
"""
|
|
431
|
+
@property
|
|
432
|
+
def faces(self) -> ListOfShapes:
|
|
433
|
+
"""
|
|
434
|
+
Get faces in order that they will be in the mesh
|
|
435
|
+
"""
|
|
436
|
+
@property
|
|
437
|
+
def shape(self) -> TopoDS_Shape:
|
|
438
|
+
...
|
|
439
|
+
@property
|
|
440
|
+
def solids(self) -> ListOfShapes:
|
|
441
|
+
"""
|
|
442
|
+
Get solids in order that they will be in the mesh
|
|
443
|
+
"""
|
|
444
|
+
@property
|
|
445
|
+
def vertices(self) -> ListOfShapes:
|
|
446
|
+
"""
|
|
447
|
+
Get vertices in order that they will be in the mesh
|
|
448
|
+
"""
|
|
449
|
+
class ShapeContinuity:
|
|
450
|
+
"""
|
|
451
|
+
Wrapper for OCC enum GeomAbs_Shape
|
|
452
|
+
|
|
453
|
+
Members:
|
|
454
|
+
|
|
455
|
+
C0
|
|
456
|
+
|
|
457
|
+
C1
|
|
458
|
+
|
|
459
|
+
C2
|
|
460
|
+
|
|
461
|
+
C3
|
|
462
|
+
|
|
463
|
+
CN
|
|
464
|
+
|
|
465
|
+
G1
|
|
466
|
+
|
|
467
|
+
G2
|
|
468
|
+
"""
|
|
469
|
+
C0: typing.ClassVar[ShapeContinuity] # value = <ShapeContinuity.C0: 0>
|
|
470
|
+
C1: typing.ClassVar[ShapeContinuity] # value = <ShapeContinuity.C1: 2>
|
|
471
|
+
C2: typing.ClassVar[ShapeContinuity] # value = <ShapeContinuity.C2: 4>
|
|
472
|
+
C3: typing.ClassVar[ShapeContinuity] # value = <ShapeContinuity.C3: 5>
|
|
473
|
+
CN: typing.ClassVar[ShapeContinuity] # value = <ShapeContinuity.CN: 6>
|
|
474
|
+
G1: typing.ClassVar[ShapeContinuity] # value = <ShapeContinuity.G1: 1>
|
|
475
|
+
G2: typing.ClassVar[ShapeContinuity] # value = <ShapeContinuity.G2: 3>
|
|
476
|
+
__members__: typing.ClassVar[dict[str, ShapeContinuity]] # value = {'C0': <ShapeContinuity.C0: 0>, 'C1': <ShapeContinuity.C1: 2>, 'C2': <ShapeContinuity.C2: 4>, 'C3': <ShapeContinuity.C3: 5>, 'CN': <ShapeContinuity.CN: 6>, 'G1': <ShapeContinuity.G1: 1>, 'G2': <ShapeContinuity.G2: 3>}
|
|
477
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
478
|
+
...
|
|
479
|
+
def __getstate__(self) -> int:
|
|
480
|
+
...
|
|
481
|
+
def __hash__(self) -> int:
|
|
482
|
+
...
|
|
483
|
+
def __index__(self) -> int:
|
|
484
|
+
...
|
|
485
|
+
def __init__(self, value: typing.SupportsInt) -> None:
|
|
486
|
+
...
|
|
487
|
+
def __int__(self) -> int:
|
|
488
|
+
...
|
|
489
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
490
|
+
...
|
|
491
|
+
def __repr__(self) -> str:
|
|
492
|
+
...
|
|
493
|
+
def __setstate__(self, state: typing.SupportsInt) -> None:
|
|
494
|
+
...
|
|
495
|
+
def __str__(self) -> str:
|
|
496
|
+
...
|
|
497
|
+
@property
|
|
498
|
+
def name(self) -> str:
|
|
499
|
+
...
|
|
500
|
+
@property
|
|
501
|
+
def value(self) -> int:
|
|
502
|
+
...
|
|
503
|
+
class Solid(TopoDS_Shape):
|
|
504
|
+
def __init__(self, arg0: TopoDS_Shape) -> None:
|
|
505
|
+
"""
|
|
506
|
+
Create solid from shell. Shell must consist of topologically closed faces (share vertices and edges).
|
|
507
|
+
"""
|
|
508
|
+
class TopAbs_ShapeEnum:
|
|
509
|
+
"""
|
|
510
|
+
Enumeration of all supported TopoDS_Shapes
|
|
511
|
+
|
|
512
|
+
Members:
|
|
513
|
+
|
|
514
|
+
COMPOUND
|
|
515
|
+
|
|
516
|
+
COMPSOLID
|
|
517
|
+
|
|
518
|
+
SOLID
|
|
519
|
+
|
|
520
|
+
SHELL
|
|
521
|
+
|
|
522
|
+
FACE
|
|
523
|
+
|
|
524
|
+
WIRE
|
|
525
|
+
|
|
526
|
+
EDGE
|
|
527
|
+
|
|
528
|
+
VERTEX
|
|
529
|
+
|
|
530
|
+
SHAPE
|
|
531
|
+
"""
|
|
532
|
+
COMPOUND: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.COMPOUND: 0>
|
|
533
|
+
COMPSOLID: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.COMPSOLID: 1>
|
|
534
|
+
EDGE: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.EDGE: 6>
|
|
535
|
+
FACE: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.FACE: 4>
|
|
536
|
+
SHAPE: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.SHAPE: 8>
|
|
537
|
+
SHELL: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.SHELL: 3>
|
|
538
|
+
SOLID: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.SOLID: 2>
|
|
539
|
+
VERTEX: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.VERTEX: 7>
|
|
540
|
+
WIRE: typing.ClassVar[TopAbs_ShapeEnum] # value = <TopAbs_ShapeEnum.WIRE: 5>
|
|
541
|
+
__members__: typing.ClassVar[dict[str, TopAbs_ShapeEnum]] # value = {'COMPOUND': <TopAbs_ShapeEnum.COMPOUND: 0>, 'COMPSOLID': <TopAbs_ShapeEnum.COMPSOLID: 1>, 'SOLID': <TopAbs_ShapeEnum.SOLID: 2>, 'SHELL': <TopAbs_ShapeEnum.SHELL: 3>, 'FACE': <TopAbs_ShapeEnum.FACE: 4>, 'WIRE': <TopAbs_ShapeEnum.WIRE: 5>, 'EDGE': <TopAbs_ShapeEnum.EDGE: 6>, 'VERTEX': <TopAbs_ShapeEnum.VERTEX: 7>, 'SHAPE': <TopAbs_ShapeEnum.SHAPE: 8>}
|
|
542
|
+
def __eq__(self, other: typing.Any) -> bool:
|
|
543
|
+
...
|
|
544
|
+
def __getstate__(self) -> int:
|
|
545
|
+
...
|
|
546
|
+
def __hash__(self) -> int:
|
|
547
|
+
...
|
|
548
|
+
def __index__(self) -> int:
|
|
549
|
+
...
|
|
550
|
+
def __init__(self, value: typing.SupportsInt) -> None:
|
|
551
|
+
...
|
|
552
|
+
def __int__(self) -> int:
|
|
553
|
+
...
|
|
554
|
+
def __ne__(self, other: typing.Any) -> bool:
|
|
555
|
+
...
|
|
556
|
+
def __repr__(self) -> str:
|
|
557
|
+
...
|
|
558
|
+
def __setstate__(self, state: typing.SupportsInt) -> None:
|
|
559
|
+
...
|
|
560
|
+
def __str__(self) -> str:
|
|
561
|
+
...
|
|
562
|
+
@property
|
|
563
|
+
def name(self) -> str:
|
|
564
|
+
...
|
|
565
|
+
@property
|
|
566
|
+
def value(self) -> int:
|
|
567
|
+
...
|
|
568
|
+
class TopLoc_Location:
|
|
569
|
+
def Transformation(self) -> gp_Trsf:
|
|
570
|
+
...
|
|
571
|
+
def __init__(self, arg0: gp_Trsf) -> None:
|
|
572
|
+
...
|
|
573
|
+
class TopoDS_Shape:
|
|
574
|
+
def Distance(self, arg0: TopoDS_Shape) -> float:
|
|
575
|
+
...
|
|
576
|
+
@typing.overload
|
|
577
|
+
def Extrude(self, h: typing.SupportsFloat, dir: netgen.libngpy._NgOCC.gp_Vec | None = None, identify: bool = False, idtype: netgen.libngpy._meshing.IdentificationType = ..., idname: str = 'extrusion') -> TopoDS_Shape:
|
|
578
|
+
"""
|
|
579
|
+
extrude shape to thickness 'h', shape must contain a plane surface, optionally give an extrusion direction
|
|
580
|
+
"""
|
|
581
|
+
@typing.overload
|
|
582
|
+
def Extrude(self, v: gp_Vec) -> TopoDS_Shape:
|
|
583
|
+
"""
|
|
584
|
+
extrude shape by vector 'v'
|
|
585
|
+
"""
|
|
586
|
+
def GenerateMesh(self, mp: netgen.libngpy._meshing.MeshingParameters = None, dim: typing.SupportsInt = 3, ngs_mesh: bool = True, **kwargs) -> typing.Any:
|
|
587
|
+
...
|
|
588
|
+
def Identify(self, other: TopoDS_Shape, name: str, type: netgen.libngpy._meshing.IdentificationType = ..., trafo: netgen.libngpy._NgOCC.gp_Trsf | netgen.libngpy._NgOCC.gp_GTrsf | None = None) -> None:
|
|
589
|
+
"""
|
|
590
|
+
Identify shapes for periodic meshing
|
|
591
|
+
"""
|
|
592
|
+
def LimitTolerance(self, tmin: typing.SupportsFloat, tmax: typing.SupportsFloat = 0.0, type: TopAbs_ShapeEnum = ...) -> None:
|
|
593
|
+
"""
|
|
594
|
+
limit tolerance of shape to range [tmin, tmax]
|
|
595
|
+
"""
|
|
596
|
+
def Located(self, loc: TopLoc_Location) -> TopoDS_Shape:
|
|
597
|
+
"""
|
|
598
|
+
copy shape and sets location of copy
|
|
599
|
+
"""
|
|
600
|
+
def MakeChamfer(self, edges: collections.abc.Sequence[TopoDS_Shape], d: typing.SupportsFloat) -> TopoDS_Shape:
|
|
601
|
+
"""
|
|
602
|
+
make symmetric chamfer for edges 'edges' of distrance 'd'
|
|
603
|
+
"""
|
|
604
|
+
@typing.overload
|
|
605
|
+
def MakeFillet(self, fillets: collections.abc.Sequence[tuple[TopoDS_Shape, typing.SupportsFloat]]) -> TopoDS_Shape:
|
|
606
|
+
"""
|
|
607
|
+
make fillets for shapes of radius 'r'
|
|
608
|
+
"""
|
|
609
|
+
@typing.overload
|
|
610
|
+
def MakeFillet(self, edges: collections.abc.Sequence[TopoDS_Shape], r: typing.SupportsFloat) -> TopoDS_Shape:
|
|
611
|
+
"""
|
|
612
|
+
make fillets for edges 'edges' of radius 'r'
|
|
613
|
+
"""
|
|
614
|
+
def MakeThickSolid(self, facestoremove: collections.abc.Sequence[TopoDS_Shape], offset: typing.SupportsFloat, tol: typing.SupportsFloat, intersection: bool = False, joinType: str = 'arc', removeIntersectingEdges: bool = False) -> TopoDS_Shape:
|
|
615
|
+
"""
|
|
616
|
+
makes shell-like solid from faces
|
|
617
|
+
"""
|
|
618
|
+
def MakeTriangulation(self) -> None:
|
|
619
|
+
...
|
|
620
|
+
@typing.overload
|
|
621
|
+
def Mirror(self, axes: Axes) -> TopoDS_Shape:
|
|
622
|
+
"""
|
|
623
|
+
copy shape, and mirror over XY - plane defined by 'axes'
|
|
624
|
+
"""
|
|
625
|
+
@typing.overload
|
|
626
|
+
def Mirror(self, axes: Axis) -> TopoDS_Shape:
|
|
627
|
+
"""
|
|
628
|
+
copy shape, and rotate by 180 deg around axis 'axis'
|
|
629
|
+
"""
|
|
630
|
+
def Move(self, v: gp_Vec) -> typing.Any:
|
|
631
|
+
"""
|
|
632
|
+
copy shape, and translate copy by vector 'v'
|
|
633
|
+
"""
|
|
634
|
+
def Offset(self, offset: typing.SupportsFloat, tol: typing.SupportsFloat, intersection: bool = False, joinType: str = 'arc', removeIntersectingEdges: bool = False, identification_name: str | None = None) -> TopoDS_Shape:
|
|
635
|
+
"""
|
|
636
|
+
makes shell-like solid from faces
|
|
637
|
+
"""
|
|
638
|
+
def Properties(self) -> tuple[typing.Any, typing.Any]:
|
|
639
|
+
"""
|
|
640
|
+
returns tuple of shape properties, currently ('mass', 'center'
|
|
641
|
+
"""
|
|
642
|
+
def Reversed(self) -> typing.Any:
|
|
643
|
+
...
|
|
644
|
+
def Revolve(self, axis: Axis, ang: typing.SupportsFloat) -> TopoDS_Shape:
|
|
645
|
+
"""
|
|
646
|
+
revolve shape around 'axis' by 'ang' degrees
|
|
647
|
+
"""
|
|
648
|
+
def Rotate(self, axis: Axis, ang: typing.SupportsFloat) -> TopoDS_Shape:
|
|
649
|
+
"""
|
|
650
|
+
copy shape, and rotet copy by 'ang' degrees around 'axis'
|
|
651
|
+
"""
|
|
652
|
+
def Scale(self, p: gp_Pnt, s: typing.SupportsFloat) -> TopoDS_Shape:
|
|
653
|
+
"""
|
|
654
|
+
copy shape, and scale copy by factor 's'
|
|
655
|
+
"""
|
|
656
|
+
def SetTolerance(self, tol: typing.SupportsFloat, stype: TopAbs_ShapeEnum = ...) -> None:
|
|
657
|
+
"""
|
|
658
|
+
set (enforce) tolerance of shape to 't'
|
|
659
|
+
"""
|
|
660
|
+
def ShapeType(self) -> None:
|
|
661
|
+
"""
|
|
662
|
+
deprecated, use 'shape.type' instead
|
|
663
|
+
"""
|
|
664
|
+
def SubShapes(self, type: TopAbs_ShapeEnum) -> ...:
|
|
665
|
+
"""
|
|
666
|
+
returns list of sub-shapes of type 'type'
|
|
667
|
+
"""
|
|
668
|
+
def Triangulation(self) -> ...:
|
|
669
|
+
...
|
|
670
|
+
def UnifySameDomain(self, unifyEdges: bool = True, unifyFaces: bool = True, concatBSplines: bool = True) -> TopoDS_Shape:
|
|
671
|
+
...
|
|
672
|
+
def WriteBrep(self, filename: str, withTriangles: bool = True, withNormals: bool = False, version: typing.SupportsInt | None = None, binary: bool = False) -> None:
|
|
673
|
+
"""
|
|
674
|
+
export shape in BREP - format
|
|
675
|
+
"""
|
|
676
|
+
def WriteStep(self, filename: str) -> None:
|
|
677
|
+
"""
|
|
678
|
+
export shape in STEP - format
|
|
679
|
+
"""
|
|
680
|
+
def __add__(self, arg0: TopoDS_Shape) -> TopoDS_Shape:
|
|
681
|
+
"""
|
|
682
|
+
fuses shapes
|
|
683
|
+
"""
|
|
684
|
+
def __eq__(self, arg0: TopoDS_Shape) -> bool:
|
|
685
|
+
...
|
|
686
|
+
def __hash__(self) -> int:
|
|
687
|
+
...
|
|
688
|
+
def __mul__(self, arg0: TopoDS_Shape) -> TopoDS_Shape:
|
|
689
|
+
"""
|
|
690
|
+
common of shapes
|
|
691
|
+
"""
|
|
692
|
+
def __radd__(self, arg0: typing.SupportsInt) -> TopoDS_Shape:
|
|
693
|
+
"""
|
|
694
|
+
needed for Sum([shapes])
|
|
695
|
+
"""
|
|
696
|
+
def __str__(self) -> str:
|
|
697
|
+
...
|
|
698
|
+
def __sub__(self, arg0: TopoDS_Shape) -> TopoDS_Shape:
|
|
699
|
+
"""
|
|
700
|
+
cut of shapes
|
|
701
|
+
"""
|
|
702
|
+
def _webgui_data(self) -> dict:
|
|
703
|
+
...
|
|
704
|
+
def bc(self, name: str) -> TopoDS_Shape:
|
|
705
|
+
"""
|
|
706
|
+
sets 'name' property for all faces of shape
|
|
707
|
+
"""
|
|
708
|
+
def mat(self, name: str) -> TopoDS_Shape:
|
|
709
|
+
"""
|
|
710
|
+
sets 'name' property to all solids of shape
|
|
711
|
+
"""
|
|
712
|
+
@property
|
|
713
|
+
def bounding_box(self) -> tuple:
|
|
714
|
+
"""
|
|
715
|
+
returns bounding box (pmin, pmax)
|
|
716
|
+
"""
|
|
717
|
+
@property
|
|
718
|
+
def center(self) -> gp_Pnt:
|
|
719
|
+
"""
|
|
720
|
+
returns center of gravity of shape
|
|
721
|
+
"""
|
|
722
|
+
@property
|
|
723
|
+
def col(self) -> typing.Any:
|
|
724
|
+
"""
|
|
725
|
+
color of shape as RGB or RGBA - tuple
|
|
726
|
+
"""
|
|
727
|
+
@col.setter
|
|
728
|
+
def col(self, arg1: collections.abc.Sequence[typing.SupportsFloat] | None) -> None:
|
|
729
|
+
...
|
|
730
|
+
@property
|
|
731
|
+
def edges(self) -> ...:
|
|
732
|
+
"""
|
|
733
|
+
returns all sub-shapes of type 'EDGE'
|
|
734
|
+
"""
|
|
735
|
+
@property
|
|
736
|
+
def faces(self) -> ...:
|
|
737
|
+
"""
|
|
738
|
+
returns all sub-shapes of type 'FACE'
|
|
739
|
+
"""
|
|
740
|
+
@property
|
|
741
|
+
def hpref(self) -> float:
|
|
742
|
+
"""
|
|
743
|
+
number of refinement levels for geometric refinement
|
|
744
|
+
"""
|
|
745
|
+
@hpref.setter
|
|
746
|
+
def hpref(self, arg1: typing.SupportsFloat) -> None:
|
|
747
|
+
...
|
|
748
|
+
@property
|
|
749
|
+
def inertia(self) -> gp_Mat:
|
|
750
|
+
"""
|
|
751
|
+
returns matrix of inertia of shape
|
|
752
|
+
"""
|
|
753
|
+
@property
|
|
754
|
+
def layer(self) -> int:
|
|
755
|
+
"""
|
|
756
|
+
layer of shape
|
|
757
|
+
"""
|
|
758
|
+
@layer.setter
|
|
759
|
+
def layer(self, arg1: typing.SupportsInt) -> None:
|
|
760
|
+
...
|
|
761
|
+
@property
|
|
762
|
+
def location(self) -> TopLoc_Location:
|
|
763
|
+
"""
|
|
764
|
+
Location of shape
|
|
765
|
+
"""
|
|
766
|
+
@location.setter
|
|
767
|
+
def location(self, arg1: TopLoc_Location) -> None:
|
|
768
|
+
...
|
|
769
|
+
@property
|
|
770
|
+
def mass(self) -> float:
|
|
771
|
+
"""
|
|
772
|
+
returns mass of shape, what is length, face, or volume
|
|
773
|
+
"""
|
|
774
|
+
@property
|
|
775
|
+
def maxh(self) -> float:
|
|
776
|
+
"""
|
|
777
|
+
maximal mesh-size for shape
|
|
778
|
+
"""
|
|
779
|
+
@maxh.setter
|
|
780
|
+
def maxh(self, arg1: typing.SupportsFloat) -> None:
|
|
781
|
+
...
|
|
782
|
+
@property
|
|
783
|
+
def name(self) -> str | None:
|
|
784
|
+
"""
|
|
785
|
+
'name' of shape
|
|
786
|
+
"""
|
|
787
|
+
@name.setter
|
|
788
|
+
def name(self, arg1: str | None) -> None:
|
|
789
|
+
...
|
|
790
|
+
@property
|
|
791
|
+
def shells(self) -> ...:
|
|
792
|
+
"""
|
|
793
|
+
returns all sub-shapes of type 'SHELL'
|
|
794
|
+
"""
|
|
795
|
+
@property
|
|
796
|
+
def solids(self) -> ...:
|
|
797
|
+
"""
|
|
798
|
+
returns all sub-shapes of type 'SOLID'
|
|
799
|
+
"""
|
|
800
|
+
@property
|
|
801
|
+
def type(self) -> TopAbs_ShapeEnum:
|
|
802
|
+
"""
|
|
803
|
+
returns type of shape, i.e. 'EDGE', 'FACE', ...
|
|
804
|
+
"""
|
|
805
|
+
@property
|
|
806
|
+
def vertices(self) -> ...:
|
|
807
|
+
"""
|
|
808
|
+
returns all sub-shapes of type 'VERTEX'
|
|
809
|
+
"""
|
|
810
|
+
@property
|
|
811
|
+
def wires(self) -> ...:
|
|
812
|
+
"""
|
|
813
|
+
returns all sub-shapes of type 'WIRE'
|
|
814
|
+
"""
|
|
815
|
+
class Vertex(TopoDS_Shape):
|
|
816
|
+
@typing.overload
|
|
817
|
+
def __init__(self, arg0: TopoDS_Shape) -> None:
|
|
818
|
+
...
|
|
819
|
+
@typing.overload
|
|
820
|
+
def __init__(self, arg0: gp_Pnt) -> None:
|
|
821
|
+
...
|
|
822
|
+
@property
|
|
823
|
+
def p(self) -> gp_Pnt:
|
|
824
|
+
"""
|
|
825
|
+
coordinates of vertex
|
|
826
|
+
"""
|
|
827
|
+
class Wire(TopoDS_Shape):
|
|
828
|
+
def Offset(self, arg0: TopoDS_Face, arg1: typing.SupportsFloat, arg2: str, arg3: bool) -> TopoDS_Shape:
|
|
829
|
+
...
|
|
830
|
+
@typing.overload
|
|
831
|
+
def __init__(self, arg0: Edge) -> None:
|
|
832
|
+
...
|
|
833
|
+
@typing.overload
|
|
834
|
+
def __init__(self, arg0: collections.abc.Sequence[TopoDS_Shape]) -> None:
|
|
835
|
+
...
|
|
836
|
+
class WorkPlane:
|
|
837
|
+
def Arc(self, r: typing.SupportsFloat, ang: typing.SupportsFloat, name: str | None = None, maxh: typing.SupportsFloat | None = None) -> WorkPlane:
|
|
838
|
+
"""
|
|
839
|
+
draw arc tangential to current pos/dir, of radius 'r' and angle 'ang', draw to the left/right if ang is positive/negative
|
|
840
|
+
"""
|
|
841
|
+
def ArcTo(self, h: typing.SupportsFloat, v: typing.SupportsFloat, t: gp_Vec2d, name: str | None = None, maxh: typing.SupportsFloat | None = None) -> WorkPlane:
|
|
842
|
+
...
|
|
843
|
+
@typing.overload
|
|
844
|
+
def Circle(self, h: typing.SupportsFloat, v: typing.SupportsFloat, r: typing.SupportsFloat) -> WorkPlane:
|
|
845
|
+
"""
|
|
846
|
+
draw circle with center (h,v) and radius 'r'
|
|
847
|
+
"""
|
|
848
|
+
@typing.overload
|
|
849
|
+
def Circle(self, r: typing.SupportsFloat) -> WorkPlane:
|
|
850
|
+
"""
|
|
851
|
+
draw circle with center in current position
|
|
852
|
+
"""
|
|
853
|
+
def Close(self, name: str | None = None) -> WorkPlane:
|
|
854
|
+
"""
|
|
855
|
+
draw line to start point of wire, and finish wire
|
|
856
|
+
"""
|
|
857
|
+
def Direction(self, dirh: typing.SupportsFloat, dirv: typing.SupportsFloat) -> WorkPlane:
|
|
858
|
+
"""
|
|
859
|
+
reset direction to (dirh, dirv)
|
|
860
|
+
"""
|
|
861
|
+
def Ellipse(self, major: typing.SupportsFloat, minor: typing.SupportsFloat) -> WorkPlane:
|
|
862
|
+
"""
|
|
863
|
+
draw ellipse with current position as center
|
|
864
|
+
"""
|
|
865
|
+
def Face(self) -> Face:
|
|
866
|
+
"""
|
|
867
|
+
generate and return face of all wires, resets list of wires
|
|
868
|
+
"""
|
|
869
|
+
def Finish(self) -> WorkPlane:
|
|
870
|
+
"""
|
|
871
|
+
finish current wire without closing
|
|
872
|
+
"""
|
|
873
|
+
def Last(self) -> netgen.libngpy._NgOCC.Wire | None:
|
|
874
|
+
"""
|
|
875
|
+
(deprecated) returns current wire
|
|
876
|
+
"""
|
|
877
|
+
@typing.overload
|
|
878
|
+
def Line(self, l: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
|
|
879
|
+
...
|
|
880
|
+
@typing.overload
|
|
881
|
+
def Line(self, dx: typing.SupportsFloat, dy: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
|
|
882
|
+
...
|
|
883
|
+
def LineTo(self, h: typing.SupportsFloat, v: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
|
|
884
|
+
"""
|
|
885
|
+
draw line to position (h,v)
|
|
886
|
+
"""
|
|
887
|
+
def Move(self, l: typing.SupportsFloat) -> WorkPlane:
|
|
888
|
+
"""
|
|
889
|
+
move 'l' from current position and direction, start new wire
|
|
890
|
+
"""
|
|
891
|
+
def MoveTo(self, h: typing.SupportsFloat, v: typing.SupportsFloat) -> WorkPlane:
|
|
892
|
+
"""
|
|
893
|
+
moveto (h,v), and start new wire
|
|
894
|
+
"""
|
|
895
|
+
def NameVertex(self, name: str) -> WorkPlane:
|
|
896
|
+
"""
|
|
897
|
+
name vertex at current position
|
|
898
|
+
"""
|
|
899
|
+
def Offset(self, d: typing.SupportsFloat) -> WorkPlane:
|
|
900
|
+
"""
|
|
901
|
+
replace current wire by offset curve of distance 'd'
|
|
902
|
+
"""
|
|
903
|
+
def Rectangle(self, l: typing.SupportsFloat, w: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
|
|
904
|
+
"""
|
|
905
|
+
draw rectangle, with current position as corner, use current direction
|
|
906
|
+
"""
|
|
907
|
+
def RectangleC(self, l: typing.SupportsFloat, w: typing.SupportsFloat, name: str | None = None) -> WorkPlane:
|
|
908
|
+
"""
|
|
909
|
+
draw rectangle, with current position as center, use current direction
|
|
910
|
+
"""
|
|
911
|
+
def Reverse(self) -> WorkPlane:
|
|
912
|
+
"""
|
|
913
|
+
revert orientation of current wire
|
|
914
|
+
"""
|
|
915
|
+
def Rotate(self, ang: typing.SupportsFloat) -> WorkPlane:
|
|
916
|
+
"""
|
|
917
|
+
rotate current direction by 'ang' degrees
|
|
918
|
+
"""
|
|
919
|
+
def Spline(self, points: collections.abc.Sequence[gp_Pnt2d], periodic: bool = False, tol: typing.SupportsFloat = 1e-08, tangents: collections.abc.Mapping[typing.SupportsInt, gp_Vec2d] = {}, start_from_localpos: bool = True, name: str | None = None) -> WorkPlane:
|
|
920
|
+
"""
|
|
921
|
+
draw spline (default: starting from current position, which is implicitly added to given list of points), tangents can be specified for each point (0 refers to starting point)
|
|
922
|
+
"""
|
|
923
|
+
def Wire(self) -> netgen.libngpy._NgOCC.Wire | None:
|
|
924
|
+
"""
|
|
925
|
+
returns current wire
|
|
926
|
+
"""
|
|
927
|
+
def Wires(self) -> ListOfShapes:
|
|
928
|
+
"""
|
|
929
|
+
returns all wires
|
|
930
|
+
"""
|
|
931
|
+
def __init__(self, axes: Axes = ..., pos: gp_Ax2d = ...) -> None:
|
|
932
|
+
...
|
|
933
|
+
@property
|
|
934
|
+
def cur_dir(self) -> gp_Vec2d:
|
|
935
|
+
...
|
|
936
|
+
@property
|
|
937
|
+
def cur_loc(self) -> gp_Pnt2d:
|
|
938
|
+
...
|
|
939
|
+
@property
|
|
940
|
+
def start_pnt(self) -> gp_Pnt2d:
|
|
941
|
+
...
|
|
942
|
+
class gp_Ax2:
|
|
943
|
+
@typing.overload
|
|
944
|
+
def __init__(self, arg0: gp_Pnt, arg1: gp_Dir) -> None:
|
|
945
|
+
...
|
|
946
|
+
@typing.overload
|
|
947
|
+
def __init__(self, arg0: gp_Ax3) -> None:
|
|
948
|
+
...
|
|
949
|
+
class gp_Ax2d:
|
|
950
|
+
"""
|
|
951
|
+
2d OCC coordinate system
|
|
952
|
+
"""
|
|
953
|
+
def __init__(self, p: gp_Pnt2d = (0, 0), d: gp_Dir2d = ...) -> None:
|
|
954
|
+
...
|
|
955
|
+
class gp_Dir:
|
|
956
|
+
"""
|
|
957
|
+
3d OCC direction
|
|
958
|
+
"""
|
|
959
|
+
def __getitem__(self, arg0: typing.SupportsInt) -> float:
|
|
960
|
+
...
|
|
961
|
+
@typing.overload
|
|
962
|
+
def __init__(self, arg0: tuple) -> None:
|
|
963
|
+
...
|
|
964
|
+
@typing.overload
|
|
965
|
+
def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
|
|
966
|
+
...
|
|
967
|
+
@typing.overload
|
|
968
|
+
def __init__(self, arg0: gp_Vec) -> None:
|
|
969
|
+
...
|
|
970
|
+
def __str__(self) -> str:
|
|
971
|
+
...
|
|
972
|
+
class gp_Dir2d:
|
|
973
|
+
"""
|
|
974
|
+
2d OCC direction
|
|
975
|
+
"""
|
|
976
|
+
@typing.overload
|
|
977
|
+
def __init__(self, arg0: tuple) -> None:
|
|
978
|
+
...
|
|
979
|
+
@typing.overload
|
|
980
|
+
def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
|
|
981
|
+
...
|
|
982
|
+
class gp_GTrsf:
|
|
983
|
+
def __call__(self, arg0: TopoDS_Shape) -> TopoDS_Shape:
|
|
984
|
+
...
|
|
985
|
+
def __init__(self, mat: collections.abc.Sequence[typing.SupportsFloat], vec: collections.abc.Sequence[typing.SupportsFloat] = [0.0, 0.0, 0.0]) -> None:
|
|
986
|
+
...
|
|
987
|
+
class gp_Mat:
|
|
988
|
+
"""
|
|
989
|
+
3d OCC matrix
|
|
990
|
+
"""
|
|
991
|
+
def __getitem__(self, arg0: tuple[typing.SupportsInt, typing.SupportsInt]) -> float:
|
|
992
|
+
...
|
|
993
|
+
class gp_Pnt:
|
|
994
|
+
"""
|
|
995
|
+
3d OCC point
|
|
996
|
+
"""
|
|
997
|
+
def __add__(self, arg0: gp_Vec) -> gp_Pnt:
|
|
998
|
+
...
|
|
999
|
+
def __getitem__(self, arg0: typing.SupportsInt) -> float:
|
|
1000
|
+
...
|
|
1001
|
+
@typing.overload
|
|
1002
|
+
def __init__(self, arg0: tuple) -> None:
|
|
1003
|
+
...
|
|
1004
|
+
@typing.overload
|
|
1005
|
+
def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
|
|
1006
|
+
...
|
|
1007
|
+
def __repr__(self) -> str:
|
|
1008
|
+
...
|
|
1009
|
+
def __str__(self) -> str:
|
|
1010
|
+
...
|
|
1011
|
+
@typing.overload
|
|
1012
|
+
def __sub__(self, arg0: gp_Pnt) -> gp_Vec:
|
|
1013
|
+
...
|
|
1014
|
+
@typing.overload
|
|
1015
|
+
def __sub__(self, arg0: gp_Vec) -> gp_Pnt:
|
|
1016
|
+
...
|
|
1017
|
+
@property
|
|
1018
|
+
def x(self) -> float:
|
|
1019
|
+
...
|
|
1020
|
+
@x.setter
|
|
1021
|
+
def x(self, arg1: typing.SupportsFloat) -> None:
|
|
1022
|
+
...
|
|
1023
|
+
@property
|
|
1024
|
+
def y(self) -> float:
|
|
1025
|
+
...
|
|
1026
|
+
@y.setter
|
|
1027
|
+
def y(self, arg1: typing.SupportsFloat) -> None:
|
|
1028
|
+
...
|
|
1029
|
+
@property
|
|
1030
|
+
def z(self) -> float:
|
|
1031
|
+
...
|
|
1032
|
+
@z.setter
|
|
1033
|
+
def z(self, arg1: typing.SupportsFloat) -> None:
|
|
1034
|
+
...
|
|
1035
|
+
class gp_Pnt2d:
|
|
1036
|
+
"""
|
|
1037
|
+
2d OCC point
|
|
1038
|
+
"""
|
|
1039
|
+
def __add__(self, arg0: gp_Vec2d) -> gp_Pnt2d:
|
|
1040
|
+
...
|
|
1041
|
+
@typing.overload
|
|
1042
|
+
def __init__(self, arg0: tuple[typing.SupportsFloat, typing.SupportsFloat]) -> None:
|
|
1043
|
+
...
|
|
1044
|
+
@typing.overload
|
|
1045
|
+
def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
|
|
1046
|
+
...
|
|
1047
|
+
def __repr__(self) -> str:
|
|
1048
|
+
...
|
|
1049
|
+
def __str__(self) -> str:
|
|
1050
|
+
...
|
|
1051
|
+
@typing.overload
|
|
1052
|
+
def __sub__(self, arg0: gp_Pnt2d) -> gp_Vec2d:
|
|
1053
|
+
...
|
|
1054
|
+
@typing.overload
|
|
1055
|
+
def __sub__(self, arg0: gp_Vec2d) -> gp_Pnt2d:
|
|
1056
|
+
...
|
|
1057
|
+
@property
|
|
1058
|
+
def x(self) -> float:
|
|
1059
|
+
...
|
|
1060
|
+
@x.setter
|
|
1061
|
+
def x(self, arg1: typing.SupportsFloat) -> None:
|
|
1062
|
+
...
|
|
1063
|
+
@property
|
|
1064
|
+
def y(self) -> float:
|
|
1065
|
+
...
|
|
1066
|
+
@y.setter
|
|
1067
|
+
def y(self, arg1: typing.SupportsFloat) -> None:
|
|
1068
|
+
...
|
|
1069
|
+
class gp_Trsf:
|
|
1070
|
+
@staticmethod
|
|
1071
|
+
def Mirror(arg0: Axis) -> gp_Trsf:
|
|
1072
|
+
...
|
|
1073
|
+
@staticmethod
|
|
1074
|
+
@typing.overload
|
|
1075
|
+
def Rotation(arg0: Axis, arg1: typing.SupportsFloat) -> gp_Trsf:
|
|
1076
|
+
...
|
|
1077
|
+
@staticmethod
|
|
1078
|
+
@typing.overload
|
|
1079
|
+
def Rotation(arg0: gp_Pnt, arg1: gp_Dir, arg2: typing.SupportsFloat) -> gp_Trsf:
|
|
1080
|
+
...
|
|
1081
|
+
@staticmethod
|
|
1082
|
+
def Scale(arg0: gp_Pnt, arg1: typing.SupportsFloat) -> gp_Trsf:
|
|
1083
|
+
...
|
|
1084
|
+
@staticmethod
|
|
1085
|
+
@typing.overload
|
|
1086
|
+
def Transformation(arg0: Axes) -> gp_Trsf:
|
|
1087
|
+
...
|
|
1088
|
+
@staticmethod
|
|
1089
|
+
@typing.overload
|
|
1090
|
+
def Transformation(arg0: Axes, arg1: Axes) -> gp_Trsf:
|
|
1091
|
+
...
|
|
1092
|
+
@staticmethod
|
|
1093
|
+
def Translation(arg0: gp_Vec) -> gp_Trsf:
|
|
1094
|
+
...
|
|
1095
|
+
def Inverted(self) -> gp_Trsf:
|
|
1096
|
+
...
|
|
1097
|
+
def SetMirror(self, arg0: Axis) -> gp_Trsf:
|
|
1098
|
+
...
|
|
1099
|
+
def __call__(self, arg0: TopoDS_Shape) -> TopoDS_Shape:
|
|
1100
|
+
...
|
|
1101
|
+
def __init__(self) -> None:
|
|
1102
|
+
...
|
|
1103
|
+
def __mul__(self, arg0: gp_Trsf) -> gp_Trsf:
|
|
1104
|
+
...
|
|
1105
|
+
def __str__(self) -> str:
|
|
1106
|
+
...
|
|
1107
|
+
class gp_Vec:
|
|
1108
|
+
"""
|
|
1109
|
+
3d OCC vector
|
|
1110
|
+
"""
|
|
1111
|
+
def Norm(self) -> float:
|
|
1112
|
+
...
|
|
1113
|
+
def __add__(self, arg0: gp_Vec) -> gp_Vec:
|
|
1114
|
+
...
|
|
1115
|
+
def __ge__(self, arg0: typing.SupportsFloat) -> ...:
|
|
1116
|
+
...
|
|
1117
|
+
def __gt__(self, arg0: typing.SupportsFloat) -> ...:
|
|
1118
|
+
...
|
|
1119
|
+
@typing.overload
|
|
1120
|
+
def __init__(self, arg0: tuple) -> None:
|
|
1121
|
+
...
|
|
1122
|
+
@typing.overload
|
|
1123
|
+
def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> None:
|
|
1124
|
+
...
|
|
1125
|
+
@typing.overload
|
|
1126
|
+
def __init__(self, arg0: gp_Dir) -> None:
|
|
1127
|
+
...
|
|
1128
|
+
def __le__(self, arg0: typing.SupportsFloat) -> ...:
|
|
1129
|
+
...
|
|
1130
|
+
def __lt__(self, arg0: typing.SupportsFloat) -> ...:
|
|
1131
|
+
...
|
|
1132
|
+
def __mul__(self, arg0: gp_Vec) -> float:
|
|
1133
|
+
...
|
|
1134
|
+
def __neg__(self) -> gp_Vec:
|
|
1135
|
+
...
|
|
1136
|
+
def __repr__(self) -> str:
|
|
1137
|
+
...
|
|
1138
|
+
def __rmul__(self, arg0: typing.SupportsFloat) -> gp_Vec:
|
|
1139
|
+
...
|
|
1140
|
+
def __str__(self) -> str:
|
|
1141
|
+
...
|
|
1142
|
+
def __sub__(self, arg0: gp_Vec) -> gp_Vec:
|
|
1143
|
+
...
|
|
1144
|
+
def __xor__(self, arg0: gp_Vec) -> gp_Vec:
|
|
1145
|
+
...
|
|
1146
|
+
@property
|
|
1147
|
+
def x(self) -> float:
|
|
1148
|
+
...
|
|
1149
|
+
@x.setter
|
|
1150
|
+
def x(self, arg1: typing.SupportsFloat) -> None:
|
|
1151
|
+
...
|
|
1152
|
+
@property
|
|
1153
|
+
def y(self) -> float:
|
|
1154
|
+
...
|
|
1155
|
+
@y.setter
|
|
1156
|
+
def y(self, arg1: typing.SupportsFloat) -> None:
|
|
1157
|
+
...
|
|
1158
|
+
@property
|
|
1159
|
+
def z(self) -> float:
|
|
1160
|
+
...
|
|
1161
|
+
@z.setter
|
|
1162
|
+
def z(self, arg1: typing.SupportsFloat) -> None:
|
|
1163
|
+
...
|
|
1164
|
+
class gp_Vec2d:
|
|
1165
|
+
"""
|
|
1166
|
+
2d OCC vector
|
|
1167
|
+
"""
|
|
1168
|
+
def __add__(self, arg0: gp_Vec2d) -> gp_Vec2d:
|
|
1169
|
+
...
|
|
1170
|
+
@typing.overload
|
|
1171
|
+
def __init__(self, arg0: tuple) -> None:
|
|
1172
|
+
...
|
|
1173
|
+
@typing.overload
|
|
1174
|
+
def __init__(self, x: typing.SupportsFloat, y: typing.SupportsFloat) -> None:
|
|
1175
|
+
...
|
|
1176
|
+
def __neg__(self) -> gp_Vec2d:
|
|
1177
|
+
...
|
|
1178
|
+
def __repr__(self: gp_Vec) -> str:
|
|
1179
|
+
...
|
|
1180
|
+
def __rmul__(self, arg0: typing.SupportsFloat) -> gp_Vec2d:
|
|
1181
|
+
...
|
|
1182
|
+
def __str__(self: gp_Vec) -> str:
|
|
1183
|
+
...
|
|
1184
|
+
def __sub__(self, arg0: gp_Vec2d) -> gp_Vec2d:
|
|
1185
|
+
...
|
|
1186
|
+
def __xor__(self, arg0: gp_Vec2d) -> float:
|
|
1187
|
+
...
|
|
1188
|
+
@property
|
|
1189
|
+
def x(self) -> float:
|
|
1190
|
+
...
|
|
1191
|
+
@x.setter
|
|
1192
|
+
def x(self, arg1: typing.SupportsFloat) -> None:
|
|
1193
|
+
...
|
|
1194
|
+
@property
|
|
1195
|
+
def y(self) -> float:
|
|
1196
|
+
...
|
|
1197
|
+
@y.setter
|
|
1198
|
+
def y(self, arg1: typing.SupportsFloat) -> None:
|
|
1199
|
+
...
|
|
1200
|
+
@typing.overload
|
|
1201
|
+
def ArcOfCircle(p1: gp_Pnt, p2: gp_Pnt, p3: gp_Pnt) -> Edge:
|
|
1202
|
+
"""
|
|
1203
|
+
create arc from p1 through p2 to p3
|
|
1204
|
+
"""
|
|
1205
|
+
@typing.overload
|
|
1206
|
+
def ArcOfCircle(p1: gp_Pnt, v: gp_Vec, p2: gp_Pnt) -> Edge:
|
|
1207
|
+
"""
|
|
1208
|
+
create arc from p1, with tangent vector v, to point p2
|
|
1209
|
+
"""
|
|
1210
|
+
def BSplineCurve(arg0: collections.abc.Sequence[gp_Pnt], arg1: typing.SupportsInt) -> Edge:
|
|
1211
|
+
...
|
|
1212
|
+
def BezierCurve(points: collections.abc.Sequence[gp_Pnt]) -> Edge:
|
|
1213
|
+
"""
|
|
1214
|
+
create Bezier curve
|
|
1215
|
+
"""
|
|
1216
|
+
def BezierSurface(poles: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], weights: typing.Annotated[numpy.typing.ArrayLike, numpy.float64] | None = None, tol: typing.SupportsFloat = 1e-07) -> Face:
|
|
1217
|
+
"""
|
|
1218
|
+
Creates a rational Bezier surface with the set of poles and the set of weights. The weights are defaulted to all being 1. If all the weights are identical the surface is considered as non rational. Raises ConstructionError if the number of poles in any direction is greater than MaxDegree + 1 or lower than 2 or CurvePoles and CurveWeights have not the same length or one weight value is lower or equal to Resolution. Returns an occ face with the given tolerance.
|
|
1219
|
+
"""
|
|
1220
|
+
def Box(p1: gp_Pnt, p2: gp_Pnt) -> Solid:
|
|
1221
|
+
"""
|
|
1222
|
+
create box with opposite points 'p1' and 'p2'
|
|
1223
|
+
"""
|
|
1224
|
+
@typing.overload
|
|
1225
|
+
def Circle(c: gp_Pnt2d, r: typing.SupportsFloat) -> Geom2d_Curve:
|
|
1226
|
+
"""
|
|
1227
|
+
create 2d circle curve
|
|
1228
|
+
"""
|
|
1229
|
+
@typing.overload
|
|
1230
|
+
def Circle(arg0: gp_Pnt, arg1: gp_Dir, arg2: typing.SupportsFloat) -> Edge:
|
|
1231
|
+
...
|
|
1232
|
+
def Cone(axis: gp_Ax2, r1: typing.SupportsFloat, r2: typing.SupportsFloat, h: typing.SupportsFloat, angle: typing.SupportsFloat) -> Solid:
|
|
1233
|
+
"""
|
|
1234
|
+
create cone given by axis, radius at bottom (z=0) r1, radius at top (z=h) r2, height and angle
|
|
1235
|
+
"""
|
|
1236
|
+
def ConnectEdgesToWires(edges: collections.abc.Sequence[TopoDS_Shape], tol: typing.SupportsFloat = 1e-08, shared: bool = True) -> list[Wire]:
|
|
1237
|
+
...
|
|
1238
|
+
@typing.overload
|
|
1239
|
+
def Cylinder(p: gp_Pnt, d: gp_Dir, r: typing.SupportsFloat, h: typing.SupportsFloat, bottom: str | None = None, top: str | None = None, mantle: str | None = None) -> typing.Any:
|
|
1240
|
+
"""
|
|
1241
|
+
create cylinder with base point 'p', axis direction 'd', radius 'r', and height 'h'
|
|
1242
|
+
"""
|
|
1243
|
+
@typing.overload
|
|
1244
|
+
def Cylinder(axis: gp_Ax2, r: typing.SupportsFloat, h: typing.SupportsFloat) -> Solid:
|
|
1245
|
+
"""
|
|
1246
|
+
create cylinder given by axis, radius and height
|
|
1247
|
+
"""
|
|
1248
|
+
@typing.overload
|
|
1249
|
+
def Dir(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Dir2d:
|
|
1250
|
+
"""
|
|
1251
|
+
create 2d OCC direction
|
|
1252
|
+
"""
|
|
1253
|
+
@typing.overload
|
|
1254
|
+
def Dir(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Dir:
|
|
1255
|
+
"""
|
|
1256
|
+
create 3d OCC direction
|
|
1257
|
+
"""
|
|
1258
|
+
@typing.overload
|
|
1259
|
+
def Dir(d: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
|
|
1260
|
+
"""
|
|
1261
|
+
create 2d or 3d OCC direction
|
|
1262
|
+
"""
|
|
1263
|
+
def Ellipse(axes: gp_Ax2d, major: typing.SupportsFloat, minor: typing.SupportsFloat) -> Geom2d_Curve:
|
|
1264
|
+
"""
|
|
1265
|
+
create 2d ellipse curve
|
|
1266
|
+
"""
|
|
1267
|
+
def Ellipsoid(axes: Axes, r1: typing.SupportsFloat, r2: typing.SupportsFloat, r3: typing.SupportsFloat | None = None) -> TopoDS_Shape:
|
|
1268
|
+
"""
|
|
1269
|
+
create ellipsoid with local coordinates given by axes, radi 'r1', 'r2', 'r3'
|
|
1270
|
+
"""
|
|
1271
|
+
def From_PyOCC(arg0: typing.Any) -> typing.Any:
|
|
1272
|
+
...
|
|
1273
|
+
def Fuse(arg0: collections.abc.Sequence[TopoDS_Shape]) -> TopoDS_Shape:
|
|
1274
|
+
...
|
|
1275
|
+
@typing.overload
|
|
1276
|
+
def Glue(shapes: collections.abc.Sequence[TopoDS_Shape]) -> TopoDS_Shape:
|
|
1277
|
+
"""
|
|
1278
|
+
glue together shapes of list
|
|
1279
|
+
"""
|
|
1280
|
+
@typing.overload
|
|
1281
|
+
def Glue(shape: TopoDS_Shape) -> TopoDS_Shape:
|
|
1282
|
+
"""
|
|
1283
|
+
glue together shapes from shape, typically a compound
|
|
1284
|
+
"""
|
|
1285
|
+
def HalfSpace(p: gp_Pnt, n: gp_Vec) -> TopoDS_Shape:
|
|
1286
|
+
"""
|
|
1287
|
+
Create a half space threw point p normal to n
|
|
1288
|
+
"""
|
|
1289
|
+
def LoadOCCGeometry(arg0: os.PathLike | str | bytes) -> netgen.libngpy._meshing.NetgenGeometry:
|
|
1290
|
+
...
|
|
1291
|
+
def MakeFillet(arg0: TopoDS_Shape, arg1: collections.abc.Sequence[TopoDS_Shape], arg2: typing.SupportsFloat) -> TopoDS_Shape:
|
|
1292
|
+
"""
|
|
1293
|
+
deprecated, use 'shape.MakeFillet'
|
|
1294
|
+
"""
|
|
1295
|
+
def MakePolygon(arg0: collections.abc.Sequence[Vertex]) -> Wire:
|
|
1296
|
+
...
|
|
1297
|
+
def MakeThickSolid(arg0: TopoDS_Shape, arg1: collections.abc.Sequence[TopoDS_Shape], arg2: typing.SupportsFloat, arg3: typing.SupportsFloat) -> TopoDS_Shape:
|
|
1298
|
+
"""
|
|
1299
|
+
deprecated, use 'shape.MakeThickSolid'
|
|
1300
|
+
"""
|
|
1301
|
+
def Pipe(spine: Wire, profile: TopoDS_Shape, twist: tuple[gp_Pnt, typing.SupportsFloat] | None = None, auxspine: netgen.libngpy._NgOCC.Wire | None = None) -> TopoDS_Shape:
|
|
1302
|
+
...
|
|
1303
|
+
def PipeShell(spine: Wire, profile: netgen.libngpy._NgOCC.TopoDS_Shape | collections.abc.Sequence[TopoDS_Shape], auxspine: netgen.libngpy._NgOCC.Wire | None = None) -> TopoDS_Shape:
|
|
1304
|
+
...
|
|
1305
|
+
@typing.overload
|
|
1306
|
+
def Pnt(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Pnt2d:
|
|
1307
|
+
"""
|
|
1308
|
+
create 2d OCC point
|
|
1309
|
+
"""
|
|
1310
|
+
@typing.overload
|
|
1311
|
+
def Pnt(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Pnt:
|
|
1312
|
+
"""
|
|
1313
|
+
create 3d OCC point
|
|
1314
|
+
"""
|
|
1315
|
+
@typing.overload
|
|
1316
|
+
def Pnt(p: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
|
|
1317
|
+
"""
|
|
1318
|
+
create 2d or 3d OCC point
|
|
1319
|
+
"""
|
|
1320
|
+
def Prism(face: TopoDS_Shape, v: gp_Vec) -> TopoDS_Shape:
|
|
1321
|
+
"""
|
|
1322
|
+
extrude face along the vector 'v'
|
|
1323
|
+
"""
|
|
1324
|
+
def ResetGlobalShapeProperties() -> None:
|
|
1325
|
+
...
|
|
1326
|
+
def Revolve(arg0: TopoDS_Shape, arg1: Axis, arg2: typing.SupportsFloat) -> TopoDS_Shape:
|
|
1327
|
+
...
|
|
1328
|
+
@typing.overload
|
|
1329
|
+
def Segment(p1: gp_Pnt2d, p2: gp_Pnt2d) -> Geom2d_Curve:
|
|
1330
|
+
"""
|
|
1331
|
+
create 2d line curve
|
|
1332
|
+
"""
|
|
1333
|
+
@typing.overload
|
|
1334
|
+
def Segment(arg0: gp_Pnt, arg1: gp_Pnt) -> Edge:
|
|
1335
|
+
...
|
|
1336
|
+
def Sew(faces: collections.abc.Sequence[TopoDS_Shape], tolerance: typing.SupportsFloat = 1e-06, non_manifold: bool = False) -> TopoDS_Shape:
|
|
1337
|
+
"""
|
|
1338
|
+
Stitch a list of faces into one or more connected shells.
|
|
1339
|
+
|
|
1340
|
+
Parameters
|
|
1341
|
+
----------
|
|
1342
|
+
faces : list[TopoDS_Shape]
|
|
1343
|
+
Faces or other shapes to sew together.
|
|
1344
|
+
tolerance : float, default=1e-6
|
|
1345
|
+
Geometric tolerance for merging edges and vertices.
|
|
1346
|
+
non_manifold : bool, default=False
|
|
1347
|
+
If True, allows edges shared by more than two faces (may produce
|
|
1348
|
+
multiple shells). If False, creates only manifold shells suitable
|
|
1349
|
+
for solids.
|
|
1350
|
+
|
|
1351
|
+
Returns
|
|
1352
|
+
-------
|
|
1353
|
+
TopoDS_Shape
|
|
1354
|
+
The sewed shape containing one or more shells.
|
|
1355
|
+
"""
|
|
1356
|
+
def Sphere(c: gp_Pnt, r: typing.SupportsFloat) -> Solid:
|
|
1357
|
+
"""
|
|
1358
|
+
create sphere with center 'c' and radius 'r'
|
|
1359
|
+
"""
|
|
1360
|
+
@typing.overload
|
|
1361
|
+
def SplineApproximation(points: collections.abc.Sequence[gp_Pnt2d], approx_type: ApproxParamType = ..., deg_min: typing.SupportsInt = 3, deg_max: typing.SupportsInt = 8, continuity: ShapeContinuity = ..., tol: typing.SupportsFloat = 1e-08) -> Geom2d_Curve:
|
|
1362
|
+
"""
|
|
1363
|
+
Generate a piecewise continuous spline-curve approximating a list of points in 2d.
|
|
1364
|
+
|
|
1365
|
+
Parameters
|
|
1366
|
+
----------
|
|
1367
|
+
|
|
1368
|
+
points : List|Tuple[gp_Pnt2d]
|
|
1369
|
+
List (or tuple) of gp_Pnt.
|
|
1370
|
+
|
|
1371
|
+
approx_type : ApproxParamType
|
|
1372
|
+
Assumption on location of parameters wrt points.
|
|
1373
|
+
|
|
1374
|
+
deg_min : int
|
|
1375
|
+
Minimum polynomial degree of splines
|
|
1376
|
+
|
|
1377
|
+
deg_max : int
|
|
1378
|
+
Maximum polynomial degree of splines
|
|
1379
|
+
|
|
1380
|
+
continuity : ShapeContinuity
|
|
1381
|
+
Continuity requirement on the approximating surface
|
|
1382
|
+
|
|
1383
|
+
tol : float
|
|
1384
|
+
Tolerance for the distance from individual points to the approximating curve.
|
|
1385
|
+
"""
|
|
1386
|
+
@typing.overload
|
|
1387
|
+
def SplineApproximation(points: collections.abc.Sequence[gp_Pnt], approx_type: ApproxParamType = ..., deg_min: typing.SupportsInt = 3, deg_max: typing.SupportsInt = 8, continuity: ShapeContinuity = ..., tol: typing.SupportsFloat = 1e-08) -> Edge:
|
|
1388
|
+
"""
|
|
1389
|
+
Generate a piecewise continuous spline-curve approximating a list of points in 3d.
|
|
1390
|
+
|
|
1391
|
+
Parameters
|
|
1392
|
+
----------
|
|
1393
|
+
|
|
1394
|
+
points : List[gp_Pnt] or Tuple[gp_Pnt]
|
|
1395
|
+
List (or tuple) of gp_Pnt.
|
|
1396
|
+
|
|
1397
|
+
approx_type : ApproxParamType
|
|
1398
|
+
Assumption on location of parameters wrt points.
|
|
1399
|
+
|
|
1400
|
+
deg_min : int
|
|
1401
|
+
Minimum polynomial degree of splines
|
|
1402
|
+
|
|
1403
|
+
deg_max : int
|
|
1404
|
+
Maximum polynomial degree of splines
|
|
1405
|
+
|
|
1406
|
+
continuity : ShapeContinuity
|
|
1407
|
+
Continuity requirement on the approximating surface
|
|
1408
|
+
|
|
1409
|
+
tol : float
|
|
1410
|
+
Tolerance for the distance from individual points to the approximating curve.
|
|
1411
|
+
"""
|
|
1412
|
+
@typing.overload
|
|
1413
|
+
def SplineInterpolation(points: collections.abc.Sequence[gp_Pnt2d], periodic: bool = False, tol: typing.SupportsFloat = 1e-08, tangents: collections.abc.Mapping[typing.SupportsInt, gp_Vec2d] = {}) -> Geom2d_Curve:
|
|
1414
|
+
"""
|
|
1415
|
+
Generate a piecewise continuous spline-curve interpolating a list of points in 2d.
|
|
1416
|
+
|
|
1417
|
+
Parameters
|
|
1418
|
+
----------
|
|
1419
|
+
|
|
1420
|
+
points : List|Tuple[gp_Pnt2d]
|
|
1421
|
+
List (or tuple) of gp_Pnt2d.
|
|
1422
|
+
|
|
1423
|
+
periodic : bool
|
|
1424
|
+
Whether the result should be periodic
|
|
1425
|
+
|
|
1426
|
+
tol : float
|
|
1427
|
+
Tolerance for the distance between points.
|
|
1428
|
+
|
|
1429
|
+
tangents : Dict[int, gp_Vec2d]
|
|
1430
|
+
Tangent vectors for the points indicated by the key value (0-based).
|
|
1431
|
+
"""
|
|
1432
|
+
@typing.overload
|
|
1433
|
+
def SplineInterpolation(points: collections.abc.Sequence[gp_Pnt], periodic: bool = False, tol: typing.SupportsFloat = 1e-08, tangents: collections.abc.Mapping[typing.SupportsInt, gp_Vec] = {}) -> Edge:
|
|
1434
|
+
"""
|
|
1435
|
+
Generate a piecewise continuous spline-curve interpolating a list of points in 3d.
|
|
1436
|
+
|
|
1437
|
+
Parameters
|
|
1438
|
+
----------
|
|
1439
|
+
|
|
1440
|
+
points : List|Tuple[gp_Pnt]
|
|
1441
|
+
List (or tuple) of gp_Pnt
|
|
1442
|
+
|
|
1443
|
+
periodic : bool
|
|
1444
|
+
Whether the result should be periodic
|
|
1445
|
+
|
|
1446
|
+
tol : float
|
|
1447
|
+
Tolerance for the distance between points.
|
|
1448
|
+
|
|
1449
|
+
tangents : Dict[int, gp_Vec]
|
|
1450
|
+
Tangent vectors for the points indicated by the key value (0-based).
|
|
1451
|
+
"""
|
|
1452
|
+
def SplineSurfaceApproximation(points: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], approx_type: ApproxParamType = ..., deg_min: typing.SupportsInt = 3, deg_max: typing.SupportsInt = 8, continuity: ShapeContinuity = ..., tol: typing.SupportsFloat = 0.001, periodic: bool = False, degen_tol: typing.SupportsFloat = 1e-08) -> Face:
|
|
1453
|
+
"""
|
|
1454
|
+
Generate a piecewise continuous spline-surface approximating an array of points.
|
|
1455
|
+
|
|
1456
|
+
Parameters
|
|
1457
|
+
----------
|
|
1458
|
+
|
|
1459
|
+
points : np.ndarray
|
|
1460
|
+
Array of points coordinates. The first dimension corresponds to the first surface coordinate point
|
|
1461
|
+
index, the second dimension to the second surface coordinate point index. The third dimension refers to physical
|
|
1462
|
+
coordinates. Such an array can be generated with code like::
|
|
1463
|
+
|
|
1464
|
+
px, py = np.meshgrid(*[np.linspace(0, 1, N)]*2)
|
|
1465
|
+
points = np.array([[(px[i,j], py[i,j], px[i,j]*py[i,j]**2) for j in range(N)] for i in range(N)])
|
|
1466
|
+
|
|
1467
|
+
approx_type : ApproxParamType
|
|
1468
|
+
Assumption on location of parameters wrt points.
|
|
1469
|
+
|
|
1470
|
+
deg_min : int
|
|
1471
|
+
Minimum polynomial degree of splines
|
|
1472
|
+
|
|
1473
|
+
deg_max : int
|
|
1474
|
+
Maximum polynomial degree of splines
|
|
1475
|
+
|
|
1476
|
+
continuity : ShapeContinuity
|
|
1477
|
+
Continuity requirement on the approximating surface
|
|
1478
|
+
|
|
1479
|
+
tol : float
|
|
1480
|
+
Tolerance for the distance from individual points to the approximating surface.
|
|
1481
|
+
|
|
1482
|
+
periodic : bool
|
|
1483
|
+
Whether the result should be periodic in the first surface parameter
|
|
1484
|
+
|
|
1485
|
+
degen_tol : double
|
|
1486
|
+
Tolerance for resolution of degenerate edges
|
|
1487
|
+
"""
|
|
1488
|
+
def SplineSurfaceInterpolation(points: typing.Annotated[numpy.typing.ArrayLike, numpy.float64], approx_type: ApproxParamType = ..., periodic: bool = False, degen_tol: typing.SupportsFloat = 1e-08) -> Face:
|
|
1489
|
+
"""
|
|
1490
|
+
Generate a piecewise continuous spline-surface interpolating an array of points.
|
|
1491
|
+
|
|
1492
|
+
Parameters
|
|
1493
|
+
----------
|
|
1494
|
+
|
|
1495
|
+
points : np.ndarray
|
|
1496
|
+
Array of points coordinates. The first dimension corresponds to the first surface coordinate point
|
|
1497
|
+
index, the second dimension to the second surface coordinate point index. The third dimension refers to physical
|
|
1498
|
+
coordinates. Such an array can be generated with code like::
|
|
1499
|
+
|
|
1500
|
+
px, py = np.meshgrid(*[np.linspace(0, 1, N)]*2)
|
|
1501
|
+
points = np.array([[(px[i,j], py[i,j], px[i,j]*py[i,j]**2) for j in range(N)] for i in range(N)])
|
|
1502
|
+
|
|
1503
|
+
approx_type : ApproxParamType
|
|
1504
|
+
Assumption on location of parameters wrt points.
|
|
1505
|
+
|
|
1506
|
+
periodic : bool
|
|
1507
|
+
Whether the result should be periodic in the first surface parameter
|
|
1508
|
+
|
|
1509
|
+
degen_tol : double
|
|
1510
|
+
Tolerance for resolution of degenerate edges
|
|
1511
|
+
"""
|
|
1512
|
+
def TestXCAF(shape: TopoDS_Shape = ...) -> None:
|
|
1513
|
+
...
|
|
1514
|
+
def ThruSections(wires: collections.abc.Sequence[TopoDS_Shape], solid: bool = True) -> TopoDS_Shape:
|
|
1515
|
+
"""
|
|
1516
|
+
Building a loft. This is a shell or solid passing through a set of sections (wires). First and last sections may be vertices. See https://dev.opencascade.org/doc/refman/html/class_b_rep_offset_a_p_i___thru_sections.html#details
|
|
1517
|
+
"""
|
|
1518
|
+
@typing.overload
|
|
1519
|
+
def Vec(x: typing.SupportsFloat, y: typing.SupportsFloat) -> gp_Vec2d:
|
|
1520
|
+
"""
|
|
1521
|
+
create 2d OCC point
|
|
1522
|
+
"""
|
|
1523
|
+
@typing.overload
|
|
1524
|
+
def Vec(x: typing.SupportsFloat, y: typing.SupportsFloat, z: typing.SupportsFloat) -> gp_Vec:
|
|
1525
|
+
"""
|
|
1526
|
+
create 3d OCC point
|
|
1527
|
+
"""
|
|
1528
|
+
@typing.overload
|
|
1529
|
+
def Vec(v: collections.abc.Sequence[typing.SupportsFloat]) -> typing.Any:
|
|
1530
|
+
"""
|
|
1531
|
+
create 2d or 3d OCC vector
|
|
1532
|
+
"""
|
|
1533
|
+
COMPOUND: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.COMPOUND: 0>
|
|
1534
|
+
COMPSOLID: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.COMPSOLID: 1>
|
|
1535
|
+
EDGE: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.EDGE: 6>
|
|
1536
|
+
FACE: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.FACE: 4>
|
|
1537
|
+
SHAPE: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.SHAPE: 8>
|
|
1538
|
+
SHELL: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.SHELL: 3>
|
|
1539
|
+
SOLID: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.SOLID: 2>
|
|
1540
|
+
VERTEX: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.VERTEX: 7>
|
|
1541
|
+
WIRE: TopAbs_ShapeEnum # value = <TopAbs_ShapeEnum.WIRE: 5>
|
|
1542
|
+
X: gp_Vec # value = (1, 0, 0)
|
|
1543
|
+
Y: gp_Vec # value = (0, 1, 0)
|
|
1544
|
+
Z: gp_Vec # value = (0, 0, 1)
|
|
1545
|
+
occ_version: str = '7.8.1'
|