Advice for Toroidal Graph (connecting vertices along surface)

I am pretty new to Rhino and am having trouble figuring out how to connect each vertex on my toroidal graph. So far I have created a torus, divided into 5 sections, and added 5 bundles of vertices that each form an equilateral triangle. I have also done a boolean union on the objects. For each of my attempts at creating edges, which form around the torus, I keep failing and I am running into a wall as to how to accomplish this. Any advice would be greatly appreciated.

3DM File: TorodialGraph.3dm (207.3 KB)

Toroidal Graph Example:

The actual graph that will go on the torus:


Can you post your 3dm file and any reference images showing what you’d like the result to look like? I don’t see how the connection of the small spheres on the torus makes equilateral triangles. I’m also curious if you want the edges of the triangles to be lines or curves along the torus surface.

You may want to try the Paneling Tools plugin too. You should see the commands all beginning with “pt” in the Rhino for Mac WIP. Here’s a link to some documentation too on what the commands do. I think it may be what you’re after.
Paneling Tools for Rhino

Hey Brian,

Thank you very much for the response. I updated my post with the requested information. My apologies for not being clear with my initial question. I would just like advice on how to connect one vertex (small sphere) to another on the surface of the torus. I will be 3d printing this for a research group at the research math lab I work at (UW Seattle). I will definitely check out Paneling Tools for Rhino. If you have any questions please let me know!

Is this what you want?
Construction: ToroDC1.3dm (1.1 MB)
Piping added around graph curve and surfaces joined: ToroDC2.3dm (718.8 KB)

The curves on the torus were created using Helix with AroundCurve option. Do you need more details?

Hey David,

Thank you so much for the help. That is next to exactly what I want. That being said, please do not assume that I was expecting anyone to do work for me, I just wanted advice as to how to get there :). I will have to play around with what you did, we have a specific pattern from vertex to vertex that we need to maintain for our research. What I will do is work on what has been recommended to me and if I have further questions I will respond in this post. Again, thank you so much for your time and help!

Two other commands to use for connecting points on a surface are InterpCrvOnSrf, CurveOnSrf and ShortPath The first allow multiple points on the surface while ShortPath only allows two points. All result in different curves than Helix on a toridal surface. CurveOnSrf and ShortPath give the same result for two points while InterpCrvOnSrf differs from both.

1 Like

Another method is to use the command _InterpcrvOnSrf from point to point like the attached example.

TorodialGraphCrvOnSrf.3dm (195.1 KB)

Hey David,

A quick update: I used the InterpCrvOnSrf to get the pattern I wanted on the torus. One issue I keep running into is being able to properly cap off the edges so I can fillet them. My assumption as to why I am having problems is that I am not connecting it to the torus properly. I have tried welding them, union, etc. with no avail. When I do union them it creates a hole in the torus, which is not what (presumably) what I want.TorodialGraph.3dm (1.1 MB) Thank you for your time!

@Ski900 I looked at you file but don’t know what you want to do. Can you use some other words to describe what you want to do?

“Welding” is not a concept usually associated with surface modeling in Rhino. Have you gone through any of the Rhino tutorials? Do you have experience with other modeling or CAD software and are assuming that Rhino works about the same?

The curves on the torus could be easily created using ExtractIsocurve.

Unfortunately I have very little experience with 3D modeling software (just played around with Wings3D). I recently was hired on as a lab supervisor at a research math lab on U of Wa (I’m a student as well). All my experience is with SageMath which is python based. I have been going through tutorials as much as possible. It’s just a lot of stuff coming at me with limited amounts of time to complete it.

The extruded lines that I have running parallel to each other, I am just trying to cap them off and round the edges. I am trying to make it look like a “tube” is sitting on the surface. Here is a visual example of what I am trying to do. I’m just doing the loops on the torus in a different order.

I keep trying to connect my extruded curves I made from InterpCrvOnSrf, but because they cannot connect to the torus properly I am unable to cap them off and fillet the edges to give it the look as seen in the picture. Hopefully this helps explain things a little better. I definitely appreciate your time and advice.

Try creating a centerline for the tubes on the torus surface, then using the Pipe command to create a pipe around the centerlines with the desired diameter. If desired use Split to split the pipes with the torus.

Just wanted to say thanks again for your help. Here is the final product printed up!

1 Like