Procedurally select and grow polygon selection, groups in Houdini
Procedurally select and grow polygon selection, groups
grow or shrink polygons selection:
with group expand node
add group node for a poly selection name it: start add group expand node group name: set some base group: start steps: set some
manually
shift - G to grow it shift - S to shrink it
with bounding box:
add a group node below some geo and check display flag (group type: points) keep in bounding regions -> check enable bounding type: bounding sphere then move sphere/box in viewport for poly selection
with normal direction:
keep by normals -> check enable direction: 0 1 0 (to select all upwards points normals) spread angle: 60
bevel procedurally afterwards
(create the group) add poly bevel node group: someGroup exclusion: check ignore flat edges
select top most points
add group expression node VEXpression: @P.y>=getbbox_max(0).y-.01
select bottom most points
add group expression node VEXpression: @P.y<=getbbox_min(0).y+0.01
all points below a certain height
add group node group type: points check base group -> enable base group: @P.y<=0.1 (to select all bottom points)
excluding/inverting a group
group: !group1 (or use group invert node)
selecting patterns
add group expression node group type: points VEXpression -> click dropdown to select
select only the edges, for bevel
add group node group type: edges uncheck base group check include by edges min angle: 20
select only edge points
(add fuse and facet node, if organic geometry) add group node group name: border uncheck base group check include by edges -> enable check unshared edges
select every other element (loops, edge selection)
add some test geo spiral circle (with 12 devisions!) sweep add group range node group type: points range filter -> select: 12 of 12 * 3 (or 1 of 6 for cut along the spline) add group promote node convert from: points to edges group name: select the grouprange group new name: set something check include only elements on the boundary
select half of a grid procedurally
add grid rows: 11 columns: 11 add sort node, primitive sort: by X add group range node range filter -> select: nprims(0)/2 of nprims(0)
group combine
(to combine group-A and group-B) add group combine node group name: group-new Equals group-A Union (Or) With group-A Union (Or) With group-B
select only triangles
add group expression node VEXpression -> dropdown -> triangles @numvtx==3
select only quads
add group expression node VEXpression -> dropdown -> triangles @numvtx==4
select only corner points (of grid)
add grid node add measure node element type: points measure: curvature gaussian add group node group type: points base group: @curvature>.1
select rows or columns (of grid)
add grid node, defauls add sort node primitive sort: by X add attribute wrangle node run over: primitives VEXpression: i@prim_id = @primnum; //row of 9 prims: primnum modulo 9 i@prim_row = @primnum%9; //select every nth row, example for 4th row: if (@prim_row%4==0) { //@Cd = {0,1,0}; i@row4th = 1; } to visualize: crtl + middle mouse click on node -> check prim-row add group node base group: @row4th=1
or a quicker way:
use group range node group type: primitives range filter -> select: 9 of 9 * 4