Making  a Chainwheel / pulley         
(page modified Oct 2nd '04 for Intersect notes)

main page

Making a chainwheel / pulley

No, not the type for a bike - although a similar technique could be used - but more the type of thing used as part of a simple lifting device with 'standard' chain links etc.
Although there's many ways of making chain links - I've included a couple for starters - just for the hell of it (and new arrivals to wings)

Intersect Plugin influence:

With the arrival onto the Wings scene of the Intersect plugin (details here) some of the workflow used here can be considerably improved in many respects.
The 21-25 sequence used below, for finding the centre around which to rotate dupes etc obviously has limitations - using the Intersect tool to find the centre is a great benefit:

It'll work for any number of teeth - and you still don't need to know angles between chain links.
It's precise - ideal for wedges / mirroring situations.
Chain Link #1
1). Create a cube, Scale -> X -> 50%. Select all vertical edges (select one, press G), Apply Edge | Connect (press C) and then apply Edge | LoopCut to get the situation shown. (I have loopcut set up on Cntrl X as a hotkey)
2). Connect and LoopCut the edges on the upper part as shown (same method as in (1)), so you now have 2 cubes of side 1WU and a bit twice as long.
3). Select the face shown and apply Face | Extrude Normal -> Zero (I hold shift to constrain) - after this you have a zero thickness extrusion.
4). Apply Face | Rotate (use RMB option to define a rotate axis and select the lower edge as shown.
5). Drag the face around (opening up the extrusion in the process) until you get to the required angle - I stopped at 45 deg (using shift to constrain to 15 deg steps) - keep the end face shown selected.
6). Apply Face | Mirror and then separate the (unwanted) end cube by selecting its edgeloop (select one edge, press L), then Edge | Loopcut.
7). We now have a quarter of a link (plus some unwanted bits). Select the unwanted pieces (as shown) and delete them. Select one end face of the link and apply Face | Mirror (to get half a link).
8). Select one (only) end face of this half link and mirror again. Whilst the result 'looks' ok - it's not - select the whole object and apply Object | Weld. Wings then displays selected verts around the face(s) that have been welded. (for more info re bridging / welding, please see the B/W page here)
Chain Link #2
9). Create an 8 sided cylinder (L click on small option box next to cylinder in primitives and enter 8). Select both end faces (select one, press I for Select | Similar)
10). Apply Face | Inset -> 50 % (could also use Face | Intrude, but you'd get a slightly different result) and then apply Face | Bridge to 'punch' a hole through the cylinder.
11). Select the whole cylinder and apply Object | Scale Y -> 50%.
12). Select 2 edgeloops as shown (or on Z axis) and apply Edge | Bevel -> Zero (constrain with shift)
13). Select the loop as shown (one edge + L) then press F twice
14). The result after (13) - I use the method described to ensure that the selection 'spreads' upto the side of the (zero) bevelled edgeloops - but doesn't encroach into 'no mans land'. Use whatever technique you prefer (if you don't like this) - so long as none of the zero width faces created by the bevel op are selected, then it'll be ok :)
15). Face | Move -> Z -> 2 WU and deselect to get this result.

(If you're asking yourself why I didn't start with a torus - I wanted a square section (link) for the following exercise and the (4 slice) torus primitive produces a shape with the section rotated through 45 deg - which I didn't want - using 8 slices and dissolving alternate edges etc + cleanup is messier anyway - imo) 

Making the chainwheel.

To my way of thinking, there are two approaches to this:
Make the links first, and get them to fit together in the way you want them to - then make a chainwheel to fit - or the opposite way round……
Make the wheel first and then make / adjust links to fit the wheel.

I chose the first route.
55). Select all the faces on one side and apply Face | Extrude Region -> Normal (or X) and drag to form the base of the retaining flange - anything will do for this - maybe a bit less than the chain thickness?
56). After the extrusion op in (55).
57). Select all the faces formed by this extrusion - select an axial edge between faces, press G (select edgering), press F.
58). Apply Face | Extrude -> Normal - enough to stop the 'flat' links from 'sliding about' Since the last few ops have been on one side only of the wheel, select the wheel centreline edgeloop, loopcut and delete the unwanted bit - then mirror to get a new 'whole'.
59). Select centre vert (both sides) and apply Vert | Bevel as desired to form the outer diameter of a hub.
60). Face | Extrude -> Normal then Face | Inset and finally Face | Bridge (or could use Face | Intrude in place of the last 2 ops)
61). Finished basic object.

There's a fair bit more to do to this basic shape to stop it 'going blobby' when smoothed - and to minimise (unwanted / excess) geometry in various areas.
I'm not going to go into details with the former - except to say that I added additional geometry to 'hold' the corner shapes etc - rather than using the 'hard edges' option - but that's upto you.
I also ended up adding more geometry to take the shape a bit further - see below :)
16). Select the link previously made, dupe it on the spot (Object | Duplicate -> MMB) (I have Object | Duplicate -> Free on hotkey Cntrl V 'paste' - so I just press this and constrain with shift - since I also have all move XYZ ops - for all modes - on 3 'prime' keys - I therefore also have easy access to Duplicate XYZ :)  )
Rotate Z -> 90 deg the dupe (constrain with shift)
17). Select the (horizontal) dupe and Move -> Z by the 'appropriate amount' (with these sizes I used 3.85 WU) - however, I arrived at this distance by smoothing the links and some messing around :)
18). Smooth (twice, here) the links and adjust them until happy with the 'fit' you want - then use this dimension in the Move -> Z mentioned in (17).
(If you think I've got 17 / 18 round the wrong way - you're probably right - but, there you go :) )
19). With the links unsmoothed back to basic cages, select the horizontal one and apply Object | Rotate -> X (RMB option and select the edgeloop shown to define axis origin) and rotate the horiz link 15 deg (use shift to constrain)
(I used 15 deg because the intention is to make a chainwheel with 24 links …..360 deg / 24 = 15 deg ……..doesn't have to be this, of course :) )
20). Shows rotated link.
21). Make another dupe of the horizontal link (or make 2 dupes at (16) etc) move this to the other end of the (middle) link (3.85 WU again) and rotate it in a similar manner as in (19 / 20) - but the opposite direction, of course, by 15 deg.
Select the 2 faces as shown. (This is the start of a 'construction' to find the centre of the chainwheel.)
22). Apply Face | Bridge to these 2 selected faces, select the underside face and apply Face | Lift - LMB option - and select the edge shown as the 'hinge' axis.
23). Rotate the face to 60 deg (constrain with shift) so that you produce an equilateral triangle as shown.
24). Apply Face | Lift again on the same face, but select the lower apex edge (as shown) for the hinge axis.
25). Drag the selected face around by 150 deg (use shift to constrain, eyeball info readout) - the lowest vert of this new (thin, isosceles) triangle lies on the wheel axis and is therefore extremely useful.
Select this vert and apply Tools | Save as Bounding box. (even if you've got the show Saved BB option activated (very useful imo) - nothing will show around a vert as it's too small in standard view mode)
26). Create a 24 section cylinder by clicking on the option box next to the cylinder primitive and Object | Rotate -> Z -> 90 deg. Select the end face.
27). Apply Tools | Move to Saved BBox -> Y. The cylinder will then move so's its axis is aligned with the vert selected in (25).
28). LoopCut off the triangular 'jig' and hide / delete it - it's no longer needed. (or you could have duped the whole 3 link arrangement and used this dupe rig to find the centre, then dumped everything once the cyl. had been BB moved.)
Create a few more links and rotate them into position - not necessary but might give a better idea of things. (Dupe the 3 original links on the spot then Object | Rotate -> X (RMB option using end face of 24 sided cylinder to define axis origin)
29). Select the cylinder and apply Object | Scale -> Radial X. Drag to required position so the circle periphery has just a bit of clearance with the underside of a (vertically aligned) chain link - or whatever - if you're making something different.
30). Close-up of what's happening in (29).
31). With whole cyl still selected, apply Object | Scale -> X. Drag so that the X dimension (length) of the cylinder is just a bit bigger than a chain link thickness. (the gaps between vertical lines here)
(Could also have selected cyl end faces and used Face | Move -> Normal.)
32). Situation after the Scale X op in (31)
33). Select alternate axial edges on the cylinder - those in line with links as per the one shown here.
34). Tumble / arrange the model so you're viewing one of these edges through a relevant link - and try to get it roughly centralised - view Ortho.
35). Apply Edge | Bevel and drag until you get something similar to that shown - ie the 'land' is a little smaller than the gap between links..
36). Situation after (35)
37). Apply Face | Extrude -> Normal. Drag until satisfied, select all extrusion edges (select one edge, press I - select similar) and apply Edge | Connect
38). Select the side edges at the base of the extrusion(s) and apply Edge | Scale -> Radial -> X until you get something 'acceptable' :)
(If really keen, could do a smooth to check stuff out etc)
39). Select all the cylinder end faces except for the 'tooth tips' (use I again)
40). Apply Face | Extrude Region -> Normal and drag so that the faces just 'clear' the sides of the links as shown.
41). Close-up of the situation in (40).
42). General view of what things should be starting to look like :)
43). Select the 3 edges shown and apply Edge | Dissolve - now have a single face that can be 'messed around with' in any manner of different ways.
44). To form the start of a side 'flange' (or whatever :) ), select the 4 verts as shown and apply Vert | Connect.
45). New geometry formed to 'fill in' the gap.
46). Select the 2 new edges, apply Edge | Connect, press V (for vert mode), select the other 2 'middle' verts and use Vert | connect again to complete the loop shown.
47). Select all edges as shown to 'outline' a 15 deg wedge across the model - this wedge will encompass all of the necessary geometry to form a complete wheel, using mirror / weld etc. (It is not necessary to do this - you can work on the complete model if you prefer - but if you want to keep model complexity down during modelling and you want to add more stuff - it's an option worth considering imo.)
48). Apply Edge | Loopcut to separate the wedge from the rest of the wheel (delete the rest) and select and connect the 2 verts shown at the wedge 'tip'.
49). To form the smallest wedge possible, select the edges across the object and connect them. Keep the resultant edgeloop and apply Edge | Loopcut.
50). Final 'minimum geometry' wedge - very useful - imo - if you want to email / post a complex symmetrical model to someone and minimise d/l - as well as not having to duplicate modelling operations.
51). General view after mirroring the wedge to (re)form a complete shape. (don't forget to dissolve edges formed on mirror faces prior to the next mirror op - if unsure about the geometry integrity of the model at this stage, do a trial smooth - this will immediately highlight any problems.)
52). Need to 'circularise' or 'true up' things. Select the edgeloop shown (on the corner)
53). Press V to convert to verts and apply Vert | Deform -> Inflate -> LMB option (in this case, where stuff is symmetrical). Drag to 100% (constrain with shift)
54). Deselect outer verts and repeat the Inflate op on the inner ring of associated verts.
(Do not try to Inflate both rows of verts at the same time in one op - Inflate re-organises verts onto a spherical surface and will distort the 2 planes (in this case) that the 2 sets of verts lie on - doing it in 2 separate ops keeps the verts on their own plane - try it anyway and see what happens :) )
It should be noted that the method used here (steps 21 - 25) is not a general purpose method capable of coping with all angles.
Depending on the number of teeth required on the chainwheel (and the accuracy required) there are other methods available for finding the centre - I may add further details at a later date about these.

Whilst all the necessary information is present on the model and a very basic (simple) piece of trigonometry will allow the centre to be calculated for a wheel with any number of teeth - I also accept that not everyone is 'happy' with a maths based approach :)

In this case, a better option would probably be to make the wheel first - after 'dialling in' the appropriate number of sections (and let wings do the maths) in the cylinder primitive input box - and then make / construct / fit / align etc the links to fit the teeth - ie Option #2 mentioned right at the start of this tut