Comments (16)
dont use the method shown in the paper ,memory consuming
from meshlib.
yes
from meshlib.
Thanks for the reference, we will study it in detail later.
Here is a picture from the article:
- We already have bidirectional voxel-based offset in MeshLib (left side, gray)
- And we can create thinking by combining single-directional offset of a closed surface, merging it with inversed original surface (right side, blue). See the steps in the video:
https://youtu.be/hvihpSILEkY
Does it work for you?
from meshlib.
My input is open contour triangle mesh surface, and I just want to thicken inside(Contrary to the normal direction of the input triangles) and also keep sharp .
(by the way, I want to use many tools that I can not see in other softwares,so ask you for help(pull several issues))
from meshlib.
I see, we will try to support thickening for open mesh. Either with the method from the paper or by some other means.
Your requests are very welcome, since it points us the directions, where we can improve. At the same time they are not easy to implement, so it is hard to predict when they will be ready.
from meshlib.
We have some progress with thickening of open meshes.
For example, a mesh containing a face:
NefertitiFace.stl.zip
After processing (very fast, but not yet automated) it becomes a solid using hollowing method:
NefertitiFaceHollow10.stl.zip
from meshlib.
wow ,your response is very fast. 1 you did a good job,but still need to optimize,since the cross section of result is not that smooth or flat. 2 how did you do that?
from meshlib.
from meshlib.
wow ,your response is very fast. 1 you did a good job,but still need to optimize,since the cross section of result is not that smooth or flat. 2 how did you do that?
Thanks! It is implemented via bidirectional shell, and new function in MeshLib
/// Finds inner-shell vertices on bidirectional \param shell constructed for an open \param mesh;
/// \param side specifies which side of shell is of interest: negative or positive relative to mesh normals;
/// The function will return all shell vertices that have distance to mesh of same sign as \param side
/// excluding the vertices projecting on mesh boundary
[[nodiscard]] MRMESH_API VertBitSet findInnerShellVerts( const Mesh & mesh, const Mesh & shell, Side side );
which selects the region on the shell mesh to be preserved.
Then original mesh and the piece of the shell are merged and Stitch Two Holes is applied. It is not present in MeshInspector UI yet.
As to smoothness, we need to work more on the cut region, but inner region is already correct. Please note that positive offset of concave surface and negative offset of convex surface are not smooth in general.
from meshlib.
This object is almost closed except for a few small holes:
The simplest approach here is to fill these holes and then apply the ordinary offset to get thickened mesh:
cad surface thickened.stl.zip
from meshlib.
cad surface expected result.zip
from meshlib.
Thanks for the expected result.
Do you want to convert holes in your original mesh into tunnels of resulting solid model?
from meshlib.
In the next version of MeshInspector, one can make a similar solid object in few steps, see this video. Here is the result: cad-surface-offset-filled.stl.zip
After that we will work on further improvements and automation.
from meshlib.
In the next version of MeshInspector, one can make a similar solid object in few steps, see this video. Here is the result: cad-surface-offset-filled.stl.zip
After that we will work on further improvements and automation.
Thanks for the video explain.The holes you stitch is not smooth, so If I want to 3d print it,the customer will not satisfied.
from meshlib.
I see. We will research how to make holes smoother. The option that is available right now is to decrease voxel size during offsetting.
from meshlib.
Today we improved thickenMesh
function, and now it produces much smoother holes in offset:
from meshlib.
Related Issues (20)
- line self-intersection HOT 2
- Local setup HOT 5
- Error while showing numpad keys in F1 menu
- Negative offsetting in offsetMesh HOT 1
- Negative offset in thickenMesh results in incorrect filling of mesh HOT 3
- Readme installation steps are incorrect for Linux HOT 4
- Installation on Linux when sudo privileges are not available HOT 1
- Python Meshlib DistanceMap Interpolation Issue HOT 2
- meshlib.mrmeshpy.uniteCloseVertices does not exist in Python HOT 4
- Plane cut HOT 2
- Minkowski Sum in python HOT 2
- Problems in refine in cylinder mesh HOT 1
- add possibility to support rectangular planes
- setup z scale as ( ScaleX + ScaleY ) / 2 for plane feature HOT 1
- Creating grid meshes based on arbitrary shape input HOT 29
- Create a 3D Mesh from a list of vertices and faces. HOT 3
- Hole & Boundary edge length in Python HOT 5
- The Angle between two vectors is 0 to pi, why not 0-2pi HOT 4
- ImportError: libpython3.11.so.1.0: cannot open shared object file: No such file or directory HOT 1
- Are there any examples of emscripten for reference? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from meshlib.