SolidWork help- Modeling Rear Triangle

I am working to advance my skills and accurately model the rear end of a bike so I can create bending dies and check for caliper clearance with dropped seat stays.

This is my FIRST complicated assembly in solid works and I am struggling with it

What I have done so far-
1-Made BB shell and Mated to Origin
2-Made Thru axle and created a Plane 72MM above Top Plane and a Plate 325 behind Front Plane. Mated Axle to that location
3-Imported Left Dropout and Insert from Paragon and mated- I cannot figure out how to make a sliding relationship though…
4-Modeld Seat tube and Chain Stay

Now where I need Help!
1-How do I give the Drop out “Tilt”? I want it to be more similar to the angle of the Chain stay and I want a slight BB drop adjust for when I change from Road to Light Gravel modes.

2- How do you get the Seat Stays to intersect Seat Tube and Dropouts???

Any help is greatly appreciated. I have been watching hours of YouTube and this project is beyond what I am learning there.

You picked the hardest dropout to do a design with! A few pointers:

All CAD packages are the same.

SW and F360 workflows are basically the same, just different buttons. I would watch the bike-specific F360 video I made ([Video Tutorial] Drawing a real mountain bike in fusion360) and focus on the workflow and ignore the buttons for guidance

Start with a base sketch

Rather than making reference planes relative to the origin, I think you should have a base sketch, and create your planes and your mates based on that. Below is one of the first two steps I do: draw a base geo sketch and mate the dropout to the sketch:

Design with the slider slammed forward.

In order to keep things simple, I would treat the dropout as a fixed dropout in the shortest position. The sliding dropout would change the BB drop, which will change every angle on the bike and your CAD will explode.

Virtual vs Actual Chainstays

What makes DR1005 so complicated, is that the actual chainstay (physical tubes) is offset from the virtual chainstay (imaginary plane that connects the axle center to the BB center). You will need two planes, one to locate the dropout correctly, and the other to draw your CS centerlines!

Clockign the Dropout + Hanger Spec

That DR1005 needs to be manually clocked (tilted) to look good. However, You need to be careful that your hanger is still clocked within spec. The tolerance is approximately +/-3.5deg.

From page 30 of the SRAM frame fit specifications:


I had written off your tutorial due to the software differences. So far I have been able to follow along with my very limited knowledge.

One big difference is how lines start and stop in SW. They create a Coincident relationship at intersections and your drawing will be over dimensioned. Not a big deal but took a minute to realize.

I will update with progress and if I can build this bike, I will move on to mine.

1 Like

Virtual vs. Actual chainstay is not unique to these dropouts, builders have been dealing with this since the first safety bike was designed. It’s just that in a CAD format, a designer needs to fully address it. It used to be that a builder would put the dropout and BB in the frame jig, and cut a stay to fit. The idea that there’s an alternate to the chainstay just cut rarely occurred to anyone in the analog world; this is normal frame construction.

Below is the same as DR1005, except the axle centerline is below the chainstay:


The take away is don’t get spooked by Virtual vs. Actual, we’ve been doing it all along.


Hi Brad,
I use SW almost daily and have designed a fair few frames.
When it comes to the lines in the base sketch, you have to make sure to first draw the basic shape without assigning any dimensions. Once you have your wireframe sketch like in @Daniel_Y 's screenshot, you can start assigning the driving dimensions.

I’ll fire up my workstation and return with a few screenshots.


Here’s how I start my frame designs.

I’ve got a part file with my base sketch and a bunch of reference planes that I use as a template. For each new frame design, I’ll place this part in a new assembly (or you can duplicate it and model your frame as a multibody part file).
This way I don’t have to re-create the base sketch or the basic reference planes for each new frame I design.

My template file consists of a few separate sketches.

Sketch #1
The horizon line (front plane). I prefer to have a visual cue for the imaginary line through the front and rear axle, so I create a single construction line on the front plane. This line is set to have a horizontal relation and it’s coincident with the origin. It’s also long enough to extend past the wheelbase of the frame.

Sketch #2
The frame geo (front plane). The basic “double diamond” frame shape plus the fork axis line and offset.
The black dimensions in the screenshot are the “driving” dimensions and the grey ones are “driven” - i.e. they are a result of the relationship between the driving dimensions. The driven dimensions can change - for example, if I were to design a custom frame, the HT length would not be driving, and I’d probably make the “stack” driving instead.

Sketch #3:
Tube offsets (front plane). These are the actual centerlines of the tubes. For example, you may not want the DT to meet the BB exactly in the middle and instead have it slightly offset. And for seatstays and chainstays this is the difference between virtual vs. actual chainstays as well as virtual and actual seatstay.

Sketch #4:
Dropout spacing (top plane). I find it useful to also have a visual cue for the centerline of the rear axle, so I make a line with a midpoint constraint to the junction point where the virtual CS and SS lines meet. I can then use this line to create the inside plane for the driveside and non driveside dropout.

Once these sketches are created, I make the reference planes I find useful. Have a think about how you want to construct your model and create planes accordingly. I’ve honed my method of modeling frames over the course of several years and it’s been a long process of trial and error and constant refinement.

In the below screenshot you’ll see the basic set of planes I use. Inevitably I will create more during the course of the design process.

Hopefully this helps you get started.
I’ll keep an eye on this thread and chime in if I feel I have something useful to add.



Thank you! I think this maybe a better way for SW. I am working through the Fusion 360 tutorial but I am stuck at time stamp 16:28. He uses the Combine feature to trim the TT using the HT. In SW the combine feature is greyed out. I suspect that has to do with how I have made my sketches. If I am understanding the Combine Tool correctly, the parts have to be in the same sketch. Am I missing something obvious?

Also, will you show what you are referencing for the planes- TT_Plane, DT_Plane and SS_Plane? I am having a hard time creating planes due to required references?


Here is an example of what I am struggling with creating planes. In Fusion he creates a CS Plane at angle and rotates 90 degrees.

When I try to make the CS plane it is either Y Axis or X Axis. I cannot get it to lay in the Z direction.

This is what tutorial has.

This is where I am stuck.

1 Like

Wow, that is really good progress.

It has been a while since I have used SW, but I think you need to select the CS line and a plane to create the CS plane. SW needs a plane reference to know the angle (even if it’s zero degrees).

This might help:
Creating Reference Planes in SOLIDWORKS: Offset, Angle, Mid, & Cylindrical Surface | GoEngineer.

1 Like

I think I figured it out but would like @JMY input if there is a better way. It looks like I can do a degree of offset if I reference an existing plane.

You’re definitely making progress and you’ve figured out the plane creation. As you’ve noticed, you have to assign a second reference to create a plane from a sketch line. A plane needs at least 2 references to be fully defined, unless you’re creating a parallel offset plane from an existing plane or surface.

As for trimming geometry, tubes for example, here’s where SW and Fusion diverge a bit. As Daniel mentioned earlier, the CAD packages all have the same basic functionality more or less, but the buttons and function names may differ.
In SW the feature you want to use is not called “Combine” - the most similar function is called “Split”.

I haven’t worked at all in Fusion so I’m not sure how it works there, but in SW you have to differentiate between modeling as a part, or in an assembly.

When modeling in a part file, whenever you make solid geometry that intersects, the geometry will merge by default, creating a single solid body. If this is not what you want, you have to manually uncheck the box “Merge result” in the tool sidebar so you end up with separate solid bodies that you can edit separately. These bodies can later be merged if you so wish.

If you’re instead modeling as an assembly, all the parts will remain separate and you can not merge them into one solid. In order to, for example, trim a down tube to create a miter to say a BB shell, you will have to first either import or create the geometry. You know how to do this already.
To create the cut in the DT you will have to right click on the part in the feature tree and select “Edit part”. This will allow you to edit that part on the part level, but in the context of the assembly.


There will be a couple of ways to achieve the cut. You could for example create a sketch on the BB face and do a simple extruded cut (through all, or up to next), or you can make the sketch on the front plane and do the extruded cut with the option “through all - both” selected. Another way would be to offset the surface of the BB shell using the “offset surface” tool, set the offset distance to zero, which will mean that the surface is copied rather than offset.
Then you use that copied surface to split the down tube and during the split operation you can assign which part of the down tube is “consumed” during the split.
Note that after this operation, your part file for the down tube will contain one surface body (the offset BB surface) and a solid body (the remaining part of the DT).

The surface split option is handy if you want to trim geometry to a more complex shape, such as a tapered head tube for example. But if it’s just a straight cut you’re probably better off just going for a simple extruded cut.

One thing to note is that if you’re modeling in an assembly and you edit an imported part file, that part file itself will be modified. The modification does not just happen at the assembly level. So unless you want the original part to be modified you will have to embed the part file in the assembly by making it virtual. That creates a copy of the part inside the assembly and that part will no longer be linked to the original part.


That is great information. I did not know that bit.

I am not able to figure out split. I think it is because I would not have checked “Merge Result”. It is fine for this drawing because I just drew a circle and made a cut.

Onto the next problem… Mirroring.

I selected the Chain stay and Mirrored on the Front Plane. It Gives a “Only Merging features maybe patterned” error. Is Mirror the proper command for this situation?

1 Like

You can go back and edit the feature via teh feature tree and untick “merge result” if that’s what you want.

For the mirroring, you want to mirror the body, not the feature.

1 Like

One more thing about mirroring - I wait until I’ve fully modeled one of the stays.
That way the mirrored side will be 100% complete as well.

1 Like

I think it would not let me Mirror because they were not attached to the body.

Now I am onto 32 minutes in and I think this maybe where Fusion and SW diverge. Should I create an assembly at this point or can I import the dropouts into the part sketch?


That’s right.
When mirroring features, they have to be attached to the body.
So if a feature is not attached and is creating its own body, you’re better off mirroring it as a body.

Think about how you would build a frame in real life.
You’d never have the seat stays attached to the seat tube, but not the dropouts. And chainstays hanging in the air won’t really work either.

My approach is that I set up all the reference points first, then make my model based on that.

So that’s headtube, BB (and yoke if using one) seat tube, and the dropouts. Then I model the rest of the frame using those fixed references.


Jumping in late here, but on all of my frames I start with an assembly file and make my base sketch there. Each tube/dropout/boss is an individual part file that gets inserted and has relations&mates to other parts of the assembly. This way you don’t have to deal with merging bodies and when it comes time to make fabrication drawings you can quickly make them for each tube, it’s a real PITA to make a drawing of each body.

A huge timesaver is to set up equations in your base sketch that drive the base geometry, it’s very similar to fusion but makes the model closer to bikecad in terms of fast adjustment without hunting for a dimension. If you’d like I can send you an assembly file so you can see the workflow. You’re making fast progress nice work!

1 Like

I would love to see that workflow!

In my brain individual parts make sense because it is how a bike is actually built.

1 Like

Interesting. The big difference in Fusion is that the line between a body, component, and assembly is blurred. This is both good and bad.

When you create the tubes, do you miter them to length in the individual file? Or are you able to edit it in the SW assembly? Or do you break the link to the tube, and edit it in the SW assembly? none of the above?

1 Like

Haha bad for me being familiar with Solidworks but I see the advantage with keeping things simple.

What I do is create each of the tubes as they are sold with the uncut length and butts or bends where applicable. Then when I bring them into the assembly I make the miters. In Solidworks you can edit the individual parts of the assembly in context of the assembly file, so the miter sketches are all dependent on the other tubes. You can still edit all the tubes individually, or with reference to the parent assembly. Hopefully this explains it well enough?