Multiple Vertex Groups per Model - revisited

I posted the topic Multiple Vertex Groups per Model but got pulled away from the conversation by other priorities. I was shown a tree by zeroskilz but am struggling to understand it. I have replied on that topic thread in hopes of bringing it to the forefront but have received no reply. So I would like to present my statement of ignorance and ask for help again.

Here is the simple tree that I have to put dots on this model. I finally have a decent grasp of how the vertex groups work and how to assign them but I would like to have three different vertex groups all on the model at the same time so I can export as stl. So far I can only select one vertex group at a time to show on the model.

  • I wonder if there is a node that allows all vertex groups to be applied at the same time?
  • I tried making a separate GN tree but it seems I can not use both trees at the same time?
  • To keep it simple for now, if possible using just one Dist on Faces Node is fine and I will try to use the same settings for all groups. If possible.
  • I see the use of a Collection Node in zeroskils tree but my Collection Node doesn’t look like zeroskilz as my Collection Node doesn’t have a Collection connection. I have no idea where a collection comes from or how to create one. I have been trying to find out but there is little information.

Here is the tree from zeroskils. I welcome other suggestions as to the simplest way you know. I might understand one way better than another though please have compassion on my ignorance.

Perhaps I’m misunderstanding your question but.

given an object with vertex groups already assigned.

vert grps 1

the selection input limits which faces points are distributed on.

vert grps 2

1 Like

Thanks,
It took me a while but I think I have a grasp of the vertex assignments. I can’t do it without thinking yet but I’m close.

Hmmmmm, sooooooo, The Named Attribute Node…?.. So as zeroskilz suggested I should abandon using the Selection to the Input from the Instance on Points? But let me stay with you here.

  • I’m confused. Where are your instances coming from? I mean, I have an Object Info Node for the Instance Geometry.
    • Where is the Instance on Points Node? Unnecessary? There are many ways of doing the same thing isn’t there?
  • So how would I plug this into my tree or would I make a whole new tree style? Where do I plug in the Named Attribute on my tree?

But, I can make vertex groups and assign them and adjust them through the Distribute on Faces (though not individually) by plugging Instance on points selection to group input, as you see in my tree. I would like to adjust them individually but lets keep it simple for now.
I repeat, I can make the vertex groups and assign them to get the dots where I want them BUT, I can only select one vertex group at a time so when I want to export the model for printing, all the dots are not on the model and I do not know how to export all the dots on the model. Maybe it would be like, in your example, you were able to select the Top and Bottom at the same time.

Summary:

  • I would like to be able to put dots on all vertex groups at the same time. To see how they line up and for exporting.
    I completely do not understand how you got all vertex groups showing when you disconnected the Selection. That is blowing my mind right now. But that is my goal.
  • I would like to be able to export the model for printing with all dots/instances attached.
  • I would like to be able to adjust the dots individually as I can currently using the DPoF Node. But, this is not necessary at this stage.
  • I would like to simply plug a node or two into my current tree to make it work. But If I have to start over I will. Just try to keep it simple on my old brain.

Thanks for your time and intelligence.

I may need a couple edits on this reply but I’ll try to go through things one at a time.

The example I showed only displayed the point distribution I actually did not include an instance on points node since I was more focused on showing how to access / use the vertex groups of your input object geometry as a selection.

To add instances connect an “instances on points” node after the “distribute points” node.

on your tree add the named attribute node like is shown on mine and connect to the “selection” input of the “distribute points” node.

The selection input acts as a boolean filter. (does a vertex belong to the input criteria (by default all inputs))

As in your example up top you will need to include the realize instances.

same distribute points on faces node used I just hid the unconnected inputs ( ctrl - h ).

selecting multiple vertex groups at once.

Because the selection input is using a boolean flag there can be multiple ways to achieve the same result.

Edit 1:

Don’t know what he said since the other thread isn’t linked in your original post, but if you limit your selection when distributing points it can save a little memory and cpu time before you instance on points. Also if you are using something like the poisson disk distribution you may want the points to be distributed as a group (top and mid sections in my example or all w/e) to avoid overlapping instances on 2 adjacent vertex groups.

1 Like

OK, ummmm. I think this is the simple solution I am looking for!

So the Boolean Math node is kinda like Logic Gates in a computer (if that is still a thing).?

It seems so easy I can’t believe it is going to work!

Now we can move on to the adjustment of individual Named Attributes.
I am trying to scale each Attribute with a Scale Node but I’m not figuring out how to connect it or is it not possible? How would I scale each Named Attribute?

I also wonder, about what we touched on with making each Attribute adjustable as is done in the DPoF node.

Your scale instances node has to be placed after the instances on points node. As a general rule the node tree operates from left to right. However, if you describe it from right to left.

  • before you can scale instances they have to be created

  • before you place instances on points points have to be distributed on your faces

  • before you can distribute points on faces you have to have a mesh with faces

Once placed you can again use the selection to define which instances are scaled.

vert grps scaling selection

WOW! I wasted two years using Freecad to do most everything. If I had just done everything in Blender I would be killin it right now!

So, I wasn’t talking about scaling the instances themselves but, I was wishing I didn’t have to bounce back and forth from Freecad adjusting the dot size! Now I can easily make the dot oval or taller or wider! Which is something I was wishing I could do! Thanks!

The scaling I was talking about is to scale the dots in the axis directions. I need to pull them into the mesh because not all of the bottom area of the dots actually sit on the mesh. It was also my previous method of adjusting the height of the dots. Part of the reason I need multiple Vertex Groups is because of this. If I adjust the tubular part of the instances/dots the curved upper part does not adjust in the same way. I already confirmed that I can make it work good with multiple vertex groups so here I am.
I don’t need the value node since I will want to use all directions of scale to manipulate the dots! I’m so excited right now! But that can change. LOL

So:

  • How do I scale the dots in respect to the Object or is it World?
    I will be trying to figure it out while I wait for you to give me the proper way.

I want to still learn how to adjust the Dist Points on Faces for individual Vertex Groups but if it’s alight with you I would like to take it one step at a time and get the scaling understood.

Sounds more like you need an offset than a scale but either node can be found in the instances menu.

instances menu

Translate

translate instances

Scale

scale instances

I could be wrong but I don’t think so.
What I mean is to lift the instance off of the model. So to be able to put space between the model and the instance or to embed the dots into the model (which is what I need to do). That is why the sides of my dots are flat. To give tolerance for them to be embedded.

I was doing it using the Object Properties on the right side menu but it now scales all the vertex groups whereas I want to Offset, as you say, the dots from the faces. But I need each Vertex Group to be scaled separately. The Trans Instances looks like it should work but I’m not getting it right yet.
UPDATE:
Yes The Trans Instances works great but now to figure out how to apply to individual vertex groups.

UPDATE:
Able to control the individual Vertex Groups with this tree but I’m trying to figure out what is going on here.
The original/baseline dots still remain. I’ve tried all kinds of combinations but can’t figure it out so far.

Here is what I came up with so far and it is working. For whatever reason the separate Vertex Groups made for the dots sitting flatter upon the faces and scaling both Vertex Groups axis the same is working just fine.

There may be an occasion in the future in which a Vertex Group will need to have it’s own Density but as far as I can tell using just the one DPoF Node seems to be working great too!

Thank You for your help in achieving a simple to understand tree. I think I am good for now but I would like to keep this tpoic active for a couple more days and I make some revision to my model.