Commit Graph

514 Commits

Author SHA1 Message Date
Matthias Hochsteger
132261ec4d Merge remote-tracking branch 'StefanBruens/fix_switch_enum' 2022-03-28 18:29:32 +02:00
luz paz
4033fac1b3 Fix various typos
Found via `codespell -q 3 -S ./external_dependencies/pybind11 -L alledges,allright,ane,anormal,ans,apoints,ba,boxs,cancle,childs,co-ordinate,co-ordinates,daty,enty,filld,hel,identifyable,ist,linz,lod,ned,nd,selt,statics,suround,thev,thist,thisy,timere,upto,wel`
2022-03-25 18:22:05 -04:00
Christopher Lackner
c822caafe7 [occ] create solid from faces
Needs shape consisting of topologically closed faces, for example from
Solid(Glue(list_of_faces))`
2022-03-17 11:58:11 +01:00
Joachim Schoeberl
7791840a4a little mpi cleanup, meshing+distribution in one call 2022-03-15 09:13:09 +01:00
mhochsteger@cerbsim.com
154302605f separate localh trees for different layers
currenlty used in OCC geometries generated with
shape = netgen.occ.Compound(list_of_shapes, separate_layers=True)
2022-03-10 19:04:46 +01:00
mhochsteger@cerbsim.com
4e8fe77098 fix some warnings 2022-03-02 14:14:38 +01:00
Christopher Lackner
d6770fda0c allow quad dominated meshing of faces 2022-02-25 10:50:51 +01:00
mhochsteger@cerbsim.com
cf59f297a7 use std::filesystem::path 2022-02-23 11:56:00 +01:00
mhochsteger@cerbsim.com
2ce4412fb2 no periodic in bspline surface builder on OCC 7.3 2022-02-11 18:19:50 +01:00
Joachim Schöberl
c5886cfe05 Merge branch 'occ_spline_tools' into 'master'
Adds wrappers for various OCC spline interpolation and approximation routines

See merge request jschoeberl/netgen!472
2022-02-11 11:15:18 +00:00
Matthias Rambausek
5f6b234262 shorter property names 2022-02-11 11:46:55 +01:00
Matthias Rambausek
51013105ed doc typo 2022-02-08 14:01:25 +01:00
Matthias Rambausek
947da90a00 Merge branch 'master' into occ_spline_tools 2022-02-07 18:43:29 +01:00
mhochsteger@cerbsim.com
82ec42b292 Ignore identified edges/vertices for closeedge localh restrictions 2022-02-02 15:09:41 +01:00
Stefan Brüns
54246e12ad Throw Exception when shape has invalid type
Although the switch statement handles all (current) allowed values, from
a C/C++ view point the enum may have any value of its underlying type.
In this case the function has no return statement and runs into
undefined behavior.

Fixes build failures when built with "-Werror=return-type".
2022-01-27 11:42:30 +01:00
Joachim Schöberl
86fd2983c7 Merge branch 'shape_name_return_optional' into 'master'
shape.name return optional<string>

See merge request jschoeberl/netgen!469
2022-01-20 16:48:43 +00:00
Joachim Schöberl
837575faf7 Merge branch 'fix_occ_closesurface' into 'master'
bugfix in FillCloseSurface

See merge request jschoeberl/netgen!468
2022-01-20 16:20:32 +00:00
Joachim Schöberl
1f23acac21 Merge branch 'occ_minedgelen' into 'master'
dont ignore small edges per default, do not set from stl parameters

See merge request jschoeberl/netgen!467
2022-01-20 16:20:15 +00:00
Christopher Lackner
1fbfc440ac shape.name return optional<string> 2022-01-20 17:03:16 +01:00
Christopher Lackner
3ab8808fa3 do not restrict mesh size on identified edges 2022-01-19 15:05:41 +01:00
Matthias Rambausek
bd85b7c638 Merge branch 'master' into occ_spline_tools
# Conflicts:
#	libsrc/occ/python_occ_shapes.cpp
2022-01-19 12:01:55 +01:00
Christopher Lackner
b6396c15c0 [occ] allow to delete names 2022-01-18 18:39:08 +01:00
Christopher Lackner
6065fe40f4 set global mesh in occ before generatemesh
to visualize meshing
2022-01-18 18:23:35 +01:00
Christopher Lackner
93de43456d dont ignore small edges per default, do not set from stl parameters
occresthminedgelen ignored restricting meshsize per segment length
on edges smaller than stl parameter resthminedgelen which was set
from the gui to 0.2. Disable this (can be used by giving
minedgelen parameter from python in meshing parameters)
2022-01-18 18:21:16 +01:00
Christopher Lackner
e597ce996b [occ] also prolongate names of solids and faces in extrude 2022-01-17 16:03:40 +01:00
mhochsteger@cerbsim.com
5f202fd4ea clear geom data in OCCGeometry::BuildFMap() (fixes broken meshing after Heal()) 2022-01-17 10:02:11 +01:00
mhochsteger@cerbsim.com
c63a865ee3 occ - fix meshing a sphere (need to keep degenerate edges) 2022-01-04 16:09:00 +01:00
Matthias Rambausek
093692f825 docstring fix 2021-12-27 17:08:00 +01:00
Matthias Rambausek
88bb6ec6af add some functions to access WorkPlane data and the possibility to create splines from any starting point 2021-12-27 16:10:37 +01:00
Matthias Rambausek
6656181e2b work om WP Spline: detect closing similar to ArcTo and LineTo, remove "name" arg 2021-12-22 16:21:24 +01:00
mhochsteger@cerbsim.com
f0b8b4fae9 occ - bugfix in identification propagation 2021-12-20 21:45:36 +01:00
mhochsteger@cerbsim.com
fe8c036204 Map identification trafo when transforming occ shapes
also propagate properties in gp_Trsf.__call__()
2021-12-20 21:01:51 +01:00
mhochsteger@cerbsim.com
1e86bc2c59 occ - consistent ordering of shapes 2021-12-17 11:04:23 +01:00
mhochsteger@cerbsim.com
d467621edd change interface for identifications 2021-12-16 20:54:19 +01:00
mhochsteger@cerbsim.com
b7448ce2c1 fix PropagateIdentifications after Glue 2021-12-16 18:35:43 +01:00
mhochsteger@cerbsim.com
44471fe649 occ - identify with given trafo (allows identifying multiple faces at once) 2021-12-14 12:16:03 +01:00
mhochsteger@cerbsim.com
329364e8e2 occ - set domin/domout for edges in 2d meshes 2021-12-07 14:52:06 +01:00
Matthias Rambausek
fdf26641dd fixed exception 2021-12-06 16:28:02 +01:00
Matthias Rambausek
9f83730fb5 add a check on first point given to WP::Spline; more precise docs 2021-12-06 15:26:57 +01:00
mhochsteger@cerbsim.com
299717de55 copy=true in occ fuctions 2021-12-06 09:13:02 +01:00
Matthias Rambausek
31fa22626c Split 2d and 3d spline implementations, use tangent data; added Spline member to WorkPlane 2021-12-03 11:55:02 +01:00
Matthias Rambausek
193a7001e4 added 2d spline interpolation but not added to workplane yet 2021-12-02 17:39:11 +01:00
Matthias Rambausek
a5aed39f9d SplineInterpolation now works; refined some docstrings 2021-12-02 16:52:38 +01:00
Christopher Lackner
5cc3ce3300 Draw occ geometry. Change edge color to black 2021-12-02 12:10:57 +01:00
Christopher Lackner
c1d768a5b3 [occ] Specify extrusion direction, add getitem to gp_Pnt to iterate 2021-12-01 14:40:26 +01:00
mhochsteger@cerbsim.com
ed0f8b8a53 occ - propagate identifications, shape.bounding_box 2021-12-01 13:15:09 +01:00
mhochsteger@cerbsim.com
8334d20c3a occ - use search tree to identify points in parameter space 2021-12-01 11:36:28 +01:00
mhochsteger@cerbsim.com
92ade9d800 copy faces in occ transformations 2021-11-30 20:43:29 +01:00
mhochsteger@cerbsim.com
8f77aa458b fix output 2021-11-30 20:26:35 +01:00
mhochsteger@cerbsim.com
c0d6f1588d occ - closesurface identification (prisms) 2021-11-30 20:26:26 +01:00
mhochsteger@cerbsim.com
7962f0a1bb fix edge projection 2021-11-30 19:35:32 +01:00
Christopher Lackner
378152d1c4 [occ] add Distance of shapes 2021-11-30 17:45:52 +01:00
mhochsteger@cerbsim.com
8626262679 comments 2021-11-29 16:20:40 +01:00
Joachim Schöberl
d23eb4fe7e Merge branch 'project_wire_on_face' into 'master'
project wire onto face

See merge request jschoeberl/netgen!456
2021-11-29 15:04:45 +00:00
mhochsteger@cerbsim.com
1818ffd152 occ - fix meshing in parameter space, fix edge curve parameters 2021-11-29 16:04:26 +01:00
Christopher Lackner
86e7754c7a project wire onto face 2021-11-29 15:54:24 +01:00
mhochsteger@cerbsim.com
9537ccdb7a occ - allow closed edges in identified faces 2021-11-28 19:59:14 +01:00
mhochsteger@cerbsim.com
bba4f414b7 occ - include StandardVersion.hxx everywhere 2021-11-28 16:25:39 +01:00
Matthias Hochsteger
16b88e8e67 OCC Mesher Cleanup 2021-11-28 15:14:41 +00:00
mhochsteger@cerbsim.com
50e05f8a72 copy shape BRepBuilderAPI_Transform (to avoid copies of same TShape with different locations) 2021-11-25 14:37:02 +01:00
Joachim Schoeberl
8dfdfb9579 fix occ - Nearest 2021-11-25 10:45:09 +01:00
Matthias Rambausek
f2c6a0f8c0 extended wrappers for spline approximation; enable spline surface interpolation 2021-11-22 15:23:34 +01:00
mhochsteger@cerbsim.com
8c9cdfbc34 store netgen version, introduce "format_version" for future changes 2021-11-12 12:55:01 +01:00
mhochsteger@cerbsim.com
36f22a13ce also save occ identifications in mesh file attachment 2021-11-12 12:54:58 +01:00
mhochsteger@cerbsim.com
e0afa0a916 Use TextOutArchive to store OCCGeometry in mesh files 2021-11-11 10:04:39 +01:00
mhochsteger@cerbsim.com
4d7ef21791 proper DoArchive for OCCGeometry 2021-11-10 18:37:24 +01:00
mhochsteger@cerbsim.com
b63baa57be ShapeProperties::DoArchive() 2021-11-10 18:37:21 +01:00
Joachim Schoeberl
2724317985 remove output 2021-11-09 17:41:13 +01:00
Joachim Schoeberl
478aaf7788 little polish 2021-11-07 00:16:57 +01:00
Joachim Schoeberl
1eca091fd3 fix Enumerate(IndexMap) 2021-11-06 16:14:19 +01:00
Joachim Schoeberl
50398c18c4 simplify edge/face-id types (just an int) 2021-11-06 15:52:35 +01:00
Joachim Schoeberl
6ae645ce33 added IndexMapIterator 2021-11-06 13:15:52 +01:00
Joachim Schoeberl
bd564931f8 strings in FaceDescriptor (instead of ptrs) 2021-11-06 12:22:44 +01:00
Joachim Schoeberl
fdc04b7276 using more range-based loops in occ 2021-11-06 11:51:11 +01:00
Joachim Schoeberl
14f32f73c0 range-based for for TopExp_Explorer 2021-11-06 10:44:01 +01:00
Joachim Schoeberl
64e40a25e0 fixing name for unnamed face (problem after restructuring facenames) 2021-11-06 08:51:36 +01:00
mhochsteger@cerbsim.com
239cdf694f Don't copy occ shape in OCCGeometry ctor by default 2021-11-05 20:26:43 +01:00
mhochsteger@cerbsim.com
b99b107bbc fix for loop range (occ is 1-based) 2021-11-05 19:44:58 +01:00
mhochsteger@cerbsim.com
928cb57448 fix wrong bcname string pointer 2021-11-05 19:07:50 +01:00
Matthias Hochsteger
8efcd93db6 Merge branch 'temp_file_generation' into 'master'
util function GetTempFilename()

See merge request jschoeberl/netgen!446
2021-11-05 16:41:11 +00:00
Joachim Schöberl
dd5499a12e Merge branch 'occ_conn_e_to_w' into 'master'
[occ] connect edges to wires

See merge request jschoeberl/netgen!447
2021-11-05 11:53:18 +00:00
mhochsteger@cerbsim.com
225312b9d9 Save occ identifications in step file 2021-11-04 21:58:56 +01:00
Christopher Lackner
10e3494de4 [occ] connect edges to wires 2021-11-04 20:43:33 +01:00
mhochsteger@cerbsim.com
747367ab8a util function GetTempFilename() 2021-11-04 12:20:56 +01:00
Christopher Lackner
5672e05a40 Remove occ output 2021-11-04 10:54:33 +00:00
Christopher Lackner
5b0be52d35 do not set ng_geometry in OCCGeometry constructor 2021-11-03 20:49:34 +01:00
mhochsteger@cerbsim.com
dbe9431fa9 remove temp file 2021-11-03 17:42:52 +01:00
mhochsteger@cerbsim.com
9245c3c32b proper handling of occ names and colors 2021-11-03 17:20:26 +01:00
mhochsteger@cerbsim.com
b914b6fe53 load/store occ geometry properties (maxh, hpref, color opacity) 2021-11-02 19:11:10 +01:00
Joachim Schoeberl
0f598bffa3 hpref from occ geometry 2021-10-29 09:30:13 +02:00
Christopher Lackner
e662449b69 fix copy paste error 2021-10-20 09:26:15 +02:00
Christopher Lackner
458ade64e6 fix occ shape names in Load from step 2021-10-20 09:23:01 +02:00
Joachim Schöberl
04a31eeed3 Merge branch 'occ_listofshape_regexp_access' into 'master'
String access of listofshape using regexp

See merge request jschoeberl/netgen!438
2021-10-15 11:10:20 +00:00
Christopher Lackner
c8939fa6d8 String access of listofshape using regexp 2021-10-13 17:52:34 +02:00
Christopher Lackner
733824bffc Add Fuse operation for occ shapes 2021-10-13 16:54:23 +02:00
Joachim Schöberl
5260e3500c Merge branch 'occ_vec_times_vec' into 'master'
[occ] multiply 2 gp_Vec

See merge request jschoeberl/netgen!433
2021-10-11 11:28:11 +00:00
Joachim Schöberl
bd32e9d540 Merge branch 'occ_better_cyl_args' into 'master'
[occ] Better arguments for Cylinder

See merge request jschoeberl/netgen!434
2021-10-11 11:14:49 +00:00
Christopher Lackner
9efb9b1682 [occ] multiply 2 gp_Vec 2021-10-11 12:48:43 +02:00
Christopher Lackner
c9f1db548c [occ] Better arguments for Cylinder 2021-10-11 12:48:14 +02:00
Christopher Lackner
e703ad75af Allow OCCGeometry.Heal without face_colours (if built in py) 2021-10-11 12:47:16 +02:00
Christopher Lackner
4dc1bfa99e [occ] allow to give cylinder face names in constructor 2021-10-05 23:48:06 +02:00
Christopher Lackner
a2ee528dae Always call UnifySameDomain on + operator not only in 2D 2021-10-05 10:46:55 +02:00
Christopher Lackner
b4bf1172bc fix length of occ dim2 boundaries 2021-10-04 15:52:56 +02:00
Christopher Lackner
ec96feb7f4 occ colors also in netgen gui, also allow transparency 2021-10-03 12:58:33 +02:00
Joachim Schoeberl
e7de90a33f propagate names in MakeFillet and MakeChamfer 2021-10-02 15:32:02 +02:00
Matthias Hochsteger
50ef307622 Merge branch 'std_any_to_py_object' into 'master'
Add std::any to py::object caster for archive registered types

See merge request jschoeberl/netgen!426
2021-09-29 10:22:17 +00:00
Christopher Lackner
a42f5525a3 remove DirectionalInterval debug output 2021-09-29 08:58:30 +02:00
Christopher Lackner
bd29763b16 Add std::any to py::object caster for archive registered types 2021-09-28 22:34:11 +02:00
Joachim Schoeberl
8760559690 makechamfer.Add(double,edge) needs newer occ version 2021-09-28 20:11:32 +02:00
Joachim Schoeberl
0862327937 wrapping shape.MakeChamfer 2021-09-28 19:34:43 +02:00
Joachim Schöberl
28a81c11d9 Merge branch 'fix_occ_bcnames' into 'master'
Fix boundarynames from occgeo created with global bc map

See merge request jschoeberl/netgen!421
2021-09-28 12:58:30 +00:00
Joachim Schoeberl
49a6172548 refine at vertices 2021-09-24 18:47:54 +02:00
Christopher Lackner
4323371c53 add occ shape.UnifySameDomain 2021-09-21 17:39:06 +02:00
Joachim Schoeberl
be6dbdadbf 'Nearest' to point selector, Revolution of arbitrary shapes 2021-09-19 10:50:38 +02:00
Christopher Lackner
77b5346099 occ fix setcd2names if geom.enames is empty 2021-09-17 17:43:03 +02:00
Christopher Lackner
22344e43a6 Fix boundarynames from occgeo created with global bc map 2021-09-17 16:23:01 +02:00
Christopher Lackner
31530e0791 Add HalfSpace to occ export 2021-09-17 12:02:46 +02:00
Christopher Lackner
0c686e6b8b if PointBetweenEdge gets invalid edgenr, return midpoint
This is needed for creating boundarylayers and then curving the mesh.
2021-09-17 11:22:37 +02:00
Christopher Lackner
c9e33065af keep Properties in translation, rotation, mirror 2021-09-16 12:55:21 +02:00
Christopher Lackner
95e09828a6 shape.Scale keeps names 2021-09-16 11:40:48 +02:00
Christopher Lackner
6a0eb58a66 Add subshape properties to ListOfShapes 2021-09-13 18:48:06 +00:00
Joachim Schöberl
5bfb5a6eac Merge branch 'multiply_occ_listofshapes' into 'master'
Multiplication of ListOfShapes to find common shapes

See merge request jschoeberl/netgen!416
2021-09-13 17:30:45 +00:00
Christopher Lackner
8b2a2340e7 Multiplication of ListOfShapes to find common shapes 2021-09-13 18:15:50 +02:00
Christopher Lackner
8e519951f3 Add property .solids to occ shape 2021-09-13 17:23:08 +02:00
mhochsteger@cerbsim.com
0a15ce5c2b occ - apply maxh setting to all children 2021-09-13 13:33:22 +02:00
mhochsteger@cerbsim.com
8b36df94a1 occ - respect maxh property of solids 2021-09-13 12:47:36 +02:00
Joachim Schoeberl
94ee2b67ad small 2d workplane simplifications 2021-09-10 12:09:51 +02:00
Joachim Schoeberl
6a6a98dcea 2d drawing 2021-09-09 14:12:06 +02:00
Joachim Schoeberl
93d3a7ce4b OCCGeometry(shape, dim=2) will generate 2D mesh (materials+bc) 2021-09-09 13:19:34 +02:00
Joachim Schoeberl
6bd9d83fce more docstrings, don't catch exceptions individually 2021-09-08 06:45:56 +02:00
Joachim Schoeberl
1087e961ca more docsstrings 2021-09-07 16:28:46 +02:00
Joachim Schoeberl
6ec277cd67 add docstrings to occ-shapes 2021-09-07 12:21:34 +02:00
Joachim Schoeberl
b2afad9aec output control 2021-09-07 07:36:21 +02:00
Joachim Schoeberl
1f599e6e47 output 2021-09-06 17:40:40 +02:00
Joachim Schoeberl
77f07f8baf occ output control 2021-09-06 16:59:48 +02:00
Joachim Schoeberl
27d8d42446 remove cerr output 2021-09-06 16:26:12 +02:00
Joachim Schöberl
e05dc43f35 Merge branch 'register_occ_exceptions' into 'master'
Register occ exceptions to python

See merge request jschoeberl/netgen!409
2021-09-06 07:22:11 +00:00
Joachim Schoeberl
94ec425a5e remove output 2021-09-06 09:20:19 +02:00
Joachim Schoeberl
ed2b67f5bd a first step-writer 2021-09-02 23:18:54 +02:00
Joachim Schoeberl
2a4eaa60cd copy pnums for 'same' edges 2021-09-02 21:48:14 +02:00
Christopher Lackner
cdecdb345b Register occ exceptions to python 2021-09-02 14:58:07 +02:00
Joachim Schoeberl
11276dbbfa Face/Compound are classes, shape.mass, Edge.Value(), Edge.Tangent(), edge.paramegter_interval 2021-09-02 11:30:29 +02:00
Joachim Schoeberl
bb54e40139 RectangleC, Plan B when occ-normal is undefined, replace History by builder.Modified 2021-09-01 22:50:09 +02:00
Christopher Lackner
80ba06d454 add occ Compound Function 2021-09-01 17:44:16 +02:00
Christopher Lackner
69c6f55961 Add properties .name and .maxh to ListOfShapes 2021-09-01 12:53:39 +02:00
Joachim Schoeberl
33722fcfd6 history in revolution 2021-08-31 23:49:59 +02:00
Joachim Schoeberl
44bd81f159 Extrude with history 2021-08-31 22:43:37 +02:00
Joachim Schoeberl
9f34dfe149 SplineApproximation curve 2021-08-31 21:01:22 +02:00
Joachim Schoeberl
36a7b24315 OCC - version compatibility fixes 2021-08-31 13:16:30 +02:00
Joachim Schoeberl
69f6a9cc90 fix for OCCT 7.4 and older 2021-08-31 01:05:36 +02:00