CAD Sync
The CAD sync pushes your bike's geometry and linkage pivot points into your CAD environment as named variables. Currently Onshape is supported via a Variable Studio.
Geometry Variables
Geometry values are synced per size. Each variable is named syn_<property>_s<size> where size starts at 1. For example, a bike with three sizes would create syn_reach_s1, syn_reach_s2, and syn_reach_s3.
| Variable | Description | Units |
|---|---|---|
syn_reach |
Reach | mm |
syn_stack |
Stack | mm |
syn_hta |
Head tube angle | deg |
syn_htl |
Head tube length | mm |
syn_fork_length |
Fork length (axle to crown) | mm |
syn_offset |
Fork offset (rake) | mm |
syn_lower_headset |
Lower headset stack height | mm |
syn_trail |
Trail | mm |
syn_htt |
Head tube top (virtual) | mm |
syn_fc |
Front center | mm |
syn_rc |
Rear center (chainstay length) | mm |
syn_cs |
Chainstay length | mm |
syn_wheelbase |
Wheelbase | mm |
syn_sta_eff |
Effective seat tube angle | deg |
syn_sta_act |
Actual seat tube angle | deg |
syn_stl |
Seat tube length | mm |
syn_nsh |
Nominal sag height | mm |
syn_insertion |
Seatpost insertion | mm |
syn_bb_drop |
Bottom bracket drop | mm |
syn_bb_height |
Bottom bracket height | mm |
syn_bb_offset |
Bottom bracket offset | mm |
syn_upper_headset |
Upper headset stack height | mm |
syn_stem_length |
Stem length | mm |
syn_stem_spacers |
Stem spacer stack | mm |
syn_stem_stack |
Stem stack height | mm |
syn_bar_height |
Bar height (rise) | mm |
syn_seated_fit |
Seated fit | mm |
Shock Variables
| Variable | Description | Units |
|---|---|---|
syn_shock_length |
Base shock eye-to-eye length | mm |
syn_shock_ext_length |
Shock extension length (e.g. trunnion offset) | mm |
syn_shock_compression |
Current shock compression (user-adjustable, default 0) | mm |
syn_total_shock_length_active |
Active total length (synced as shock length + extension length) | mm |
syn_shock_compression defaults to 0 mm and is intended to be adjusted by the user in the Variable Studio. syn_total_shock_length_active is set as a formula (#syn_shock_length + #syn_shock_ext_length - #syn_shock_compression) and updates automatically as you change the compression value.
Offset Variables
Two offset variables are provided to shift all linkage point coordinates into positive space. Linkage points can have negative coordinates relative to the bottom bracket, which does not work well with CAD length parameters.
| Variable | Default | Description |
|---|---|---|
syn_x_offset |
500 mm | Added to all point X values |
syn_y_offset |
100 mm | Added to all point Y values |
These offsets are baked into the point values — each point's X and Y coordinates have the offset pre-applied. If you need the original coordinate, subtract the offset from the synced value.
Linkage Point Variables
Linkage points are synced as syn_p<index>_x and syn_p<index>_y. All coordinates are relative to the bottom bracket origin, shifted by the offset values above.
| Index | Variable | Description |
|---|---|---|
| 0 | syn_p0_x, syn_p0_y |
Bottom bracket (BB) |
| 1 | syn_p1_x, syn_p1_y |
Rear wheel |
| 2 | syn_p2_x, syn_p2_y |
Shock mount 1 (frame end) |
| 3 | syn_p3_x, syn_p3_y |
Shock mount 2 (linkage end) |
| 4 | syn_p4_x, syn_p4_y |
Frame – Link 1 pivot |
| 5 | syn_p5_x, syn_p5_y |
Link 1 – Link 2 pivot |
| 6 | syn_p6_x, syn_p6_y |
Link 2 – Link 3 pivot |
| 7 | syn_p7_x, syn_p7_y |
Link 3 – Frame pivot |
| 8 | syn_p8_x, syn_p8_y |
Link 4 start |
| 9 | syn_p9_x, syn_p9_y |
Link 4 – Link 5 pivot |
| 10 | syn_p10_x, syn_p10_y |
Link 5 end |
| 11 | syn_p11_x, syn_p11_y |
Idler |
| 12 | syn_p12_x, syn_p12_y |
Brake mount pivot |
| 13 | syn_p13_x, syn_p13_y |
Brake arm end |
| 14 | syn_p14_x, syn_p14_y |
DAQ sensor 1 |
| 15 | syn_p15_x, syn_p15_y |
DAQ sensor 2 |
Common Linkage Configurations
Not all points are used in every linkage type:
- Single pivot (2-bar): Points 0, 1, 2, 3
- 4-bar: Points 0–7 plus shock mounts (2, 3)
- 6-bar: Points 0–10 plus shock mounts (2, 3)
Unused points will have a value of 0 (plus the offset).
Onshape Setup
When you trigger a sync, a Variable Studio named syn is created automatically in your Onshape document. The variables are immediately available for use in Part Studios and Assemblies.
To reference a variable in a dimension or feature, use the # prefix — for example #syn_reach_s1 or #syn_p4_x.