nortikin / sverchok

Sverchok
http://nortikin.github.io/sverchok/
GNU General Public License v3.0
2.25k stars 233 forks source link

Bending Hexa Grid and Surface Bending Conundrum #1924

Closed enzyme69 closed 6 years ago

enzyme69 commented 6 years ago

bend_hexa_error_001_2017_12_11_00_42.zip

Whenever I am using Hexa Grid and wanting to Extrude it, I always got a bit confusion. "Join" seems to fix it when I just simply want to extrude Hexa Grid.

screen shot 2017-12-11 at 11 43 22

However, Hexa Grid -> Bend Surface -> Extrude Region, once again puzzles me. It does not work. Wonder why?

Why can't "Mesh Join" simply combine Hexa Grid back?

Durman commented 6 years ago

Neha grid node has incorrect output. bend_hexa_error_001.zip 2017-12-11_06-54-13

enzyme69 commented 6 years ago

Ok, the list del 1,2, - 2,3, 0,3, etc sometimes confuses me :D But thanks!

DolphinDream commented 6 years ago

@Durman why do you say HexaGrid node has wrong output ?

For a non-vectorized input the output of the node is (e.g. for rectangular type Nx=2, Ny=1, or any layout type that has more than one tile):

v = (x,y,z)

tile1 = [v1, ..., v6]  
tile2 = [v1, ..., v6] 

and the combined tiles (not joined):

[tile1, tile2] -> [ [v1, ..., v6], [v1, ..., v6] ] 

while for vectorized input (e.g. input Nx = [1,2]) there are two grids, each one with its own set of tiles:

grid1: 1x1

[tile1] -> [ [v1, ..., v6] ]

grid2: 2x1

[tile1, tile2] -> [ [v1, ..., v6], [v1, ..., v6] ] 

and the combined output including both grids:

[grid1, grid2] = [ [tile1], [tile1, tile2] ] ->

[ [[v1, ..., v6]],  [[v1, ..., v6], [v1, ..., v6]] ]
enzyme69 commented 6 years ago

Maybe “wrong” in term of what required for that particular node? But cheers for this explanation! It helps also.

After years using Sverchok, seems like I still have to understand the levels of Vectorization. Matryoshka is a mystery. --


Durman commented 6 years ago

@DolphinDream Sorry, I supposed that structure of data from picture below is single true but maybe i am mistaken because I know for example UV connection node supports 3 level nested lists. Eitherway if press on join button data will be correct.

DolphinDream commented 6 years ago

@Durman Yeah. I see where the confusion may come from. The join option groups together the tiles of each grid into one VEP list, which is more in line with other nodes output.

nortikin commented 6 years ago

@DolphinDream in such cases optimal to use separate flag to make controllable behaviour hexa grid has join flag, but to be clear i propose vice versa - separate flag.

DolphinDream commented 6 years ago

@nortikin I agree. That probably makes more sense. It’s an easy change. What would be the best way to do this ? Do I need to create a new node MK1 ? or can I just change the default behavior ? Also, if I replace join with separate.. should the default be separate ON or OFF ?

nortikin commented 6 years ago

default always off. separate appears in insertion of node, so make mk1... sadly yes.