Help required, Edges do not align after BooleanSplit

Hi,
I have an Issue that drives me crazy. I build a structure out of closed poly surfaces a split them apart with Booleansplit to get 4-6 sided closed polys for meshing using griddle…
I encountered the following problem at the end of the stucture. The surfaces lose alignment to each other. You can barely spot it with large zoom in Wireframe mode. This deviation is enough to produce meshing errors. I encountered this problem als in Spaceclam and Hypermesh. Due to appromation errors accurate edges lose track and produce very small edges at corners.
Is there a trick to improve accuracy? Or move one Cornerpoint of cl. poly’s?

Thank you very much for your opinions!


This might have to do with tolerance. What’s your setting?

Can you measure a distance between these points?

Hi,
Das ist meine Einstellung:
grafik
die Distance ist 0 :frowning:

How big is your object?

Maybe Small Object - Meters with a tolerance of 0.001 would be better for you?

The cube is 40mx40mx20m

I have this issue with nearly all direct modelers I tested so far. My common solution is to model it in an parametric modeller like solidworks and export it :frowning: But this is not suiteable for productive work :rofl:

Maybe you will have to post your Rhino file with all relevant geometries so someone can take a look at it.

1 Like

Its only 5. Switching PC it worked … Thank you IT.
Verschluss simulation shell gebirge br-full.3dm (5.1 MB)

This file won’t help.

Can you post a file with the input objects before doing any of the splitting?

Ideally also include the curves used to create the objects…

You wrote about meshing errors. What is the purpose of this geometry? What are you doing next?

There is no input left. I modelled this from blank. I encountered the issue when i was done and started meshing.

The next step would be to use the griddle Plugin and run Blockranger. But Blockranger does not detect that the bodys at the End detect share the same surface due to the slight deviation.

It think if i’m not able to move the corners i have to remodel it and increase the accuracy in the options.

You did a boolean split.

I’m assuming you have a tube shape and the blocks but this file only shows the split results.

All that griddle is used for is to create meshes?

Why don’t you model everything as mesh right from the start?

Griddle makes HEXADER Volume Meshes and requieres 4-6 Sided closed Polysurfaces as input. I modelled the Large Quader, placed Planes inside and sketeched the geometry. connected the lines. loftet surfaces out of the lines and booleansplit the bodys. Its a step by step process to produce the right import for the mesher. The mesh is later used in a FEM tool.

Ok.

What is the tolerance of the FEM software?

I untrimmed the elements of one slice of your model to recover the original surfaces and regenerate a starting cube. I then made two copies and used one to do the boolean split of that slice at a tolerance of 0.01 and the other at 0.001. The resulting geometry is microscopically different. e.g.

I am starting to notice situations where these microscopic differences have an impact one perhaps wouldn’t expect. Too early to draw conclusions.

But I would recommend redoing a part of your model where you see a deviation, with tolerance set to 0.001 to see if you get a more satisfactory result. If that still doesn’t hack it, go to 0.0001 (but no further).

And incidentally,

While it may be zero to 3 decimal places, it may not be exactly zero. If you increase the display precision you may find this:
image

is this:
image

(this is my sample, not your posted measurement)

That would seem to be more consistent with the deviations you observe.

HTH
Jeremy

2 Likes

Hi David - like Jeremy I recontrsucted one of the objects from untrimmed surfaces but at a tolerance of .0001 - the result had edge tolerance of zero - the original not quite. I might also DivideAlongCreases > SplitAtTangents=Yes before meshing.

-Pascal

1 Like

Thank you all.
Will try to remodel this part and see if it works with smaller tolerance.
We have to get itn working :smiley: We have nearly no other options left. And this is only a “simple” test :frowning: