The correct way to rotate and array

So I just recently started using sketchup and im incredibly happy with how easy it is to use. I am however having a problem when creating arrays. I work for a company that makes driveshafts, and currently I am helping someone with a project and I am drawing up a spline yoke for him but when I do the array of teeth along the circle, its not creating a face for the teeth and Im wanting to know if you can help me. First off, when I create the teeth, I just create a hexagon and attach the points to the circle and delete the half thats in the circle. However I am finding that once I get one of the points of the hexagon along the circles edge, I cant rotate the polygon to get the adjacent point to attach to the edge without doing a copy rotate. if I dont do the copy rotate, it moves the entire polygon AND circle. Doing the copy of course causes me to have to delete more lines to get the ones that I want. Am I rotating wrong? I tried selecting the hexagon and doing it but it still rotates the circle with it. Once I finally got past all that and created an array of 24 teeth around the circle, I got the teeth with no faces and therefore couldnt push/pull them. When I select styles, check “edges” and do a “color by axis”, I notice some of the lines change to a different color which means they arent the same as the others, and I believe this is whats causing the lack of face. Am I creating the array wrong? Please help.I put the pictures on one canvas and labeled them by order.

Create the hexagon, make it a component, say ‘tooth’, and position the component on circle as you like. It wont stick or intersect with the circle. Raw geometry or geometry within the same context is sticky as you noticed.
You may want to explode the tooth when into position.
Or continue with the one component, having the advantage that changes in one reflect in all of them. You can always explode later, if needed.
Tracing an edge of a loop of coplanar edges restores a missing face. Copy-rotate edges plus face of one tooth.
Color by axis colors edges that are on one of the three axes. Some edges may be red or green or blue. The rest is black.

Looks like you’ve made your circle with more sides than the default 24?
If you keep it at 24 your hexagon will fit one segment, meaning the points will align correctly.
Here’s a quick demo.

6 Likes

I like the demo Box, and the way it was arrayed, but what if I were only doing 5 teeth along a circle. Is my array not working because the flats arent working with the # of “sides” on the circle?

I can’t fit your words with your picture. The words say 5 repeats and the picture shows 6!. If you try to do 5 repeats on a 24-segment “circle” you get something like this, where you can see that the edges of the teeth don’t meet the corners of the circle segments:

To get the copied teeth to sit cleanly on the “circle”, the number of teeth must divide the number of segments representing the circle. For example, if you want 5 teeth use 25 segments.

In your first example you didn’t need a circle at all, see @Box’s method.

In general you could start with a circle with m segments and one tooth to be copied n-1 times, resulting in n teeth.
m divided by n is an integer if you wish to keep things simple.
Example:

  • circle with 10 segments has either 5 or 10 teeth.
  • circle with 7 segments has … 7 teeth.

You could also start with just the drawn tooth. Rotate/copy it around the correct center (diam=?) over 360 degrees to superimpose the first one and then type /5 or /7 to get 5, resp. 7 teeth.
Then fill up the gaps with arcs, using the same center. Or do one arc and also rotate/copy it like the tooth, around the same center.

What was the shortcut used to create that array? Also why did the extra line have to be drawn at the end to make it a face?