News:

 

Topic: Shell enhancement (corners)  (Read 10685 times)

0 Members and 1 Guest are viewing this topic.

  • No avatar
  • Posts: 976
  • Polygon
January 31, 2014, 12:47:33 am
Hello.
Would it be possible to slightly enhance "Shell" tool so that it doesn't deform corners of a surface it is applied to by keeping their inner and outer angles equal?

An example of deformations caused by "Shell" and a simplified (2D) explanation of what I mean - on the images below.

  • No avatar
  • Posts: 2103
  • Polygon
January 31, 2014, 01:29:16 am
That appears to be due to the smoothing of the corners (vertex Normal directions).

Before you use the "Shell" function. Select all the polygons on the mesh(that you are going to shell), and use "Smooth groups > Auto Smooth" (default 45 should be OK).
Or,
Add hard edges to the corners.

I will add further explanation:-

Here I have created a mesh for example (no hard edges/ only 1 smoothing group)


If I change to top view, go into subobject selection mode, select all subobjects on mesh and "Geometry > Common commands n Tools > Normal", you will see the vertex normals.



When you then shell, you will see the result as shown here:-



I have placed a circle around the bottom right corner, here is that area close up. If you check the length of the edges, you will find them all equal. That is a correct result due to the calculation of distance(of shell) made along normal direction of Vertex. (you would get the same result if you where to extrude polygon normal)



If, before the shell, I was to add hard edges to the corners (select corner edges > "Geometry > Harden Selected") Or, use the smoothing groups as mentioned, you will see the vertex Normals are split at the corners:-



When you then add Shell, the distance of the shell is calculated(at the corners) based on the bisector of the vertex normals, and will give the result you are expecting:-







« Last Edit: January 31, 2014, 02:34:29 am by steve »

  • No avatar
  • Posts: 976
  • Polygon
January 31, 2014, 02:32:45 am
Yes, that was it. Great explanation Steve.
Thanks! Much appreciated. :)

I tried to create a composite tool to automate the process of temporarily assigning hard edges and invoking the "Shell" command, but it looks like NVil doesn't wait for user input when a tool window shows up and continues to process all commands that are next in line after the tool that invoked that window. So, in this example "Shell" simply doesn't work at all because the selection of open edges is instantly cleared with "Clear Selection". :(
« Last Edit: January 31, 2014, 02:39:29 am by rubberDuck »

  • No avatar
  • Posts: 2103
  • Polygon
January 31, 2014, 02:58:19 am
In a composite tool for "Shell", you would need to use the "Common Modeling Shortcut Tools > P_Extrude_Shell" and add a pre-defined distance.

Or,

If it is to be a variable shell thickness, leave the Parameter for the thickness as blank. When you then run the composite tool, you will get a popup window for you to enter the parameter(thickness).



When above composite tool runs, you get popup:-



« Last Edit: January 31, 2014, 03:23:26 am by steve »

  • No avatar
  • Posts: 232
  • Spline
January 31, 2014, 02:08:19 pm
Thanks for these explanations Steve!
I'm not sure that setting a certain smoothing attribute should have an impact on the result of operations on the real geometry.
The whole concept of smoothing groups is only supported by some SubD-Modellers at all - even large players like Maya don't
know that concept.
Then again there may be groups of users, who don't ever output to Game style ultra low res geometry where I guess this sort of
control is most useful. I personally don't require this shading trickery at all and was far better served with a global smoothing angle.
Of course I would appreciate not having to deal with normal edges, smooth edges and hard edges ever. If this concept has no
advantage to the user one should be able to opt out. So that no edges of diverse types were ever automatically added to the model
and even had a chance to impact /control the outcome of geometry transformations.

  • No avatar
  • Posts: 976
  • Polygon
January 31, 2014, 03:00:14 pm
"P_Extrude_Shell's" thickness returns different results than the same thickness value passed to "Shell" tool.
Meaning:
Code: [Select]
1 with P_Extrude_Shell != 1 with ShellInstead it's:
Code: [Select]
1 with P_Extrude_Shell = 0.01 with Shell
« Last Edit: January 31, 2014, 03:38:06 pm by rubberDuck »

  • No avatar
  • Posts: 130
  • Spline
January 31, 2014, 04:09:23 pm
Of course I would appreciate not having to deal with normal edges, smooth edges and hard edges ever. If this concept has no
advantage to the user one should be able to opt out. So that no edges of diverse types were ever automatically added to the model
and even had a chance to impact /control the outcome of geometry transformations.

This is where I'm at.  I rarely build models the for primary purpose of being rendered - practically everything I do is for 3d printing, so visual/shading tricks can mess me about more than they help, because I always need to see the geometry in its most literal (facetted, unless subdivided, or displayed with a global smoothing angle) form.  It would be beneficial to me if I could disable automatic assignment of smoothing groups.
« Last Edit: January 31, 2014, 04:12:27 pm by JTenebrous »

  • No avatar
  • Posts: 2103
  • Polygon
January 31, 2014, 04:12:26 pm
Hi rubberDuck,

I am not currently seeing that issue. (I cannot recreated the problem)

The only time I see a difference between input thickness of shell, to what thickness is actually placed on shell, is if the scale of the model is not 1x1x1.


  • No avatar
  • Posts: 976
  • Polygon
January 31, 2014, 05:00:07 pm
Strange. I can reproduce the problem on a newly created plane.
I'm using Jan 29a version.
« Last Edit: January 31, 2014, 05:01:44 pm by rubberDuck »

  • No avatar
  • Posts: 2103
  • Polygon
January 31, 2014, 05:09:30 pm
It would be beneficial to me if I could disable automatic assignment of smoothing groups.

The only time you will see automatic assignment of smoothing groups is on primitives.

From my limited understanding of how Nvil works (and if I am reading your post correctly), you would need an option for a model/mesh to only have and maintain the use of 1 smoothing group, and for any new geometry added to that model/mesh with tools/functions, would have that new geometry automatically placed in that single smooth group.

« Last Edit: January 31, 2014, 05:20:29 pm by steve »

  • No avatar
  • Posts: 2103
  • Polygon
January 31, 2014, 05:15:29 pm
Strange. I can reproduce the problem on a newly created plane.
I'm using Jan 29a version.

I cannot reproduce the issue even in jan_29a.

It may be due to your settings?

What is you scene_scale set to? (auto or pre-set value of ?).
Also what is you current unit setup? (Generic or specific value of ?)

  • No avatar
  • Posts: 976
  • Polygon
January 31, 2014, 06:19:11 pm
What is you scene_scale set to? (auto or pre-set value of ?).
Also what is you current unit setup? (Generic or specific value of ?)
Auto scene scale is ON, units are set to "100 as one metre".
I'll try again with auto scale OFF or even with clean settings.

  • No avatar
  • Posts: 2103
  • Polygon
January 31, 2014, 06:48:43 pm
units are set to "100 as one metre".

It appears to be an issue with unit settings.


  • No avatar
  • Posts: 130
  • Spline
January 31, 2014, 07:05:49 pm
It would be beneficial to me if I could disable automatic assignment of smoothing groups.

...you would need an option for a model/mesh to only have and maintain the use of 1 smoothing group, and for any new geometry added to that model/mesh with tools/functions, would have that new geometry automatically placed in that single smooth group.

Yeah, that sounds like it would do the trick.

  • No avatar
  • Posts: 976
  • Polygon
January 31, 2014, 07:36:11 pm
units are set to "100 as one metre".

It appears to be an issue with unit settings.
You're right. So is it a bug or user error?