Boolean Function for Elements?
Hello,
I'm working with a model that contains 2 components.
1. Comp contains surfaces, solids and elements
2. Comp contains lines, surfaces and Elements. A solid can not be created from the surfaces.
I used another way though to create Tetraeder Elements to fill the volume contained by the surfaces.
The 2nd component is placed within the 1st component.
Now I want to cut out the space of the 1st comp, so that the 2nd comp fits in without having the elements of both
components overlap.
Basically I want to use a boolean function for elements, like the 'solid edit>boolean>A-B (del B )' function for solids.
But as I can't create a solid from the surfaces of the 2nd comp. I need to go another way than the traditional boolean.
Is there something like boolean for elements?
Kind regards,
Niclas_emi
Answers
-
For elements boolean operators, I think you can do with TCL macro.
0 -
Is there a script or tutorial on how to use TCL macro? Never worked with it before in Hypermesh.
I would need to use TCL Script for this right?0 -
For 2d elements you could try mesh edit option listed under 2d page.
0 -
Is there something similar for 3D?
When I'm trying to use 2D>mesh edit Option for the element of my two compounds, I get an error saying:
'Source should be plot or shell element only.' Can I convert my comps into these kind of elements somehow?0 -
Hi,
Altair Forum User said:Is there something similar for 3D?
When I'm trying to use 2D>mesh edit Option for the element of my two compounds, I get an error saying:
'Source should be plot or shell element only.' Can I convert my comps into these kind of elements somehow?You can do like this:
- enter panel tools>faces to create 2d facing elems of the tetra comps
- use mesh edit to combine face patches
- then recreate tetra elems using edited facing elems
0 -
Hi @tinh, thanks for your Reply. Unfortunately I didn't get any further with your solution so far, as I still get an error during 'mesh edit' as before.
Also I can't find the edit facing elements option. Can you tell me where to find it?0 -
Hi @Niclas_emi
If mesh editor throws an error, try editing the mesh manually. mesh editor is just useful for some cases
0 -
Altair Forum User said:
Hi,
You can do like this:
- enter panel tools>faces to create 2d facing elems of the tetra comps
- use mesh edit to combine face patches
- then recreate tetra elems using edited facing elems
So this might solve the issue regarding the error 'Source should be plot or shell element only.' right? But not my main problem regarding
the boolean function to substract one 3D-component from another..?0 -
Yes, probably there is no way to subtract 3d elems directly in hypermesh
you have to change it back to 2d elems (faces), modify them, and use them to regenerate 3d
did you try using simlab? there are some interesting tools to edit 3d comps...
0 -
Hi,
It would be nice if you could share screenshot of change your expecting in your model..In Hypermesh , may be morphing could help or as Tinh mentioned above, explore simLab which has really nice features for 3d mesh editing.
0 -
Thanks for your answers! I will try simlab then, if I really don't get any further with Hypermesh. Otherwise I will let you know.
To get back to my main problem, maybe there's another way to solve it..
For my problem, imagine a larger solid SPHERE ('A'), from which I want to cut out a smaller solid CUBE ('B').
My main problem was, that I wanted to substract one solid from another. (geom>solid edit>boolean A-B) and afterwards mesh component 'A',
while leaving out empty space for the 'B'-Solid obviously.
The Solid 'B' was created from a Surface, which I created from FE-entities using Tools>Faces.
When I tried to mesh the 'A'-Component, Hypermesh didn't leave out the 'B' components during meshing.
Although the substracted solid 'B' is shown within solid 'A', as usual if you use the boolean function.
However, when I substracted a different Solid 'C' (let's say a donut-shape) from 'A', it worked... 'C' was basically created in the same way as 'B', as described above.
So there must be an issue with my entire component or solid 'B', which makes it somehow impossible to properly substract it from 'A' using 'boolean A-B'.
Any ideas what this issue might be?
0 -
Sorry but I cannot help you more if you don't send us your model.
from the beginning, we just talk by text. we need something to try, and error, and try again...
That's the only my ideal.
0 -
Hello,
after reading the above, I understand that at least 4 years ago, the only option to perform a boolean operation for a mesh was to do it indirectly and and with a 2D mesh only.
has anything changed in the newr versions of Hypermesh (Hyperworks now) that would allow performing a Boolean operation with two sets of 3d mesh?
To make my example more specific:
I have a voxel mesh of a component (component #1) that was created using a 3D geometry but because of the resolution of the voxel mesh, the resulting mesh is slightly bigger than the 3D geometry (all good with that, I understand why it is happening).
Now I want to introduce another component (component #2) which is already meshed. Prior to the creating of the voxel mesh for component #1, component#2 was matching the component #1 3D model with no intersections.
What I would like to do now is eliminate the voxel elements of component #1 (target) that intersect with component #2 (tool for removal).
Has this or something similar introduced as a feature in newer versions of Hyperworks?
0 -
Christoforos Chatzikomis said:
Hello,
after reading the above, I understand that at least 4 years ago, the only option to perform a boolean operation for a mesh was to do it indirectly and and with a 2D mesh only.
has anything changed in the newr versions of Hypermesh (Hyperworks now) that would allow performing a Boolean operation with two sets of 3d mesh?
To make my example more specific:
I have a voxel mesh of a component (component #1) that was created using a 3D geometry but because of the resolution of the voxel mesh, the resulting mesh is slightly bigger than the 3D geometry (all good with that, I understand why it is happening).
Now I want to introduce another component (component #2) which is already meshed. Prior to the creating of the voxel mesh for component #1, component#2 was matching the component #1 3D model with no intersections.
What I would like to do now is eliminate the voxel elements of component #1 (target) that intersect with component #2 (tool for removal).
Has this or something similar introduced as a feature in newer versions of Hyperworks?
Hello,
Not exactly clear of your usecase, but you could try this tool. I used shell elements on the surfaces and would then fill with tets after the fact.
0 -
Jason Craanen_20442 said:
Hello,
Not exactly clear of your usecase, but you could try this tool. I used shell elements on the surfaces and would then fill with tets after the fact.
Thank you for the reply and the advice,
I was not aware of this option.
I had a quick go and it did not seem to do anything but I will put a bit more effort in the setup of the "Mesh Boolean" tool and post feedback here.
Thanks again
0 -
Jason Craanen_20442 said:
Hello,
Not exactly clear of your usecase, but you could try this tool. I used shell elements on the surfaces and would then fill with tets after the fact.
It took me a while but I did get around to try and use the feature. I could not find any documentation in the help section to help me understand the details of the options in the Boolean Operation in the manual of Hyperworks 2020 that I am using. I did however find it in the Hyperworks 2021 help documentation.
- Based on this, should I assume that this function is only used with 2D elements?
- It was not clear from the instructions if the "master entitites to preserve" requires a mesh solid or I can use a non-meshed solid as the "tool" for the boolean subtraction?
0 -
Christoforos Chatzikomis said:
It took me a while but I did get around to try and use the feature. I could not find any documentation in the help section to help me understand the details of the options in the Boolean Operation in the manual of Hyperworks 2020 that I am using. I did however find it in the Hyperworks 2021 help documentation.
- Based on this, should I assume that this function is only used with 2D elements?
- It was not clear from the instructions if the "master entitites to preserve" requires a mesh solid or I can use a non-meshed solid as the "tool" for the boolean subtraction?
Apologies for the multiple messages on that: it seems that multiple clicks on the component/element selection are required so I did manage to make it work with using a 2D mesh for the target and a 2D mesh for the "removal tool" (master entity). In summary I tried the following combinations:
Target / tool (master entity) 3D 2D Solid 3D Error: "The selection of elements or components is incorrect" I am not able to pick the 2D component as master entity Not able to pick the solid component as master entity 2D I am not able to pick the 3D component as master entity works as per Jason's suggestion above Not able to pick the solid component as master entity 0 -
Christoforos Chatzikomis said:
Apologies for the multiple messages on that: it seems that multiple clicks on the component/element selection are required so I did manage to make it work with using a 2D mesh for the target and a 2D mesh for the "removal tool" (master entity). In summary I tried the following combinations:
Target / tool (master entity) 3D 2D Solid 3D Error: "The selection of elements or components is incorrect" I am not able to pick the 2D component as master entity Not able to pick the solid component as master entity 2D I am not able to pick the 3D component as master entity works as per Jason's suggestion above Not able to pick the solid component as master entity And to explain why I am insisting on this, I will explain my use case below:
I have prepared a fairly complex topology optimization model with many loads,BCs, load collectors, load steps, non-design areas and RBE2s/RBE3s.
Following the initial analysis, some additional components need to be excluded from the design space.
I could do that in CAD (easy and straightforward) but then I would have to remesh the 3D model and recreate non-design spaces and RBE3s/RBE2s.
If the boolean operation was working on solid elements, I could import the cad of the new parts to be excluded in the existing FEA model.
Then I could eliminate the design space elements that clash with the new components and rerun my topology optimization.0