gmsh issueshttps://gitlab.onelab.info/gmsh/gmsh/-/issues2023-07-27T07:32:35Zhttps://gitlab.onelab.info/gmsh/gmsh/-/issues/2549Feature request: 3D boundary layer capability analogous to Engrid2023-07-27T07:32:35ZKlaus BurkartFeature request: 3D boundary layer capability analogous to EngridGmsh has many great features especially related to mesh size and cell distribution in the domain but boundary layers are not yet optimal for 3D external flow studies. There is a cumbersome approach to use gmsh in combination with Engrid ...Gmsh has many great features especially related to mesh size and cell distribution in the domain but boundary layers are not yet optimal for 3D external flow studies. There is a cumbersome approach to use gmsh in combination with Engrid its development has been discontinued 2013 which causes many problems due to versioning and bugs etc.. Engrid allows to create a very good boundary layer mesh after importing a 3D geometry prepared with gmsh creating a boundary layer mesh zone above the surface consisting of high elements which are then sliced into layers to form the boundary layer mesh. The volume mesh is created with gmsh. Artur demonstrated and explained the approach in detail on the OpenFOAM forum some time ago.
I'll try to do the same using Meshkit but having the functionality in gmsh would be great.https://gitlab.onelab.info/gmsh/gmsh/-/issues/8113D boundary layer mesh2023-07-27T07:35:56ZLucas Gasparino3D boundary layer meshGreetings,
Is it possible to generate 3D boundary layer meshes in any version of gmsh? I know that using a BoundaryLayerField in 2D and extruding the mesh works for some cases like an extruded circle to cylinder, but I´m interested in m...Greetings,
Is it possible to generate 3D boundary layer meshes in any version of gmsh? I know that using a BoundaryLayerField in 2D and extruding the mesh works for some cases like an extruded circle to cylinder, but I´m interested in more complex geometries (like a sphere or ahmed body).
Thank you!Jean-François RemacleJean-François Remaclehttps://gitlab.onelab.info/gmsh/gmsh/-/issues/795Helping new users2023-02-13T06:34:33ZMax OrokHelping new usersTracking issue for usability, helping out new users, making `Gmsh` features more discoverable.
We get a lot of repeated questions on the mailing list.
Maybe there are some things we can do to make the site more accessible.
Some ide...Tracking issue for usability, helping out new users, making `Gmsh` features more discoverable.
We get a lot of repeated questions on the mailing list.
Maybe there are some things we can do to make the site more accessible.
Some ideas:
* Guided walkthrough programs for the API and geo files, in the style of blog posts.
* A Gmsh whirlwind tour, the reference manual is quite imposing for a newcomer.
* Go through the common mailing list issues (STL topography comes to mind) and make dedicated tutorials for them?
I know there's a lot going for the more technical issues, I'd be happy to try and help with these!
Please feel free to add your own ideas to the list.Max OrokMax Orokhttps://gitlab.onelab.info/gmsh/gmsh/-/issues/444MSH 4.x format revisions2023-03-03T10:56:41ZChristophe GeuzaineMSH 4.x format revisionsIdeas for future revisions of the MSH4 format:
MSH 4.1:
- ~~ability to use 64 bit node and element tags (see #395)~~ (done in MSH4.1)
- changes based on user feedback:
- ~~add min/max vertex/element tags in the section header (this ...Ideas for future revisions of the MSH4 format:
MSH 4.1:
- ~~ability to use 64 bit node and element tags (see #395)~~ (done in MSH4.1)
- changes based on user feedback:
- ~~add min/max vertex/element tags in the section header (this would allow to decide *beforehand* if a sparse (and slow) storage is necessary)~~ (done in MSH4.1)
- ~~switch `dim` and `tag` in Nodes/Element section to match the api and the Periodic section~~ (done in MSH4.1)
- ~~store onyly x, y, z for `$Entities` of dimension 0 (points), instead of xmin, xmax, ymin, ymax, zmin, zmax~~ (done in MSH4.1)
MSH 4.x:
- rework post-processing fields:
- ability to choose float size (this can be done without changing the format, by using one of the integer tags in the header to provide the float size)
- separate tags and values to not mix integer and floating point data
- block structure for `$ElementNodeData` (by `numcomp`), so that size is predictable
- rework `$GhostElements` section to not mix `int` and `size_t`
- additional features for high-performance parallel IO, for readers using MPI IO
- compress the binary arrays using zlib?
- store embedded entities in the brep ($Entities)
Not in the format per-se, but related:
- ~~include an option to renumber meshes *based on physical definitions*, i.e. renumber all the nodes/elements that are needed by physical groups first, followed by all the other nodes/elements? We could use something similar to `getAdditionalEntities` in the MSH4 code to sort entities.~~ (implemented in Gmsh 4.1.0)Gmsh 5.0Christophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/gmsh/gmsh/-/issues/2834Extracting connectivities of the reference element2024-03-14T13:51:32ZIgor KuszczakExtracting connectivities of the reference elementHello,
I am trying to recreate the `basix.cell.sub_entity_connectivity` functionality from `fenics-basix` in Gmsh. The function returns the connectivities of a reference element type. Is this possible to using Gmsh Python API? I imagine ...Hello,
I am trying to recreate the `basix.cell.sub_entity_connectivity` functionality from `fenics-basix` in Gmsh. The function returns the connectivities of a reference element type. Is this possible to using Gmsh Python API? I imagine that this could be hardcoded quite easily too but I don't understand the convention used for face numbering.https://gitlab.onelab.info/gmsh/gmsh/-/issues/2092[Feature request]: Keep physical numbers even when entity numbers are changed2024-02-27T21:22:07ZMichael Asam[Feature request]: Keep physical numbers even when entity numbers are changedEspecially when working with quite complex scripted geometries with the OpenCASCADE kernel,
the following feature would be very, very helpful:
**Boolean operations and the Coherence command necessarily renumber some entities.
It would b...Especially when working with quite complex scripted geometries with the OpenCASCADE kernel,
the following feature would be very, very helpful:
**Boolean operations and the Coherence command necessarily renumber some entities.
It would be great, if upfront assigned physical numbers would be kept, even if the entity
numbers are changed.**
This feature would make the life much easier, as it allows to define physical groups on the
fly during the construction of the geometry. It would be possible to apply a single Coherence
command at the end of a complex script without the necessity to figure out all the new entity
numbers for the definition of the physical groups.
Here is a very simple example:
```
SetFactory("OpenCASCADE");
Rectangle(1) = {-0, -0, -0, 1, 0.5, 0}; // Lower rectangle
Rectangle(2) = {0.5, 0.5, 0, 1, 0.5, 0}; // Upper rectangle
// The bottom line of the upper rectangle should be assigned to a physical group:
L() = Boundary{ Surface{2}; };
Physical Curve("BottomOfUpperRectangle", 1) = {L(0)};
```
![BeforeCoherence](/uploads/7167dcdd577181ab3a5245f8c4fbf119/BeforeCoherence.jpg)
```
// As both rectangles are touching each other, we apply the Coherecne command
Coherence;
// But as Coherence renumbers the lines, the assignment of the physical group
// is not correct anymore...
```
![AfterCoherence](/uploads/bfb07839b05afe1b1d3effd96049b030/AfterCoherence.jpg)
**Extension:
If some upfront physical assigned numbers collide, because the entities overlap, the higher
physical number should be kept for the overlap region.**
This allows a concept similar to several commercial tools (e.g. Ansys), where overlaps of
different bodies are allowed. The materials have a defined priority. In the overlap region,
the material with the higher priority is used.
To be honest, I have absolutely no clue if it is a huge work to implement those powerful
features, but it would be for sure very beneficial :-)
Please let me know, what you think.
Thanks and best wishes, Michaelhttps://gitlab.onelab.info/gmsh/gmsh/-/issues/2005Alpha channel for geometry colors is ignored2023-07-27T12:28:55ZMichael JägerAlpha channel for geometry colors is ignoredI tried to add transparency to the surfaces of a geometry.
Solid faces
`gmsh.option.set_number("Geometry.SurfaceType", 2)`
and tried both of these here
`gmsh.model.set_color(gmsh.model.getEntities(2), 0, 0, 255, a=220, recursive=True...I tried to add transparency to the surfaces of a geometry.
Solid faces
`gmsh.option.set_number("Geometry.SurfaceType", 2)`
and tried both of these here
`gmsh.model.set_color(gmsh.model.getEntities(2), 0, 0, 255, a=220, recursive=True)`
`gmsh.option.set_color("Geometry.Color.Surfaces", 128, 128, 128, 128)`
The color is correctly stored with a alpha channel, but is ignored in the viewer.
It would be nice to add this.https://gitlab.onelab.info/gmsh/gmsh/-/issues/1783Control elements sizes when using Quasi-Structured Quad algorithm2023-09-13T08:33:48ZLeonardo RoncettiControl elements sizes when using Quasi-Structured Quad algorithmHow can I control elements sizes when using Quasi-Structured Quad algorithm as 2D algorithm?
I tried several "Element size factor", "Min/Max element size" but with no changes. Some combinations of Min/Max did GMSH to crash.How can I control elements sizes when using Quasi-Structured Quad algorithm as 2D algorithm?
I tried several "Element size factor", "Min/Max element size" but with no changes. Some combinations of Min/Max did GMSH to crash.Maxence ReberolMaxence Reberolhttps://gitlab.onelab.info/gmsh/gmsh/-/issues/1727How to build and to debug gmsh and OpenCACADE in Visual Studio Community 20222022-06-01T19:30:47ZMichael Ermakovermakov@ipmnet.ruHow to build and to debug gmsh and OpenCACADE in Visual Studio Community 20221. Download and install [Visual Studio Community 2022](https://visualstudio.microsoft.com/en/vs/community/) (free) for Windows'10.
2. Download OpenCascade Windows installer VC++ 2017 64 bit: [opencascade-7.6.0-vc14-64.exe](https://dev.op...1. Download and install [Visual Studio Community 2022](https://visualstudio.microsoft.com/en/vs/community/) (free) for Windows'10.
2. Download OpenCascade Windows installer VC++ 2017 64 bit: [opencascade-7.6.0-vc14-64.exe](https://dev.opencascade.org/release). Run it and install OpenCascade 7.6.0. <br>
OpenCASCADE-7.6.0-vc14-64 directory contents:
```shell
ffmpeg-3.3.4-64
freeimage-3.17.0-vc14-64
freetype-2.5.5-vc14-64
opencascade-7.6.0
openvr-1.14.15-64
qt5.11.2-vc14-64
rapidjson-1.1.0
tbb_2017.0.100
tcltk-86-64
vtk-6.1.0-vc14-64
opencascade.ico
unins000.dat
unins000.exe
unins000.msg
```
We will use include headers and precompiled binaries to build gmsh.<br>
If you want to recompile and to build OpenCascade in Visual Studio go to opencascade-7.6.0/adm/msvc solutions (see below).<br>
3. Download [FLTK](https://www.fltk.org/software.php). I used 1.4.x version. <br>
To build FLTK we use cygwin (I am practically sure it could be done also in VS 2022).<br>
Fisrt, start Development Command Prompt for VS2022 from Windows menu or from VS2022>Tools. In this terminal we go to cygwin64 and start Cygwin.bat. It provides us Visual Studio generator for cmake. The presence of cmake generators could be checked by `cmake -G`. Our generator is `Visual Studio 17 2022`. Next we goto FLTK directory:<br>
```shell
mkdir build
cd build
cmake -DCMAKE_POSITION_INDEPENDENT_CODE=ON ..
```
Now there is FLTK.sln in build directory and we use it for VS2022 to build libraries in Release mode. <br>
Directory build/lib/Release:
```shell
fltk.lib
fltk_forms.lib
fltk_gl.lib
fltk_images.lib
fltk_jpeg.lib
fltk_png.lib
fltk_z.lib
```
4. Optionally, we could install [freetype-2.11.1](https://sourceforge.net/projects/freetype/files/freetype2/2.11.1/). Solution file is located in builds/windows/vs2010. It could be used for building static library - obj/freetype.lib. <br>
Alternatively, we possibly could use precompiled freetype-2.5.5 from OpenCascade directory.
5. Next, we download gmsh source code and use again cygwin to generate VS solution file.
```shell
cd gmsh
mkdir build
cd build
cmake -DENABLE_OPENMP=0 -DEXTERNAL_LIBRARIES=gdiplus.lib ..
```
To prepare most of packages for gmsh, we need to provide theirs headers and library visibility for cmake. I used usr/local directory for purpose.<br>
Now build/gmsh.sln has to be used to build gmsh in VS. For gmsh project in solution <s>disable macro OCC_CONVERT_SIGNALS</s> change build subsystem from windows to console. Also, check again that all needed headers and libraries are included. And provide visibility of OpenCascade DLLs - include in PATH system variable or copy them to system directory or just copy them to the directory with built gmsh.exe.
Any comments and improvements are welcome.https://gitlab.onelab.info/gmsh/gmsh/-/issues/1708constrained delaunay from a set of points2023-09-02T22:24:45ZPA Beaufortconstrained delaunay from a set of pointsHi every1.
Is there a way to generate a constrained Delaunay triangulation (tetrahedrization) from a set of points and constrained curves (resp, surfaces)?
This [example](https://gitlab.onelab.info/gmsh/gmsh/blob/gmsh_4_9_3/examples/ap...Hi every1.
Is there a way to generate a constrained Delaunay triangulation (tetrahedrization) from a set of points and constrained curves (resp, surfaces)?
This [example](https://gitlab.onelab.info/gmsh/gmsh/blob/gmsh_4_9_3/examples/api/raw_tetrahedralization.py#L16) seems promising, but does it handle some constraints, if I define some edges (triangles) in addition to the points?https://gitlab.onelab.info/gmsh/gmsh/-/issues/1513support for MMGS2021-08-15T17:55:20ZChristophe Trophimesupport for MMGSHi,
It will be great if you could support MMGS for remeshing surface, especially for CAD geom.
Do you have any plan regarding this?
I run into some pbs with BAMG and I wonder whether MMGS could be more efficient.
Best
CHi,
It will be great if you could support MMGS for remeshing surface, especially for CAD geom.
Do you have any plan regarding this?
I run into some pbs with BAMG and I wonder whether MMGS could be more efficient.
Best
CJean-François RemacleJean-François Remaclehttps://gitlab.onelab.info/gmsh/gmsh/-/issues/963Identifying elements which include lower-dimensional elements as faces, edges...2020-10-20T08:13:17ZTim FurlanIdentifying elements which include lower-dimensional elements as faces, edges etcI am trying to use meshes created by gmsh in the FEM software abaqus. However, i have some troubles with the way both programs handle boundaries.
* Gmsh generally creates elements of dimension 0, 1, 2, 3 in that order. A 2d surface of a...I am trying to use meshes created by gmsh in the FEM software abaqus. However, i have some troubles with the way both programs handle boundaries.
* Gmsh generally creates elements of dimension 0, 1, 2, 3 in that order. A 2d surface of a volume that has some boundary conditions is then handled as a set of 2d elements.
* Abaqus only uses 3d elements for the volume - The surface is characterised by a set of nodes and 3d elements.
To transfer the information about the area the boundary condition is applied to, i need to identify the 3d elements that include the boundary elements (2d) as faces. To transfer information about an edge of the 3d volume, i would need to identify elements that include 1d elements as edges, and so forth.
While this is certainly possible using the API, i am wondering if this information is maybe already accessible in gmsh.
Kind regards
TimChristophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/gmsh/gmsh/-/issues/641Remeshing an stl file --> Unable to recover the edge 1261 (1/7)2023-07-27T12:33:45ZNils WagnerRemeshing an stl file --> Unable to recover the edge 1261 (1/7)I tried to remesh an stl file using gmsh4.4.1 [nils.stl](/uploads/301874b27246d1f6b5f14c6c84c00f9c/nils.stl)
[remesh.geo](/uploads/35cb68ef8bc51646aebbb644d424ab13/remesh.geo). How can I fix the problem?I tried to remesh an stl file using gmsh4.4.1 [nils.stl](/uploads/301874b27246d1f6b5f14c6c84c00f9c/nils.stl)
[remesh.geo](/uploads/35cb68ef8bc51646aebbb644d424ab13/remesh.geo). How can I fix the problem?https://gitlab.onelab.info/gmsh/gmsh/-/issues/232Extrusion with scaling2017-08-06T07:00:42ZChristophe GeuzaineExtrusion with scalingThe possibility to extrude mesh with simultaneous scaling, for example to create mesh in truncated cone would be very helpful.The possibility to extrude mesh with simultaneous scaling, for example to create mesh in truncated cone would be very helpful.https://gitlab.onelab.info/gmsh/gmsh/-/issues/22Improve 1D transfinite algorithm2022-04-01T07:19:55ZChristophe GeuzaineImprove 1D transfinite algorithm** Add linear lc progression in 1D transfinite generator
* Implement easier to understand "bump" function (double progression?)** Add linear lc progression in 1D transfinite generator
* Implement easier to understand "bump" function (double progression?)https://gitlab.onelab.info/gmsh/gmsh/-/issues/2860Line{} In Surface {} from .geo - EQUVALENT ?? in .py gmsh.model.mesh.embed no...2024-03-28T15:20:28ZDomagoj UremovicLine{} In Surface {} from .geo - EQUVALENT ?? in .py gmsh.model.mesh.embed not having the same performanceDear prof. Geuzaine,
I'm trying to lavarge direct Py scripting to produce mesh. I found a difficulty understanding what is .py equivalent for .geo command Line{} In Surface {};.
Could you help me understanding how to achieve the same...Dear prof. Geuzaine,
I'm trying to lavarge direct Py scripting to produce mesh. I found a difficulty understanding what is .py equivalent for .geo command Line{} In Surface {};.
Could you help me understanding how to achieve the same command in Python?
I've tried >> gmsh.model.mesh.embed(1, [10], 2, 1) but following error keeps popping up "Exception: 1D mesh cannot be divided by 2" on the step >> gmsh.model.mesh.generate().
# .geo script
lc=1.00;
//Points
Point(1) = {0,0,0, lc};
Point(2) = {20,0,0, lc/2};
Point(3) = {40,0,0, lc};
Point(4) = {40,15,0, lc};
Point(5) = {0,15,0, lc};
Point(6) = {20.1,0.45,0, lc/2};
Point(7) = {19.9,0.89,0, lc/2};
Point(8) = {20,1.35,0, lc/2};
Point(9) = {20,5,0, lc/2};
//Lines
Line(1) = {1,2};
Line(2) = {2,3};
Line(3) = {3,4};
Line(4) = {4,5};
Line(5) = {5,1};
//Lines for Line in surface
Line(6) = {2,6};
Line(7) = {6,7};
Line(8) = {7,8};
Line(9) = {8,9};
//Line Loops
Line Loop(10) = {1,2,3,4,5};
Plane Surface(1) = {10};
Line{6,7,8,9} In Surface{1};
Physical Surface(10)={1};
//Mesh properties
Mesh.Algorithm = 8;
Mesh.RecombinationAlgorithm = 2;
Mesh.MeshSizeExtendFromBoundary = 1;
Mesh.MeshSizeFromPoints = 1;
Mesh 2;
RecombineMesh;
//Save
Save "Mesh.msh";
//
# Py script
import gmsh
import sys
gmsh.initialize()
lc = 1.00
points = {
1: [0, 0, 0, lc],
2: [20, 0, 0, lc/2],
3: [40, 0, 0, lc],
4: [40, 15, 0, lc],
5: [0, 15, 0, lc],
6: [20.1, 0.45, 0, lc/2],
7: [19.9, 0.89, 0, lc],
8: [20, 1.35, 0, lc],
9: [20, 5, 0, lc],
}
lines = {
1: [1, 2],
2: [2, 3],
3: [3, 4],
4: [4, 5],
5: [5, 1],
6: [2, 6],
7: [6, 7],
8: [7, 8],
9: [8, 9],
}
for i, (x, y, z, lc) in points.items():
gmsh.model.geo.addPoint(x, y, z, meshSize=lc, tag=i)
for i, (p1, p2) in lines.items():
gmsh.model.geo.addLine(p1, p2, tag=i)
gmsh.model.geo.synchronize()
gmsh.model.geo.addCurveLoop([1, 2, 3, 4, 5], tag=10)
gmsh.model.geo.synchronize()
gmsh.model.geo.addPlaneSurface([10], tag=1)
gmsh.model.geo.synchronize()
gmsh.model.addPhysicalGroup(2, [1], 10)
gmsh.model.geo.synchronize()
gmsh.model.mesh.embed(1, [6,7,8,9], 2, 1)
gmsh.model.geo.synchronize()
gmsh.option.setNumber("Mesh.Algorithm", 8)
gmsh.option.setNumber("Mesh.RecombinationAlgorithm", 2)
gmsh.option.setNumber("Mesh.MeshSizeExtendFromBoundary", 1)
gmsh.option.setNumber("Mesh.MeshSizeFromPoints", 1)
gmsh.option.setNumber("Mesh.RecombineAll", 1)
gmsh.model.geo.synchronize()
gmsh.model.mesh.generate()
gmsh.write("MEsh.msh")
if 'close' not in sys.argv:
gmsh.fltk.run()
gmsh.finalize()
If you uncomment "gmsh.model.mesh.embed(1, [6,7,8,9], 2, 1)" it works otherwise it returns the error.
# Question:
I'm aware of the following from gmsh.py API: "The embedded entities should not intersect each other or be part of the boundary of the entity `inTag', whose mesh will conform to the mesh of the embedded entities." The confusion comes - how so that Line In Surface work while python equivalent code doesn't?
I'm looking forward to your answer!
Best regards,
Domagoj Uremovichttps://gitlab.onelab.info/gmsh/gmsh/-/issues/2859STL remeshing and embedding a point in the new mesh2024-03-28T10:42:22ZDeepak GargSTL remeshing and embedding a point in the new meshHello,
I have a data file in STL format ("data.stl"). I need to remesh the surface and embed a point in the new mesh. Here is what I tried in the trial.py script. It seems that the embedded point is not part of the new mesh. How can I m...Hello,
I have a data file in STL format ("data.stl"). I need to remesh the surface and embed a point in the new mesh. Here is what I tried in the trial.py script. It seems that the embedded point is not part of the new mesh. How can I make it work?
[trial.py](/uploads/1e1874e6b04f4b3ddf38ba2cb66b4a87/trial.py)
[data.stl](/uploads/564641f33f384b7cd19c8cf2a9c413be/data.stl)
thanks,
Deepakhttps://gitlab.onelab.info/gmsh/gmsh/-/issues/2858Structured hexahedral 3D mesh as the 2D mesh from Quasi-Structured Quad2024-03-27T09:00:13ZTeresa DíazStructured hexahedral 3D mesh as the 2D mesh from Quasi-Structured QuadHello,
I am new to GMSH and I am still trying to understand the differences between meshing algorithms and parameters to be defined.
I want to mesh this ellipsoid section with structured hexaedra, which would cause an expected issue in ...Hello,
I am new to GMSH and I am still trying to understand the differences between meshing algorithms and parameters to be defined.
I want to mesh this ellipsoid section with structured hexaedra, which would cause an expected issue in the apex. While this mesh can be exported, the software I work with next cannot process this singularity.
Once I have extruded the shape, when I perform meshing using the Quasi-Structured Quad algorithm for 2D, I get a beautiful solution. However, the 3D algorithm (Frontal) does not reach that same solution, and it is the mesh that I need to export. I tried all other 3D algorithms as well with the same results.
Is there any way to define nodes on the surface that can create a similar bending of the hexahedra around them in the 3D meshing?
![ellipsoid_section_gmsh](/uploads/ba09f4c349e5b8b88490230735149fff/ellipsoid_section_gmsh.png)![meshing_parameters+](/uploads/e6c5e41639609a805c2b135d2f12d393/meshing_parameters+.png)https://gitlab.onelab.info/gmsh/gmsh/-/issues/2857Is it possible to use Gmsh Python API without OpenGL?2024-03-27T12:18:09ZPedro AugustoIs it possible to use Gmsh Python API without OpenGL?Is it possible to run Gmsh without OpenGL? Is there any option that forces Gmsh to run in batch mode (without any graphics and therefore, without calling OpenGL)? I have read the Gmsh reference manual and tried to call **`gmsh.initialize...Is it possible to run Gmsh without OpenGL? Is there any option that forces Gmsh to run in batch mode (without any graphics and therefore, without calling OpenGL)? I have read the Gmsh reference manual and tried to call **`gmsh.initialize(argv=["-n"], readConfigFiles=True, run=True)`** to run Gmsh in batch mode, but Gmsh didn't even run with these arguments. For context, I'm trying to run Gmsh on a supercomputer that doesn't have OpenGL installed.https://gitlab.onelab.info/gmsh/gmsh/-/issues/2856GEO or OCC dilemma (setTransfiniteCurve vs getCenterOfMass)2024-03-26T22:24:41ZSvenGEO or OCC dilemma (setTransfiniteCurve vs getCenterOfMass)I currently have a conflict between the GEO and OCC choices and I don't know exactly how to solve it. On the one hand, I need some lines with even subdivision. For this I normally use
`model.geo.mesh.setTransfiniteCurve(line, 4)`
As fa...I currently have a conflict between the GEO and OCC choices and I don't know exactly how to solve it. On the one hand, I need some lines with even subdivision. For this I normally use
`model.geo.mesh.setTransfiniteCurve(line, 4)`
As far as I know OCC does not support TransfiniteCurve. On the other hand, I would like to query the position of certain surfaces when modeling the geometry. I normally do this with
`sx,sy,sz = model.occ.getCenterOfMass(dim=2, tag=14)`
As far as I know there is no way to get the center of mass of GEO objects. Now I am faced with a dilemma. Either I use GEO and have no center of mass query, or I use OCC and have no transfinite curves.
Have I perhaps overlooked something and there is a workaround for this problem? Is there a general recommendation to use GEO over OCC or vice versa?