Rounding complicated surfaces


jhl.verona

Recommended Posts

Having managed to design a box with a 'funny' lid, and rounded off the bottom, I'm now faced with trying to round off the top on the left and front. What is really needed is a tapering bezier curve (or spline line), and the extrude tool doesn't cut the mustard. Any ideas? Is there a nifty Ruby script in the wild?

(The box on the left is with the lid open, as you can see I have allowed enough 'virtual' wood for the rounding - just don't know how)

post-2037-0-08829100-1304034509_thumb.pn

TIA

John

Addendum: See this comment for the best result to date.

Link to comment
Share on other sites

Having managed to design a box with a 'funny' lid, and rounded off the bottom, I'm now faced with trying to round off the top on the left and front. What is really needed is a tapering bezier curve (or spline line), and the extrude tool doesn't cut the mustard. Any ideas? Is there a nifty Ruby script in the wild?

(The box on the left is with the lid open, as you can see I have allowed enough 'virtual' wood for the rounding - just don't know how)

post-2037-0-08829100-1304034509_thumb.pn

TIA

John

I will admit I'm a little fuzzy on what you are trying to accomplish, but that won't stop me from giving you an answer! :) It appears that you have modeled the lid and box as separate components (or groups) which is good. If you want to add a consistent roundover - like the one you would get from running a roundover bit ina router, here's the steps I would use.

1. Trace the edges you want to roundover with new lines OUTSIDE the component (or group). This will provide a path for the "follow-me" tool.

2. Create a face at one end of that path that matches the profile of the roundover you want. For instance, you might use a quarter circle of 1/2" diameter.

3. Use the follow-me tool to extrude the roundover along the path you created in step 1.

4. All of that was outside the component/group, so your next step is to get that new geometry inside the component. Select all the new "stuff" and either use the Intersect functionality (on the right click menu), OR copy then open up the component and <Edit>/<Paste in place>. Either way, you are trying to get all the new curves and lines into the original component.

5. Now working inside the component, erase all the extra junk you don't want. Work slowly and carefully to avoid erasing faces you want to keep, and use the X-Ray or Hidden lines view to look at the interior of your shape.

If you are trying to make a tapered roundover, say 1/2" at the first end and then fading to 1/4" at the other end, then that is a different beast altogether. Let us know.

Link to comment
Share on other sites

Hello Aaron, I was hoping you'd reply...

I will admit I'm a little fuzzy on what you are trying to accomplish, but that won't stop me from giving you an answer! :) It appears that you have modeled the lid and box as separate components (or groups) which is good. If you want to add a consistent roundover - like the one you would get from running a roundover bit ina router, here's the steps I would use.

Hmm, explaining the problem well is half way towards a solution. Glad my poor description didn't stop you, though. I'll go through the steps that I've used so far, and perhaps a light bulb will go on - it's so dark here, I'm drawing by feel alone!

Yes I've finally understood that components are "a good thing"TM - even if you only use one instance of it.

1. Trace the edges you want to roundover with new lines OUTSIDE the component (or group). This will provide a path for the "follow-me" tool.

2. Create a face at one end of that path that matches the profile of the roundover you want. For instance, you might use a quarter circle of 1/2" diameter.

3. Use the follow-me tool to extrude the roundover along the path you created in step 1.

4. All of that was outside the component/group, so your next step is to get that new geometry inside the component. Select all the new "stuff" and either use the Intersect functionality (on the right click menu), OR copy then open up the component and <Edit>/<Paste in place>. Either way, you are trying to get all the new curves and lines into the original component.

5. Now working inside the component, erase all the extra junk you don't want. Work slowly and carefully to avoid erasing faces you want to keep, and use the X-Ray or Hidden lines view to look at the interior of your shape.

Well it looks like you have a simpler method here, with the cut and paste. Here's what I did:

1. Start with a flat panel. The blue lines will be moulded, the cursor is at my reference point (for overlaying the components):

post-2037-0-48541300-1304072387_thumb.pn

2. Then I round the corner with the push/pull tool after creating the radius from a quarter of a circle:

post-2037-0-75933500-1304072611_thumb.pn

3. Copy the component, explode it and erase until I have just the reference face, and extrusion path:

post-2037-0-09003500-1304072782_thumb.pn

4. Build the extrusion face - outside quarter of a circle (where the cursor is) and extrusion path (highlighted):

post-2037-0-45845300-1304072933_thumb.pn

5. Then I make a component of the extrusion - when in doubt, make a component:

post-2037-0-00667200-1304073009_thumb.pn

6. Then copy over the original component, intersect faces, explode both components (this is where your cut and paste seems faster to me), then start sanding erasing the unwanted lines:

post-2037-0-89224300-1304073315_thumb.pn

7. When done, make the result a component:

post-2037-0-04635700-1304073422_thumb.pn

I've attached the sketchup file, if anyone is interested: mouldings.skp - though it's just an exercise...

If you are trying to make a tapered roundover, say 1/2" at the first end and then fading to 1/4" at the other end, then that is a different beast altogether. Let us know.

That's more or less it - you've got it. I've attached a simplified version of the problem: mouldings-complex.skp

Here's the panel that I'm starting with (it's a sort of wedge):

post-2037-0-48330000-1304074977_thumb.pn

The first problem was to round the corner, extrude won't go to the end:

post-2037-0-60167700-1304075290_thumb.pn

The fix was to 'bore a hole' - extrude does that just fine, then intersect and sand (remove the extraneous lines):

post-2037-0-07570400-1304075310_thumb.pn

However, since the path is now in three planes, instead of two, the extrusion fails after rounding the corner. This time I'm extruding a bezier curve, to simulate a rasped edge.

All starts well - I added two vertical lines to reference the blue axis:

post-2037-0-87029200-1304077159_thumb.pn

but then fails on the other face, because it has not remained vertical after turning the corner:

post-2037-0-61699800-1304077240_thumb.pn

The reason is that practically everything is at a different angle. I could (and tried) extruding one side only, then the other side, which works, but then I'm left with matching the two ends around the rounded corner. Since they are different extrusion faces, and/or at different angles, I'd need some sort of 'meshing' tool, like the terrain modeller.

Once this little problem is fixed, then I'll need to consider the tapering problem...

All this may seem, uhm, well excessive I know, but I'd like to complete the curves, because I'm interested in using Kerkythea to produce renderings of the design. So the closer I am to the final shape, the better the rendering...

TIA

John

Link to comment
Share on other sites

Turns out to be more involved than I first thought - bet that never happens to you...

Not quite finished, but the most promising road seems to be the use of a couple of SketchUcation plugins (you've got to register to download them unfortunately);

1. Perpendicular face tools which simply 'glues a face perpendicular to a line

2. TIG's extrude tools in particular the Extrude Edges by Faces tool

So I placed the face at the start of one of the sloping lines, and a 50% reduced face at the other, the extrude tool gives me this result:

post-2037-0-70837100-1304121550_thumb.pn

Tomorrow I'll continue with the other side and the curved piece, then see if I get something reasonable...

John

Link to comment
Share on other sites

John, wow. This is a very challenging corner you have worked yourself into. I'm not familiar with the plugins you mentioned, but if they don't work let me describe how I would attack this with just basic SketchUp functions.

Just a quick recap for anybody that's reading along: The problem is that the 'Follow-me' tool works best following the edges of a 2D surface. Once you start trying to use it in 3D, you don't always get the results you want.

John, I think you were pretty close when you said you could make a separate "extrusion" for each side. This lets you control the orientation of your bezier curve to keep it vertical. The problem is that you are left with a very sharp corner. Taking it one step further, I would create a new extrusion for each segment of the corner's curve and slowly work my way around the corner. A 90 degree curve has (by default) 6 straight line segments in SketchUp, so you could work your way around one segment at a time, extruding that segment and then intersecting and cleaning up the corner. It's slow, but it's the only way I can think of right now to get the exact results you are seeking.

I will certainly be following this topic to see what you come up with! :)

Link to comment
Share on other sites

Hmm, why do I always find the hard problems? (Rhetorical question, thank you all rolleyes.gif)

John, wow. This is a very challenging corner you have worked yourself into. I'm not familiar with the plugins you mentioned, but if they don't work let me describe how I would attack this with just basic SketchUp functions.

Challenging, yes, you could say that - like going 10 rounds with Mike Tyson is challenging.

Just a quick recap for anybody that's reading along: The problem is that the 'Follow-me' tool works best following the edges of a 2D surface. Once you start trying to use it in 3D, you don't always get the results you want.

After much experimenting, I'll leave Follow Me to 2D problems, and even then angles cause problems...

John, I think you were pretty close when you said you could make a separate "extrusion" for each side. This lets you control the orientation of your bezier curve to keep it vertical. The problem is that you are left with a very sharp corner. Taking it one step further, I would create a new extrusion for each segment of the corner's curve and slowly work my way around the corner. A 90 degree curve has (by default) 6 straight line segments in SketchUp, so you could work your way around one segment at a time, extruding that segment and then intersecting and cleaning up the corner. It's slow, but it's the only way I can think of right now to get the exact results you are seeking.

I will certainly be following this topic to see what you come up with! :)

Well I tried Follow Me, but it orients the bezier on a slope, and you need scale and move to get the tapering. Not good, too many steps, too much room for error.

So firstly, some links to information and plugins (I didn't use the perpendicular face tools in the end):

An excellent reference page: Tips and tricks - Sketchup Sage an amazing list of lists, woodworking too.

The weld plugin: http://www.cad-addic...ugins-weld.html

The bezier curve plugin: http://sketchup.goog...ubyscripts.html

So I had a think about the problem and broke it down into simpler elements - as Aaron suggested.

In my example there are two problems:

Adding a roundover to the two straight edges on the side and front, tapering them if possible.

Adding a roundover to the curved corner.

To begin with I took a copy of the orignal shape, and set out lines to break the edges into three pieces:

post-2037-0-07162200-1304272675_thumb.pn

Which I then broke up into three components, called side, front and corner - imaginative, no?:

post-2037-0-22780000-1304272708_thumb.pn

To get the tapered roundover, I used two beziers and the TIG extrude edges by faces tool:

post-2037-0-65842200-1304273168_thumb.pn

There are some tricks needed here...

1. RTFM, or the Ruby source code, actually the comments. Straight lines need to be divided (in 2 segments) and then welded, otherwise game over. I think 'welding' just converts a series of contiguous lines into an entity.

2. Copy the ending bezier into the start bezier of the next component, so the curves match perfectly.

3. Sometimes the plugin gets confused, and twists the roundover - delete the bezier and redraw it - don't forget to copy the new bezier to the next component.

To make sure it all worked, I ran the script, then undid the roundover (Ctrl Z) ensuring all three components did 'the rght thing'.

post-2037-0-91575400-1304273093_thumb.pn

So far, so good. Now for the tricky bit - the black mush in the centre of the photo. The corner roundover worked - ish. It took a bit of cleaning up, and there are still some 'abberations':

post-2037-0-82524400-1304273821_thumb.pn

Anyway, to cut a long story short (I won't tell you how many different ways I tried to do this), here's the result:

post-2037-0-59389100-1304273913_thumb.pn

Good enough for me - hope Kerkythea will be happy with it...

John

Post Scriptum: I forgot that you can hide lines, so...

post-2037-0-41407800-1304275690_thumb.pn

Link to comment
Share on other sites

Well, I wasn't quite satisfied with the last technique, and today I bumped into Curviloft by Fredo6 - fantastic!

So apart from Bezier, the only plugins I used were:

Curviloft and Libfredo6 (which is required by Curviloft).

This time round I prepared the 'cut' lines for the roundovers before hand in the complex panel component, copied it, exploded it and added the bezier curves:

post-2037-0-86938800-1304368491_thumb.pn

To get the side and front roundovers, I used the Spline curves (the face icon), and set 'junction by connected lines' - this is important because it is the only selection that creates the roundover without aberrations (probably floating point rounding errors). It's really fast, just click on each edge, then click the green arrow - done:

post-2037-0-85048800-1304368777_thumb.pn

The curved corner is almost as simple. I used Given path and set 'Stretch between contours' - again this gives the least aberrations. There is still some minor work to do, filling the holes, but this takes much less time than previous methods:

post-2037-0-95818900-1304368977_thumb.pn

The top 'hole' fills when you add a line (which I then deleted), the bottom hole was filled with triangles - there is some error here, but nothing is perfect.

To merge the two components, I first removed the 'square' sections from the panel - this makes the merge painless:

post-2037-0-89887500-1304369129_thumb.pn

The final result:

post-2037-0-73905300-1304369161_thumb.pn

John

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Who's Online   3 Members, 0 Anonymous, 58 Guests (See full list)

  • Forum Statistics

    31.2k
    Total Topics
    422.2k
    Total Posts
  • Member Statistics

    23,783
    Total Members
    3,644
    Most Online
    walo47
    Newest Member
    walo47
    Joined