|Making 'curly cables' - one way without leaving wings.
|A requirement for a path extrusion facility for wings is something that gets aired every now and then – and if one should ever be implemented – would be a welcome addition :)
In the meantime, however, I decided to re-visit one particular scenario – making some sort of curly cable (like a phone / clothes iron cord).
What follows is just the absolute essentials of one way of tackling this beast – I’ll add comments etc after re improving the result. The technique is essentially the same as used for the ‘bevelled snake’ – elsewhere on this site.
Construct geometry that has an edge sequence describing the required result.
Bevel that edge sequence
Extract the faces produced
Extrude (region) the faces on the extracted object.
|1) First, we need a suitable object for the task. (I’ll deal with using a spring primitive in the comments, btw)
Use any way you’re comfortable with to make a cylinder with a single start helical spiral going round it for the required number of pitches. I’m going to make a single pitch, then duplicate it.
Create a suitable cyl, select all axial edges and Edge | Cut > N … where N is the same number as the number of sides on the cyl. (‘cos you want one complete spiral, no more, no less) . Press appropriate number key (I used 6) for this if < 10.
2) Connect up the relevant points to form a spiral edge sequence around the cyl – I used Tools | Connect, but do it any way you want. These views show the result, with the lower one being View > X, wireframe, ortho
3) Duplicate the ‘block’ the required No. of times – I used Move | Absolute.
4) Select all blocks and apply Object | Weld to create one object – selected verts indicate where welding (between faces in intimate contact with each other) has taken place.
5) Select both end faces and Extrude > Normal a little (1wu here). This is associated with keeping the final edge sequence ‘clean’ for bevelling.
6) Select all the ‘non-spiral’ edges associated with block joints etc and Dissolve. (select whole object and Object | Cleanup … or Clean Dissolve if using appropriate wings version)
We’ve now got the basic object that’s needed. I’ve only made 6 pitches for various reasons – keeping it simple, and size for strip pix.
7) Now for a simple bend. Select all verts and apply Bend | Plastic > LMB. Select vert shown to define ‘Rod Centre’ … the place (plane) where no bending takes place at all.
8) Select the vert immediately above (on same AES – Axial Edge Sequence – see Bend page for more details about this) to define ‘Rod Top’.
9) I also used the same vert to specify the Bend Normal – ie the vector pointing towards the centre of the bend (but acting thro’ Rod Centre position) – any vert along this AES would have done, btw.
10) Execute the Bend op and drag as required – in this case, only a few degrees – as I’d selected neighbouring verts for Rod Centre / Top. (angle readout, top left display is associated with the planes between these positions.)
Now got bent object – again, not much of a bend because I wanted to keep my pix narrow :)
|11) Select the spiral / helical edges.
12) Apply Edge > Bevel a small amount, such that the width of the newly created faces is less than the width of the (unselected) faces between them. This is IMPORTANT – you do NOT want to drag such that you get a result like that shown in (13). (see comments for why)
13) A result you DO NOT want to get – where the newly bevelled faces are wider than the gaps between them.
14) After dragging to something like (12), keep the faces selected and apply Face | Extract > Normal > 0 (don’t move mouse / hold shift). This shows the extracted faces after hiding the original object. Select one of the edges as shown and make a note of its length from the readout, top left.
15) Re-select the outer faces of the extraction (could have saved them at (12) and recalled now)
16) Apply Face | Extrude Region > Normal > w … where w is the same as the edge measured in (14) … extracting this same amount will create a spiral object with a square cross-section. (creating other cross-sections will be discussed later)
17) Select the single Face ‘inside’ the object (from (16) press +, then invert selection). This is the start of the ops to convert this mess and connect up the ‘innards’ of the object.
18) Convert this (single) face selection to verts by pressing V.
|19) A close-up of the situation shown in (18) – note where the verts are.
20) Apply Vert | Connect (press C) – edges have now been created between the selected verts on the inside of the spiral – where they’re needed. If you’d bevelled too much earlier on – and got a result as (13) then you’d now be down the proverbial creek without any paddles :) (try it and see)
21) The object is essentially now complete and could be used from this point on – but I thought it looked a bit ‘skinny’ so decided to fatten it up a bit. Select all cross-sectional edgeloops (L,G will be your friends here), including the ends and apply Scale | Uniform as desired. This will not alter anything except the diameter of the spiral cross-section.
22) Result after scaling (200% )
23) After a couple of smooths ( + adding extra edges around ends to hold shape)
24) Finished object.
Selecting all 4 corner edge sequences and bevelling them will form an octagonal cross-section. Using a factor of 1.465 x face width (on a true square) seems to give a fairly accurate regular octagon.
Forming a hexagonal cross-section is also fairly straightforward (Extrude Reg > 0.866 x face width, scale 200%, extrude same amount as before, scale 50%)
As I suspect most ppl won’t bother with this sort of stuff – bevelling the 4 corner edges and eyeballing the result will prob. be ok :)
Use your imagination for other more interesting cross-sections and use the properties of (espectially) Edge Scale > uniform to its best advantage.
Lopping ends off:
Since ends of stuff like this generally tend to get distorted upon smoothing – consider doing a longer spiral than needed and then lop off unneeded bits after.
Make good use of partial edge ring selections by selecting end edges only and pressing G. (very useful when modifying one aspect of the cross-section.
Just scale (along cyl. axis) that part of the basic start cyl before bending it. (Loopcutting sections, messing around with same, BBox moves and welding will probably be useful here)
Select all relevant cross-sectional edgeloops and Scale | Uniform.
Which bend op to use:
If doing a sequence of bends – probably one of the clamped ops. Work from one end, leaving a straight bit for the next bend, as if you were bending a bit of copper pipe in similar manner. (more complex example at top of page was done with Clamped Plastic in this 'sequential' manner.) If you don't like this method, use one you do / can get on with.
Why not use Spring primitive:
Two possible areas where using such would have been thought beneficial.
1) Use a spring primitive in the first place and bending it – thus avoiding all the hassle of the previous tut. Yes, you can do this, but as soon as you start bending the spring, you distort its cross-section. Try it and see - if you're happy with the results, do it this way - I wasn't.
2) Use a spring primitive and bend it, then use one of its spiral edge sequences as the master (reference) edge to bevel – as in the above tut. Yep, this’ll work, but you’ll be manipulating much more geom. than necessary (imo) + it’ll probably be more difficult to find / choose / select the appropriate datums for the various bend ops.
If I was going to be doing lots of this sort of stuff, I’d just make a few (different?) reference spiral cylinders as basic stock primitives to choose from etc.(Edit | Merge)
Keep stuff simple:
Self explanatory, I would have thought – mess around with just the essential basics :)
How do I edit it after making it? … I hear coming from the back of the hall … you don’t – unless you want mucho heartache.
If you’re not happy with this fact – fine – don’t use the technique:)
(you could lop off / loopcut a range of odds / ends etc and then weld as appropriate – but you’d already thought of this, I’m sure…)
(12 / 13) bevelling issue:
If you bevel too much - as per pic (13), you'll end up with a right mess - where you'll not be able to connect all the appropriate internal pairs of verts with a single Vert | Connect op.
Improving bevel results:
After bevelling (12) the edge lengths associated with the new face widths generally vary a little. Connecting all the edges to form a new centreline down the spiral and then bevelling this, generally produces new faces with more constant widths. (See 'Snakes' page for other mention of this)
|Workflow modification / suggestion (thanks to PC (Peter Chovanec))
At stage (12), with newly created faces as a result of the Edge | Bevel op. and still assuming going for an object with square cross-section.
Save the Face selection (Select | Store Selection) ... Ignore if just want to eyeball stuff (as in original tut)
Select an edge as shown in (14) and note its length (as before), deselect (spacebar) and press F for face selection mode. (gotta be in correct mode for recalling relevant previously stored selection)
Select | Recall Selection to get the original selection back.
Invert this selection (Select | Inverse ... Cntrl Shft I)
Face | Intrude > amount as previously measured.
As this approach constructs the spiral inwards, rather than outwards (as per original tut) there are some different issues to consider, depending on exactly what you're trying to make.
Will come back to this with more pix when time allows etc - but just wanted to mention this first.
As always, experiment :)