Is there any way to run irregular 3D objects up an arc



Inner Arch and Trough.skp (405.8 KB)
I want to run a track up the inside of an arc. I have the arc (thanks to the Sketchup community for your help with that!), but it seems the follow me tool is only good for extruding 2D profiles up an arc. The track is irregular because it has “teeth” at regular intervals (well, I probably should do the track segment better too. What is a better way to do that or is it even necessary? I want to be as efficient as possible of course, both for time and quality sake).
The main thing it to run the track from one end to the other on each of the slightly raised segments on the outer inside edges of the track.
Any suggestions?


It looks as though you want to make a ‘cog railway’ shape along the arch.

If you make one set of teeth as a component, the same length as one segment of the arc, then use a radial array around the arc (Use Rotate tool with copy option, and rotate about arc centre point), you should get the result I think you want.

Is that your intention?

PS. If the required size of each tooth won’t make a whole number of teeth the same length as the arc segment, change the number of segments in the arc until it does fit. Or change the size of each tooth.


It is a cog railway, but a segment in this arc would be about 12’ which is too much. More like 1" teeth, I think, with and inch in between. This is not precise, because I’m uisng a downloaded cog, but close enough, I think.


Then make the set of teeth along a curve that matches one arc segment.

Though why you have such a huge arc, then want to model tiny teeth, I’m not sure. You’ll get an awful lot of them!

Would a texture do instead for viewing the whole arch? And if you need constructional details, perhaps model one 12’ arc segment more precisely, on its own? That segment could have the (almost a straight line) arc subdivided as necessary to show the curve of the arc as well as the teeth.


John raises a good point. The tremendous contrast between the large arch and small teeth means that at one extreme of zoom you will be able to see the teeth but not the arch, and at the other extreme you won’t be able to see the teeth! It seems that when looking up close at the teeth you could work with a much smaller segment of the arch, and when looking at the entire arch you could get away with a texture (and might not even need that) because the teeth will be too small to see.


True, but the cog train (really, an elevator/tram) is visible if you zoom in, so I kind of have to lay out the tracks too. Dealing with a 1,300 foot span arch is not easy, but it’s part of an even bigger structure, and the location requires such size. Is there a way to efficiently plant hundreds of teeth on the track?


The most efficient way is to use multiple instances of a single component. But your model is likely to be sluggish to orbit and pan anyway due to excessive complexity.


Well, if you have to, make each tooth a component drawn as simply as possible. Combine as many as you need into another component the length of one large arc segment. Copy that component around the arc.

You can’t see the teeth when you view the arch, and vice-versa. And (I think) you won’t need to allow other users to zoom all the way between the two zoom levels.

So you could also create one scene of the whole arch where you hide the teeth (and perhaps unhide a textured replacement or omit them altogether); and have another scene zoomed in on one or a few arc segments WITH teeth. You would then only need teeth for the arc segments visible in this scene.

If you add teeth everywhere, you will cripple SU with a zillion edges and faces, most of them less than one pixel in size when zoomed out.


Do you think the track segment I sent is a simple enough version (I guess I could take out some lines between the teeth and the rail, or maybe just make the rail 2D since I built-in the rail into my arch now anyway.)


It depends what uses you need to make of the model. Not at my computer at the moment, so can’t comment in detail but from memory it looked fairly simple.

But how many times will you copy it? Think of the edge and face count you’ll get.


Yes, I’m tired of the tedious part of all this and want to move onto the creative part. Maybe I will just do a few rails where the Trelevator (Tram + Elevator) is and get back to the rest when I’m bored with the rest of it.


Maybe even make separate models - one where you see what you need to in general of the whole arch, and another to illustrate in more detail just the Tram, and a short section of track.

And have only a simplified tiny tram for the whole-arch model.

By ‘tiny’ I mean modelled remembering that you’ll only see it in the ‘whole arch’ views as a tiny part of the whole view. But still modelled full scale


I’m sorry i cannot see your example - my fault - i’m still on SU 2015 (did not want to deal with compatibility problems mid-project). But the topic of a cog railroad grabbed my attention. Please see my web site at

The video you see on the web site has several sketchUp animations (with custom animating code). They likewise are large models having fine detail. I did them by creating detailed components and then instantiating them over the larger areas. All my models are produced by Ruby generating code, rather than by manual editor work. I have developed a “RubErector” framework as the basis for this. Its not yet ready for publishing, but you might try a similar approach.

Likely your base rail could be a 2D profile that gets extruded (followme) along an arc to produce a segment (eg. 20 ft) of rail. Then a single tooth component could be created, and instantiated at appropriate intervals along that rail. Then the whole assembly is converted to a component, and instantiated along the larger path.

I hope this at least gave you an approach to solve the problem.


The multiple cog component in your model has some model mis-match issues including axises mis -aligned, wrong size bwteeen two two mating geo. etc. you need to correct before we proceed further. Will have some time to work on model 26 after you correct. In stead of using the follow me tool want to consider the use of the component stringer but it may leave too much space at the slope points. Do not make whole changes yet just get what you have to show a clean model. I have used that in past for tank treads that turned out ok but not perfect


Test Elevator Component.skp (168.9 KB)

Assuming I was to start over, what is the “component stringer”? I can make a component a small amount up the side of the arc. Then (maybe) I can lay a curved track inside each of the 4 corners. But I also need to cut out most of the central faces, leaving just the “beams” but I can’t use PushPull on curved surfaces (though I think there is a downloadable extension that does that) so that precludes that solution for the inner and outer surfaces of the component (see attached). I would have to create a thin-sliced - in height on the blue axis - component with track and then repeat it all the way around to lay my cog track and surrounding component the full 180 degrees around the arc.

The scale and dimensions of the attached .skp are all wrong, but I wanted to work on a smaller scale just to get the fundamentals down before scaling up to my 1300’ arc.



  1. Component stringer is a plugin that will " string" components along sequence of edges. Think like stringing pearls or making a chain from a bunch of links. Chris Fuller has a video showing how it works. Just do a search in the extension ware house. For example you can use the rail and teeth component and use that to string up the model profile;
  2. When you are modeling do not hesitate to move the drawing axis, component axis or, even copy out small sections of model to help resolve issues as you show above but what you are doing has lots me. Push pull will work only normal to face; the follow me tool by profection of the face normal to the profile along tha total segment You should spend time to watch some of the help videos in this area think it would help you a lots. Axis control is giving you major problems.!
  3. This attached file is my first crude proof of concept attempt to use the component stringer . I counted only 172 times that rail/ tooth component needs to be copied along the path and that will be done in a fraction of a second. I did have to spend quite some time to fix many errors in the model. If you try this approach you will have to copy out the arc and rail /tooth comonent . That’s the three sections shown off to leftInner Arch and Trough_15.skp (327.9 KB)


Your profile curve has too many segments if you are trying a radial array. You will have some geo intersecting with others. You probably want about 20 segs in curve vs the 172 presently. Some time more is not better.Test Elevator Component_mac1.skp (198.9 KB)


Arch lattice and teeth.skp (459.0 KB)
OK, I downloaded Component Stringer and installed it. I drew an arc and then placed my track segment (probably too long) alongside it on the inside of the lattice work.
However, when I tried to use the component stringer, it rotated the track segments 90 degrees sideways all the way around the arc. I tried all the options, which produced different results, but none of them were end-to-end track layouts 180 degrees around the arc. I even tried laying a track segment on the other side of the main arc, but no luck.
Sorry (again) to be so dense, but how can I make this work? It does seem like a MUCH easier way to do things, and potentially MUCH cleaner, but the track needs to be laid end-to-end.


you really need to investigate and master the basic tools before you can get the complex extension like “Component Stringer” to be of any use to your workflow…

it relies on very careful placement of accurate component axis on well made components to work…

clean geometry is clean geometry, and on a simple arch array, CS offers no benefit over an axial array of the same component…



Sure it does try using an axial array around a tank tread which is not a fixed profile. Use the axial array on the example Chris shows , it will stretch the component , rotate which radial array will not.
Like many things you cannot think you can allow any program to do thinking for you. The main problem I usually have is geometry collision. That is where one dimension of a component is large enough it collides with its self when going around a relative small arc.