NVil Forum

General Category => Feature Requests => Topic started by: Mason on March 04, 2014, 06:45:15 pm

Title: Model fillets...
Post by: Mason on March 04, 2014, 06:45:15 pm
http://www.youtube.com/watch?v=T-ccEk3P5g0


Drool...would love these kind of advanced modelling tools.
Title: Re: Model fillets...
Post by: steve on March 06, 2014, 07:42:55 pm
That would take all the fun(a bit of a challenge) out of modeling for me.

I had a quick play in Nvil:-

(http://i.imgur.com/bSDGY3i.jpg)

Title: Re: Model fillets...
Post by: Passerby on March 06, 2014, 07:45:57 pm
ya modo has something like this too
http://www.thefoundry.co.uk/products/modo/plugins/meshfusion/
Title: Re: Model fillets...
Post by: Mason on March 06, 2014, 08:38:29 pm
Meshfusion also has me excited.


Just need to save time where I can with some fast modeling techniques.  Clients often want short and fast...


Care to explain the process steve?  I still see ngons, so you didnt smooth it...and I would get bored of hand stitching every vertice.
Title: Re: Model fillets...
Post by: steve on March 06, 2014, 11:27:56 pm
Meshfusion also has me excited.


Just need to save time where I can with some fast modeling techniques.  Clients often want short and fast...
If I needed polygon mesh objects for work, and Meshfusion worked on all meshes, then I would probably get it. But as I only build polygon mesh objects for hobby stuff, then the $1600 (App+plugin) is a bit much considering the small amount of time I have for hobby.


Quote
Care to explain the process steve?  I still see ngons, so you didnt smooth it...and I would get bored of hand stitching every vertice.
That was just first attempt, better than watching the TV. I did leave the N-gons and tris.

The basic process was, Boolean > cuts (on the primitives) for the blend positions. Splines from the cut edges, retopo(splines) for creating blending fillet. Then bridging to join all parts(some holes to fill).

I had another attempt and made from all quads (I do not use sub-d (smoothing)).

(http://i.imgur.com/Z67PlDJ.jpg)

Title: Re: Model fillets...
Post by: Passerby on March 06, 2014, 11:48:34 pm
Care to explain the process steve?  I still see ngons, so you didnt smooth it

You can still smoothing ngons, just can cause some shadeing errors if not on flat surfaces
Title: Re: Model fillets...
Post by: Mason on March 07, 2014, 07:40:06 am
I was brain storming last night as well, and I came to a similar conclusion.  With a boolean to create the splines, and work from there.

The point is speed though,  meshfusion and the example script are meant to automate the process.

I am tempted by Modo and messed around with it in the early stages of development. Especially now that it is a Foundry product and will probably get tighter integration with their other products.  But Nvil has me hooked now that I have it working the way I like.

It still has some quirks that could be smoothed out, but would require an additional programmer unfortunately.

If Nvil had some really unique and powerful modelling features for boolean modeling and remeshing it would draw a lot more people.  Autodesk products are stagnating and Modo is no longer focused on modeling toolsets.
Title: Re: Model fillets...
Post by: steve on March 07, 2014, 08:19:58 am
What are the meshes you are creating for? I only ask, as you may be better to look at a nurbs package, such as Rhino or MoI
Title: Re: Model fillets...
Post by: Mason on March 07, 2014, 09:37:05 am
Yeah...nurbs is great for fillets.  I do stuff for games and film and also do texturing which is an entirely new can of worms when working with Nurbs.
Title: Re: Model fillets...
Post by: steve on March 07, 2014, 09:51:14 am
I was not thinking of you using the nurbs surfaces, but the polymesh output that can be made from those surfaces, that is similar to the patches made by the (Maya) script.
Title: Re: Model fillets...
Post by: polyxo on March 07, 2014, 11:57:36 am
What are the meshes you are creating for? I only ask, as you may be better to look at a nurbs package, such as Rhino or MoI

I think it's not about the fact that this kind of blends can at all get created. As you pointed out, one can do them with Nurbs too and in a tiny fraction of the time. Tools like MoI or Rhino have no history for such operations, so what you do creates a static result (as your Nvil example). Parametric CAD applications allow input parameters to be changed – one may update the blends.
But there's, hands down currently no process which can only remotely cope with Mesh Fusion / Groboto in speed and interactivety in volume blending operations. For some applications the ability to alter the outcome and the transition-areas do not matter that much, especially when reverse engineering an existing item by using blueprints. But this degree of associativity can matter greatly, when actually developing a complex shape from scratch. There's simply no point in spending considerable time in carefully crafting a beautiful all quads transition area when the next decision is to scrap that shape altogether and to try something entirely else. I really hope that the Groboto makers find the time to release a next version standalone version of Groboto which allows using imported meshes from all sorts of sources as external references.
Title: Re: Model fillets...
Post by: Mason on March 07, 2014, 12:10:16 pm
Groboto creators coded Meshfusion...dont know how this will effect their own package though.
Title: Re: Model fillets...
Post by: steve on March 07, 2014, 12:20:39 pm
Tools like MoI or Rhino have no history for such operations, so what you do creates a static result (as your Nvil example). Parametric CAD applications allow input parameters to be changed – one may update the blends.
I do use various CAD packages at work (depends on which site I am working). Those 2 where ones I thought can be useful and not too expensive. One I did forget about for home use, (which does have history and uses the Acis kernel) is Viacad.

Quote
I really hope that the Groboto makers find the time to release a next version standalone version of Groboto which allows using imported meshes from all sorts of sources as external references.
Does Meshfusion allow custom meshes for booleans?(looking at the screenshots and description I think maybe not). I know groboto uses internal Nurbs(type) specific (limited number of) shaped solids, so mesh creation from booleans is more predictable, but of course that limits what can be made due to limited number of objects that can be used.

Title: Re: Model fillets...
Post by: steve on March 07, 2014, 12:25:40 pm
Groboto creators coded Meshfusion...dont know how this will effect their own package though.

They where developing a plugin for C4D, not sure what happened to that. Then they made a plugin for Modo, then the meshfusion. Groboto development appeared to come to a stop some time ago. I had been waiting for them to update the windows version of Groboto so it at least had the same options as the MAC version.
Title: Re: Model fillets...
Post by: polyxo on March 07, 2014, 02:25:05 pm
Quote
I do use various CAD packages at work (depends on which site I am working). Those 2 where ones I thought can be useful and not too expensive.
Always nice to meet other people who use both Nurbs and meshes!
Quote
Does Meshfusion allow custom meshes for booleans?
Yup. You can throw any subd-item into their solver and keep reshaping these. One can literally go on modelling, also add loops and extrude stuff and their solver does the rest. The transition areas quite obviously aren't precise to Nurbs standards and meshflow maniacs could stumble over some triangles. But the outcome shades nicely and blends are editable. The Foundry has some nice clips on their Website, this one (http://vimeo.com/87854599#at=0) is a comprehensive introduction too.

@ plugin for Cinema4D: In recent years the Groboto makers offered some custom loaders for meshes and custom masks created in Groboto. But this has nothing in common with the Mesh Fusion plugin.
Title: Re: Model fillets...
Post by: polyxo on March 07, 2014, 02:36:39 pm
Groboto creators coded Meshfusion...dont know how this will effect their own package though.

Well, in principle one could make this work comparable to the way Indesign references text documents and images or a Video editor references film clips. The best comparison probably was the assembly workspace in a Solid Modeller, if you are familiar with these. Essentially one could bring in Geo from any SubD app and live-link it. Inside Groboto one could move, rotate, scale, shear, replicate and do all sorts of other transforms on this geo. In case the mesh topology needs to get altered, one could do these operations in the source app and re-save. This could give anyone a pretty comparable feature set as available through the mesh-fusion plugin, even including their graphical node representations. The question is whether the Groboto makers have time to do this and whether the Foundry lets them continue the Groboto project.
Title: Re: Model fillets...
Post by: steve on March 08, 2014, 03:01:50 pm
The Foundry has some nice clips on their Website, this one (http://vimeo.com/87854599#at=0) is a comprehensive introduction too.

Thanks for the link. It is certainly a big improvement on Groboto. It as got my attention, so will have a look.
Title: Re: Model fillets...
Post by: Mason on March 09, 2014, 07:43:30 pm
Simply amazing.  I have the impression this is something really big to program and could justifiably require a full version upgrade of Nvil with additional with upgrade costs.

I am playing around with Modo, and still feel more comfortable with Nvil simply because streamline tools make the basic modeling workflow much smoother and the context sensitive menus, tools, hotkeys really keep things clean.


A powerful boolean modeler is still an important workflow though.  Perhaps the community knows a GoZ to modo workflow.
Title: Re: Model fillets...
Post by: steve on March 09, 2014, 09:36:32 pm
I have the impression this is something really big to program and could justifiably require a full version upgrade of Nvil with additional with upgrade costs.

Currently in Nvil, it can take several minutes for a base boolean operation. Other vendors stopped attempting to code for booleans(can be very complex) and instead starting using the Carve CSG library (http://carve-csg.com/). Blender now uses that library, and with the inclusion of Bmesh, now gives boolean results without all the triangulation.

With Meshfusion, that is technology from Groboto, but also uses technology from Modo, so quite a few years of programming by numerous programmers. Not something I can see one programmer doing.



Title: Re: Model fillets...
Post by: IStonia on March 10, 2014, 08:42:06 am
Blender now uses that library, and with the inclusion of Bmesh, now gives boolean results without all the triangulation.

No triangles? Are you sure?
Title: Re: Model fillets...
Post by: IStonia on March 10, 2014, 08:48:56 am
The Foundry has some nice clips on their Website, this one (http://vimeo.com/87854599#at=0) is a comprehensive introduction too.

From the video, I notice two things

1. The meshes used are all subdivided. I wonder what's the result for low poly models.
2. I didn't see the end result editable mesh it produces. Can it do that?
Title: Re: Model fillets...
Post by: IStonia on March 10, 2014, 08:54:03 am
http://www.youtube.com/watch?v=T-ccEk3P5g0


Drool...would love these kind of advanced modelling tools.

I can see triangles in the result.
Title: Re: Model fillets...
Post by: Mason on March 10, 2014, 09:16:25 am
Basic workflow is this:


The plugin smooths the surfaces in order to create a catmull-clark surface so that there are no triangles.  Then, under the hood I suspect it is converted to a nurbs surface but displayes the tessilated surface in triangles.


Because it is nurbs, you can have the fillets and realtime performance.  Groboto is entirely in nurbs which makes sense for this plugin because they are just converting their tech.


Once the user is satisfied with the result,  the nurbs surface is then converted to a polygonal mesh.  The only visible triangles are along the seams of the boolean.  The results are satisfying though, and will definately change the workflow of a lot of modelers.  Booleans are essential in doing hardedged hiPoly work.   Very little clean up is needed, and the results are much better then using Zbrush.


As for the subdivision modeling for hard edged type stuff...Triangles and Ngons are not a problem...and can actually be exploited to help speed up workflow and keep geometry light and clean.

Title: Re: Model fillets...
Post by: steve on March 10, 2014, 09:23:52 am
Blender now uses that library, and with the inclusion of Bmesh, now gives boolean results without all the triangulation.

No triangles? Are you sure?

Triangulation is only made on non-planer faces(but they have to have quite a large deviation). Otherwise any triangles are from the actual mesh boolean positions(triangles from the overlapping geometry).

From Carve CSG:-
Quote
Apart from requiring planar faces that are not self intersecting, Carve places no restrictions on the form of input data. Faces that make up surfaces may have an arbitrary number of edges, and are not required to be convex. Carve does not produce triangulated output, which protects against errors caused by poor triangulation that can impact subsequent CSG operations.


I have been using the Carve CSG boolean library for quite a while, as it was/is used in Wings 3D > ManifoldLab.
From my own point of view, triangulation made on booleans just add lots of work cleaning up/removing the triangulation. I prefer the approach (as with Carve CSG) where a cut is made on the intersections of the objects, and no extra edges are added to the geometry.




Title: Re: Model fillets...
Post by: Mason on March 10, 2014, 09:34:34 am
Maya is using it as well since the latest release.
Title: Re: Model fillets...
Post by: polyxo on March 10, 2014, 10:04:34 am
While nobody knows about the details, I'm pretty perfectly certain that MF doesn't work Nurbs-based interally. Nurbs are far too complex for calculating all these realtime intersections, even by skillfully hand-modelling in Nurbs some Surface Blends are very hard to solve.
There are some automatic Mesh to Nurbs converters but all of them are FAR, FAR slower and most of them can't at all handle surface-trim, which is the most essential thing in Nurbs Boolean operations.
Also it made no sense to convert to Nurbs and not give access to this geo but only to output (less precise) meshes. I am pretty certain that the Booleans are performed based on triangulated, dense meshes internally, far less likely in voxels. Afterwards they are creating another mesh on top, which in its topology is more conform to what mesh-modellers would expect. The Groboto-makers have worked for years on this type of meshing,in particular of the blend areas. In the presentation clips one can see that the blend-quality of the merged mesh relies on the initial subdivision of the input-meshes, this also speaks against the use of Nurbs. Nurbs don't even appear in Groboto, what is used here are Quadrics. Fillets/blends in Groboto are a post process which gets introduced at export time, they habe nothing in common with Nurbs fillets.
Istonia: That whole process is not designed towards low polygon modelling. Also I have not yet seen any Boolean Engine which can tesselate the outcome without triangles and / or ngons, let alone one which allows for interactive updates. All meshers in the market which can output just quads and edgeloops (i.e. in Zbrush, 3DCoat and Mudbox)do this expensive and time consuming post-processes.
Title: Re: Model fillets...
Post by: steve on March 10, 2014, 10:32:22 am
Also I have not yet seen any Boolean Engine which can tesselate the outcome without triangles and / or ngons, let alone one which allows for interactive updates.
All meshers which output just quads and edgeloops do this expensive and time consuming post-processes.

Blender 2.7RC, with its history, you can move the objects for interactive changes in the output boolean. On quick tests, for 2 object that are made up of approx 30,000 faces, I am seeing a feedback/update at about 3 FPS.

From Carve CSG:-
Quote
If triangulated output is required, we recommend that it be performed as a post processing step on the final result. Alternatively, hooks exist in Carve to allow a 3rd party triangulator to tesselate faces before the final result is produced

So it is exactly the opposite, as triangulation is a post process.
Title: Re: Model fillets...
Post by: Mason on March 10, 2014, 10:43:32 am
Polyxo,

Groboto is most definately using Nurbs or similar math.  It is all spline based geometry and then converted to polygons afterwards.  What is required is working with all quad geometry, which is why Mesh Fusion must smooth the geometry first. Cad modelers use similar methods and have no issues calculating fillets and booleans with realtime performance.  Even Maya can do this, although manual setup is tedious.
Title: Re: Model fillets...
Post by: steve on March 10, 2014, 10:52:57 am
Groboto is most definately using Nurbs or similar math.

It uses "Quadric surfaces".

>Some info< (http://web.cs.wpi.edu/~matt/courses/cs563/talks/renderman/quadric.html)

Title: Re: Model fillets...
Post by: polyxo on March 10, 2014, 11:00:31 am
Quote
Groboto is most definately using Nurbs or similar math.
As I said: It's using quadrics primitives, which is analytic geometry but not Nurbs. They use some quick realtime mesher comparable to those used in CAD-applications,(in order to render a shaded display)  at export they use another mesher, which lets users introduce blends.
Quote
Cad modelers use similar methods and have no issues calculating fillets and booleans with realtime performance.  Even Maya can do this, although manual setup is tedious.
You are mixing things up. One may indeed create boolean operations with highly reliable results and relatively fast performance in CAD-applications. Multibody intersections may take some time though, just pushing a body through another one with the manipulator while having the geometry update was quite unlikely. The mesh which gets used to shade geometric outcome always contains triangles, only MoI can turn these to a mix of Quads and  Ngons at export time.

What one can not at all do in Nurbs, are these highly complex realtime blends as shown in the MF demo clips. Yes, there's fillets as parametric "features" in Solid-Modellers as Solidworks which can get edited later - but trust me - what is shown in MF can't be done in any CAD-Program. One can of course model all the shown items and with far greater precision. But one can not do this with such liberty and not with instant blends on most complex surface transitions.
Title: Re: Model fillets...
Post by: polyxo on March 10, 2014, 11:20:13 am
Alternatively, hooks exist in Carve to allow a 3rd party triangulator to  final result is produced
Steve, I did not intend to say that one can not create booleans interactively and with history. In mesh modellers such as 3DSMax, Cinema 4D and others such exists for many years already as an animatable modifier. What's particular in MF and not doable elsewhere is the controlled edge-softening.

What I intended to say is that on will look at triangles/ngons after all Boolean Operations:
Whether one works on Nurbs and exports the render mesh, or uses a SubD-Mesh and performs the same operations here. I heavily doubt that the Blender solver you mention is an exception, this would be a great novelty. I needed to see pictures. To me the text you quote rather means: You will have a nice interactive boolean effect, the outcome will be a quad dominant mesh with triangles and ngons – should you need purely triangles, one could hook up another mesher.
Title: Re: Model fillets...
Post by: steve on March 10, 2014, 11:38:17 am
What's particular in MF and not doable elsewhere is the controlled edge-softening.
Yes, sorry, I drifted back just to base booleans, rather than the output that gives you surface blends.

MF is very powerful. I have been having a play, and find it very easy to use, and very fast. The final output mesh is certainly usable.

Quote
What I intended to say is that on will look at triangles/ngons after all Boolean Operations:
Well yes, It is really a case of wysiwyg (What you see is what you get).
Like when you place 2 objects intersecting, you may see a mixture of n-gons/quads/tris at the boundaries(intersecting faces). That is the result I prefer after a boolean, rather than where extra edges(triangulation) are added to join vertex.