Meshing ... tests and wishes
 1-9  10-29  30-49  50-69

Previous
Next
 From:  Michael Gibson
2451.10 In reply to 2451.2 
Hi Micha,

> (6) mesh #4
> The Rhino mesher create big kinks at this cylindrical surfaces.
> It is an old test object, but if I remember me right, it was
> from a project STEP file.

No big kinks in MoI, right? So that is good! :)

Is your concern about getting only quads on this? If you do you'll probably need to simplify the edge structure of the shape, if you select the edges you can see that the boundary of those cylinder parts is split up into some additional edge segments rather than it having only a simple edge structure.

I've attached a tuned up version which will now generate all quads.

I did the tuneup by selecting the object, running "ShrinkTrimmedSrf" on it (which you have to set up with a keyboard shortcut to use in MoI, there is not currently a button for it), then Edit/Separate, then Select all edges, then Delete to untrim, then joined again.

The same comment applies as from that previous example - if the shape is set up to be overly complex like in this case with trim curves split up into more pieces than necessary, then that can often have some kind of impact on meshing as well.

If you have clean and simple geometry and topology it will help to generate clean and simple mesh results as well.

Complex geometry and topology will tend to make the mesh somewhat more complex as well.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.11 In reply to 2451.2 
Hi Micha,

> (7) mesh #5
> Artefacts - that's new. ;) (angle 55)

This one is a bug! :) But it happens to be one that I've already fixed up for the next v2 beta.

It's a bug that got introduced with some of the changes to do faster meshing in the most recent v2 beta.

You can use MoI V1 right now for this one particular object to avoid the bug (just be patient while using v1, it is a lot slower of course).

Anyway the next v2 beta release will generate a proper mesh for this case the same as v1 did.


> But also the most cylindrical surfaces dosn't show a regular
> mesh of quads (finer mesh without artefact).

Basically all the same stuff I mentioned previously applies - the fillets in this case are between 2 curved objects, the fillets cause trimming edges that are not isoparms, they are curved. For example this fragment:




Notice how the trimming boundary there is not flat, it is curved? That means that the trimming boundary can have additional refinement points on it as well, same as the refinement for surfaces that I described earlier. When edges are refined it will generate n-gons rather than quads.

Additionally notice how the edges are in multiple segments...

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.12 In reply to 2451.2 
Hi Micha,

> (8) mesh #6
> At Rhino the opening in the middle is complete closed by a
> big artefact, at MOI3D the general shape looks a little bit
> strange at the sides (screenshot).

Are you using a very coarse meshing angle for that particular screenshot result?

When I tried your model at normal mesh densities it was looking fine...

At much coarser mesh densities the kinds of things that you show there are not uncommon and can just be a normal part of getting both a coarse edge boundary and a coarse surface quad density.

Generally something that is curved by quite a bit will look a bit strange when using only a small number of jagged polygons to represent it. Particularly if the interior surface happened to get something like no divisions on it while the edges got one division or something like that.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.13 In reply to 2451.3 
Hi Micha,

> (9) rotation object <...>
> Interesting is, that the Rhino command _QuadrangulateMesh can
> be used to eliminate some triangles. I have the feeling, if
> _QuadrangulateMesh works, than the mesher created to much
> triangles, more than necessary.

Yeah it does look like those ones should be quads, I'll see if I can figure out what is happening there.


> Here it could be nice, if polygons around the torus profil
> could be in the same angle. At the moment the inner
> polygons are finer than expected. This could be interesting
> for using the mesh per T-Spline or Sub-D modeller.

This one has an easy workaround - it looks like it is only happening at a few particular very rough angles. If you adjust your angle slightly to 57, you should get the same mesh structure but without that one extra refinement:



When you have an angle value that happens to be right near a "boundary zone", it can pretty easily lead to this kind of irregularity. If you want to reduce refinements just a small adjustment in your angle can eliminate it. The mesher is not really very focused on doing such coarse things, I mean it will work but you can run into some slightly odd things at such extreme angles.

- Michael
Attachments:

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Message 2451.14 deleted 28 Feb 2009 by BURRMAN

Previous
Next
 From:  Michael Gibson
2451.15 
Hi Burr,

> Wouldnt the avoid smaller than option fix this? or is
> that in the other direction.

It can help to reduce subdivisions, but more often on a more regular density mesh than one that is already being generated at a very coarse angle.

Basically the "Avoid smaller than" takes a distance, and any polygon that is smaller than that distance will instead shift to use a coarse angle of like 35 degrees rather than the regular angle.

This makes it possible for something like a tiny curved fillet in your model to get meshed at 35 degrees rather than say 5 degrees for everything else.

But if you are already doing everything at 50 degrees then it won't make any difference.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.16 In reply to 2451.3 
Hi Micha,

re:
> (9) rotation object <...>
> Interesting is, that the Rhino command _QuadrangulateMesh can
> be used to eliminate some triangles. I have the feeling, if
> _QuadrangulateMesh works, than the mesher created to much
> triangles, more than necessary.

Some good news on this one, I was able to make a minor tune-up to preserve more quads in this situation.

In the next v2 beta this one will now get all quads, here is a screenshot of what it will look like:



- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Micha
2451.17 In reply to 2451.16 
(3) rounded cube

The object I used is a Rhino object (copy&paste to MOI) and I attach it now. Could be nice, if the mesh could be same, dosn't matter it is a STEP import, a Rhino copy&paste or a MOI3D creation. ;)

(4) mesh #2

This object is a "o" from a Text object "Rhino". Interesting for me is, that you talk about independent edges and surfaces. I thought a surface or polysurface has edges, but you extract and delete them. That's I don't understand.
"I've attached an updated version of your object here as mesh#2_quads.3dm - to simplify the edges of this shape, I took your object, used Edit/Separate to break it into individual surfaces, then selected all the edges of those surfaces and did a Delete to "untrim" them and get the natural surface isoparms as a new simple trimming boundary, and then rejoined."

Could it be possible, that this is internal automatic done for meshing? Or can I do something at Rhino befor export an object to MOI? Are the edges needed for meshing? Is at MOI at command to select all edges?

(5) mesh #3

I attach the original surface, now it should be buggy. ;)

(6) mesh #4

Seems to be the same problem like at (4) and I don't understand it, why edges are independent from the surfaces and how to delete edges. I would like to avoid the effect per Rhino script befor I export the object to MOI. I afraid, at complex models the "separate-edge-delete-join" method could be a problem.

(7) I'm curious for the next beta. :)

(8) I used an angle of 35°. It's the "o" from a Rhino text object with a round.

This screenshot above was done befor I changed the CentroidTriangulation option at the ini. (Sidenote: the Rhino mesher create this overhanging peaks too.)
Interesting - now I tested the object again and it looks much better, also at a rawer angle of 55° - great! In regard to the easy usage of MOI it could be good, if the bad look of first screenshot could be avoided allways. ;)


Two other things to this - at Rhino I found, that some triangles can be converted to quads (maybe this is fixed in your internal version like you wrote at (9)) and could it be possible, that the CentroidTriangulation option is part of the general meshing parameters?

(9) :)
... one thought from me, as I bought MOI3D some days befor was, maybe it's a good time now for tests and improvement requests. :)
Thank you.

EDITED: 1 Mar 2009 by MICHA


  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Micha
2451.18 In reply to 2451.17 
WOW, I increase the angle just for fun and the mesher dosn't create crap (case (8) - the Rhino "o" with rounds), it looks like it should look, also at this extrem raw angle. I'm impressed!



... but I found, that the result is not stable at all angle values - maybe it's possible that the mesher can be refined to avoid this effect. But's good to know, that it help to fine adjust the angle value to avoid some sideeffects.

EDITED: 1 Mar 2009 by MICHA


  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  jbshorty
2451.19 
Micha. You know all these type of shapes can be easily modeled in any poly modeler. You could also easily create directly in Rhino using combinations of rail revolve or sweep with polylines, with Surface Creasing plugin, then extract the control polygon. Weld the mesh, and send out ready for subd...

jonah
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Micha
2451.20 In reply to 2451.19 
Thanks, the easy examples are examples only. I think, if the easy example works, than complex models should be good meshed too. Most important for complex scenes, where the polycount must be keeped low, but good looking - for example for rendering train / air plane interiors or large ships with many details.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.21 In reply to 2451.18 
Hi Micha,

> WOW, I increase the angle just for fun and the mesher dosn't
> create crap (case (8) - the Rhino "o" with rounds), it looks like
> it should look, also at this extrem raw angle. I'm impressed!

:) It depends a bit on the particular situation though, if you end up with a surface that has only one polygon for the surface part, but an edge gets a refinement in the middle of it, that refined point of the edge will be placed at the actual point on the curved edge's midpoint which is then a far distance away from the single polygon that is approximating the surface. That then makes for a kind of very warped polygon.

It basically causes a single polygon to have a very non-planar shape, which makes for somewhat odd looking polygons.


> ... but I found, that the result is not stable at all angle values -
> maybe it's possible that the mesher can be refined to avoid
> this effect

I guess it would be possible, but it would probably need a special "low polygon" mode that tried to do things in a special way that did not follow the regular method used for normal meshing. Unfortunately that would probably take a fair amount of work so it is not too likely that I will be able to accomplish that anytime too soon. I'd also worry about cluttering up the UI with specialized tools that were only useful to a very special kind of case, that is not so good because it means that the main tools become more complicated to use for everyone and the only benefit is to a very small area of work. That's how adding some things can actually end up with an overall negative effect rather than being an overall benefit to a larger group of users.


Some more notes on the strange-looking result:

Under normal circumstances it is important to be able to have an edge refined with points added to it to an additional amount beyond the surface that it is on, because an edge can easily be curved in shape a lot more than the surface.

Here is a basic example - here I have a plane so the surface is not curved at all, but meanwhile the trim edges of the surface have a very curved shape:




If I did not refine edges to have additional points, then a shape like this would end up with a mesh looking like this:



Which as you can see would not be a good result for the most regular meshing cases such as regular rendering, etc...


Basically for extremely low polygon shapes like you're experimenting with here, I would recommend building those using the tools in a polygon modeler like jonah mentioned, that is a toolset that is specifically designed for that purpose.

The case you are showing here is starting with a very curved shape, that's just not really the best starting point in general if you want an extremely angular result, it is better to use a toolset that is specifically designed for that kind of a thing to get the best results.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  PaQ
2451.22 In reply to 2451.20 
>> Thanks, the easy examples are examples only. I think, if the easy example works, than complex models should be good meshed too. Most important for complex scenes, where the polycount must be keeped low, but good looking - for example for rendering train / air plane interiors or large ships with many details.

If polygon count is so crucial, I dont think you need fillet on your models, it will increase the poly count a lot.
If fillets are important, you should try to use a smaller meshing angle (12-20), and use the 'avoid smaller than' option to reduce the number of polys. You'll have a much better visual/polycount ratio than just rising the meshing angle so high.
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.23 In reply to 2451.17 
Hi Micha,

> The object I used is a Rhino object (copy&paste to MOI) and I
> attach it now. Could be nice, if the mesh could be same, dosn't
> matter it is a STEP import, a Rhino copy&paste or a MOI3D
> creation. ;)

That would be cool, I agree! But a rounded box can be defined in many different ways, and in order to get one to mesh with all quads the "underlying" surface of the rounded part must be aligned with the other pieces.

The model that you have posted here is not configured in that way at all, if you use Edit/Separate on it to break it into surfaces and then turn on control points for a corner, you can see the surface for it is actually set up like this:



Notice how the surface control points of that corner piece are not aligned with the trim edges?

That corner is defined as a kind of rotated sub-region trimmed out from a larger sphere portion, the sphere is oriented like this:


The problem here is that the UV layout of that sphere (for instance if you were to look at its isoparm grid) does not have any kind of alignment with those edges. Here is dense mesh of just the sphere where you can see how the trim edges collide with the natural surface UV grid at an odd angle:



Because of this lack of alignment, you won't get simple quads from that kind of corner patch.

If you do a similar examination of the rounded box built in MoI, you will see this kind of structure instead:






Notice how the corner pieces there have a natural alignment between the surface and its trim edges? That kind of more simple structure provides the alignment between the surfaces that is necessary to get simple pure quad mesh generation.


So again, don't just assume that every rounded box is constructed in the same way! :) It is possible for some to have a construction method where surfaces do not share natural edges and that will prevent simple mesh output from that kind of stuff.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.24 In reply to 2451.17 
Hi Micha,

quote:

(4) mesh #2

This object is a "o" from a Text object "Rhino". Interesting for me is, that you talk about independent edges and surfaces. I thought a surface or polysurface has edges, but you extract and delete them. That's I don't understand.
"I've attached an updated version of your object here as mesh#2_quads.3dm - to simplify the edges of this shape, I took your object, used Edit/Separate to break it into individual surfaces, then selected all the edges of those surfaces and did a Delete to "untrim" them and get the natural surface isoparms as a new simple trimming boundary, and then rejoined."


You wrote:
> I thought a surface or polysurface has edges

Yes - every surface or polysurface has edges to it - but part of the definition of an edge is a 3D curve that gives the shape of the edge (there is also a UV curve that is in the UV space of the surface). In this case that 3D edge curve is pretty complex, just take a look at the screenshot which I will show here again:




That edge has gone through some kind of "fitting process" to calculate it as an approximation, maybe as an intersection between 2 surfaces or something like that.

Anyway, as you can see from the number of points in it, the 3D edge curve is not as simple and clean as it could possibly be, to get a better mesh I removed the existing 3D edge curve (by "untrimming") which forced a new one to be calculated from the underlying surface. The new 3D edge curve is more simple in structure and exactly matches the underlying surface, making it a more simple structure overall and helping to build a better quality mesh.


> Could it be possible, that this is internal automatic done for meshing?

Unfortunately it is kind of tough, often times you need a kind of human intelligence to analyze the shape and see what parts can be simplified. It can be difficult to replicate this with a kind of artifical intelligence.

It's also possible that in different situations this kind of process can change the shape of the object slightly. I kind of worry a bit about doing things automatically that change the shape, it is another area that can require judgement.


> Or can I do something at Rhino befor export an object to MOI?

Possibly either "untrim", or "RebuildEdges" in Rhino could be used for a similar process.


> Are the edges needed for meshing?

Edges are definitely used in meshing, without processing edges then you would only ever have meshes that used the "underlying surface" parts of objects and not any trimmed areas which are often formed by booleans, etc...

Edges that are messy or more complex than needed, or wiggly, etc... can introduce complexity into the generated mesh, same as if the surfaces are more complex than needed or wiggly, ...


> Is at MOI at command to select all edges?

You just first select one edge with the "drill-down" click (when you click a second time on an object), then use Ctrl+A to select all.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Frenchy Pilou (PILOU)
2451.25 
That is that we can name a full answer :)
---
Pilou
Is beautiful that please without concept!
My Gallery
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.26 In reply to 2451.17 
Hi Micha,

> (5) mesh #3
>
> I attach the original surface, now it should be buggy. ;)

It looks like this one is due to having a surface that has an internal crease (G1 discontinuity) in it.

This is kind of an unusual surface since you have created a degree 1 surface with a lot of points in it - normally when you have a surface with a lot of points like this, it typically is done as a degree 3 surface so that it will be smooth when you pull points around on it, a degree 1 surface is kind of more similar to a polyline, and typically degree 1 surfaces are used only with a smaller number of points to form a simple plane (using just 4 corner points).

At any rate, the bug in this case is in the splitting function that is supposed to split surfaces at G1 discontinuities when they are loaded, it is only splitting it partially in this case.

I've fixed it up for the next v2 beta, so it will get split properly when loaded and mesh well.

Another workaround for the current release is to use Edit/Separate on it, and then Edit/Join to rejoin it, that will cause it to get split up properly and it will mesh well after that.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.27 In reply to 2451.17 
Hi Micha,

> (6) mesh #4
>
> Seems to be the same problem like at (4) and I don't understand it, why edges
> are independent from the surfaces

Well, edges are not restricted to only be along the natural boundary of a surface.

If they were, then you would be unable to trim surfaces in many situations.

Here is an example - say I start with this plane, it is a simple surface where it has 4 edges that are on the natural boundary of the surface:



Now if I take a curve made up of many different segments and trim that plane, it will create a bunch of new edges on that surface:



You can see there that I turned on control points for the surface as well, and the plane surface is still there underneath those 10 new edges that form the new boundary.

Similarly you can have any number of trim curves on a curved surface as well, and it is possible to have trim curves that touch each other smoothly rather than at a sharp corner - that is what was happening with this previous model, if you go in and try to select the outside edges of that cylinder you will see that you can select a small portion of it, which is actually one small edge itself, the boundary is made up of a number of small edges touching one another rather than one single large edge.

Check out this FAQ answer for some more illustrations on how trim curves and an "underlying surface" work:


A larger number of edges makes for a more complex topology and will prevent MoI from doing things like spacing points out evenly across a larger distance like it can do when the edges are larger.

So if you want the most optimal mesh result, it will help to have an optimized topology as well.

A complex topology will also tend to generate a more complex mesh result as well.

The mesh will still be valid on a non-optimized topology (as in no holes, etc...). But since you are very interested in getting the best possible mesh, you will need to also give the mesher clean topology to work with.

In general it is a pretty simple situation, I mean you can't expect the mesher to generate perfect results when it is given lower quality inputs. (sometimes low quality can mean different things, but I've described previously the types of alignment conditions which help for this purpose of all quad generation).

There's a saying: "Garbage in, garbage out", - if you don't start with a high quality result it is not realistic to expect the highest quality result out the other end!


> and how to delete edges.

In MoI this can be done by selecting all the edges of a single surface (not a joined surface, use Edit/Separate) and pushing delete. Check out this object repair tutorial for more info:
http://moi3d.com/forum/index.php?webtag=MOI&msg=446.17


> I would like to
> avoid the effect per Rhino script befor I export the object to MOI. I afraid, at
> complex models the "separate-edge-delete-join" method could be a problem.

Yes, it can definitely be difficult to do a cleanup of messy stuff on a complex model!

But if you don't provide clean inputs, it is just not possible to get the very best quality outputs.

Keep in mind that MoI does not have the same level of human judgment and analysis that you can apply, it is a very difficult problem to do a fully automatic cleanup without judgement to assist the process.

- Michael

  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Michael Gibson
2451.28 In reply to 2451.17 
Hi Micha,

> (8) I used an angle of 35°. It's the "o" from a Rhino text object with a round.

I think this one was answered by my reply to your additional message, see here for that reply:
http://moi3d.com/forum/index.php?webtag=MOI&msg=2451.21


> This screenshot above was done befor I changed the CentroidTriangulation option
> at the ini. (Sidenote: the Rhino mesher create this overhanging peaks too.)

It probably wasn't so much the change in CentroidTriangulation that avoided this, but rather using a different angle value that didn't cause the edges to get an additional subdivision beyond what the base surface got. Again see the above linked reply for more info on this.


Overhanging peaks are basically when a polygon has a high degree of non-planarity to it. If you have many points that are nearly co-planar and then suddenly one that is a larger distance away from that nearly common plane, it creates that kind of situation.

Rhino's mesher tends to create things like that in many more circumstances even without going to coarse levels of meshing, particularly around closed surface seams.

In MoI you will typically only see that effect if you are torturing the mesher by using very coarse angles like you are doing here! :)

If you see that kind of peak under more normal meshing circumstances in MoI (like say less than 20 degrees angle parameter), then please let me know, but in general I think you won't run across that except for in these very coarse examples.

Again, please refer to that previous message about how it is possible for edges to get refined with additional points than the surfaces and why that is necessary (or else things that are flat but with complex trim boundaries would not work at all, example in that previous message).


> Two other things to this - at Rhino I found, that some triangles can be converted
> to quads (maybe this is fixed in your internal version like you wrote at (9))

This was with the Mesh#6.3dm model? Was this instance where you could convert some triangles to quads happening at the default mesh parameters, or only at a particular parameter?

If you can tell me the parameters you used to run into that, I can test with it over here and see if it is fixed by the other fix or not.


> and could it be possible, that the CentroidTriangulation option is
> part of the general meshing parameters?

Is it something that you expect to be turning on or off very often?

For most people I was figuring that it would be something that they would want to have on all the time or off all the type for more typical usage.

- Michael
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged

Previous
Next
 From:  Nick (BODINI)
2451.29 
"MoI is a one man show" indeed (joke about earlier thread). After the length of what I see here, I'm starting to wonder if there arent a few people named Michael Gibson working on this product! ;)
  Reply Reply More Options
Post Options
Reply as PM Reply as PM
Print Print
Mark as unread Mark as unread
Relationship Relationship
IP Logged
 

Reply to All Reply to All

 

 
Show messages:  1-9  10-29  30-49  50-69