0
$\begingroup$

I want to create a curve that shrinkwraps to the mesh but the curve has a start and endpoint defined using vertex groups. The curve has to also be able to array in the mesh but it will not spill out of the boundary.

Green boxed vertices is StartPoint.
Blue boxed vertices is EndPoint.

Image 1: The Yellow is the Curve and the starting point of the Curve.

enter image description here

Image 2: The curve is arrayed but is limited by the mesh. Higher numbers will work but the curves will be squeezed in order to fit the mesh.

enter image description here

I have tried what I know and failed to create this in geonodes.

enter image description here

Edit 1: It seems there are some misunderstanding due to my bad explanation. I will provide further explanation

Let's say there is this plane. In the plane, I will select a row of vertices and mark it as a vertex group named Start, and select another row of vertices then mark it as a vertex group named End. This vertex group will determine the starting and ending point of the "Yellow" curve.

Now, I have to make the vertex group "Start" as a curve so it can be divided procedurally using [subdiv node]. So, I used a [mesh to curve] node, plugged the geometry in, plug the vertex selection in to the "selection" socket on the node, and expected it to turn the row of vertices in to a curve. It didn't because it also included the the neighboring vertices which isn't even marked as a vertex group. I'm stuck with that problem since it's the same as the "End" group.

Here is an image of the problem: enter image description here

node

Edit 2: I'm now able to connect the curve on the start and end point but I need to make it the same with the other points. Doing it manually wont work since new points will be added procedurally using subdivision.

enter image description here node

Blend file: https://filebin.net/pb8q7sjrb9nk55qo/kami.blend

$\endgroup$
4
  • $\begingroup$ i dont know how this is even going to work with out snapping the ends $\endgroup$
    – Saiyuo
    Jul 21, 2022 at 8:06
  • $\begingroup$ Could you please clarify why you show a uniform mesh here, and then suddenly want to connect vertices that do not have a uniform structure? It is hard to answer your question until it is clearly stated. Please share your blend file with us. $\endgroup$
    – quellenform
    Jul 30, 2022 at 8:20
  • $\begingroup$ @quellenform I put the file in the edit. It's pretty much what I had in mind but the only problem with it is conforming it. The solution I used is glitchy. $\endgroup$
    – Saiyuo
    Aug 2, 2022 at 2:56
  • $\begingroup$ Please be more specific about your problem or provide additional details to show exactly what you need. The way it's written now, it's hard to see exactly what you're asking for. Thank you! $\endgroup$
    – quellenform
    Oct 2, 2022 at 9:41

1 Answer 1

2
$\begingroup$

After working through your question, the following question emerges:

How can I convert the vertex group "Start/End" into a curve?

The answer is easily given:

You would just have to filter out the geometry to be converted into curves before applying Mesh to Curve:

enter image description here

Mesh to Curve interprets the selection not in terms of Points, but in terms of Faces. But if you separate the points beforehand, you will get the result you are looking for.

There is another possibility, where you first apply the node Capture Attribute to the domain points: Scaling only the selected vertex group in geometry nodes

...whatever you mean by "array" is not clear to me, however, because according to your image, the individual parts are not identical. But that is another unsolved question.


But since I already gave this answer before you specified your question, and I think this answer is just nice, I'll leave it anyway:

Here is a 100% procedural solution to your issue:

enter image description here

The issue with "Vertex Groups" is honestly not clear to me though.

I think you should be able to get along here also completely without Vertex Groups.

Here I create the mesh with two curves.

I create the two crossbars from the profile curve by resampling them to two points, extruding their vertices and extruding a square profile along those new curves.

I create the individual struts by resampling the curve along which the objects are to be instantiated.

$\endgroup$
7
  • $\begingroup$ the curve does seems to fit(squeeze) when array. but making the plane procedural isn't my intention. the plane is to act like some sort of lattice since the curves is going to stick in it. My skills in explanation is bad, sorry. $\endgroup$
    – Saiyuo
    Jul 22, 2022 at 1:52
  • $\begingroup$ I made an edit of the post $\endgroup$
    – Saiyuo
    Jul 22, 2022 at 2:13
  • $\begingroup$ I forgot the named attribute node existed... $\endgroup$
    – Saiyuo
    Jul 22, 2022 at 12:36
  • $\begingroup$ im trying to figure out how to get the position of the vertex or points $\endgroup$
    – Saiyuo
    Jul 22, 2022 at 13:09
  • $\begingroup$ @SaiKei Just subdivide these curves with Resample Curve and then get the positions with the node Position. $\endgroup$
    – quellenform
    Jul 22, 2022 at 13:34

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .