Well, the nose is too long, and there are other problems with the hull,
but that's a visualisation that works.
This commit is contained in:
parent
3b90a2e4d5
commit
b95f639c30
|
@ -3,9 +3,9 @@
|
||||||
// (c) Simon Brooke 2025; CC-BY-SA
|
// (c) Simon Brooke 2025; CC-BY-SA
|
||||||
|
|
||||||
|
|
||||||
include <BentSim/Library/Bike_accessories.scad>
|
|
||||||
include <NACAAirfoils/files/Naca4.scad>
|
include <NACAAirfoils/files/Naca4.scad>
|
||||||
include <library/skew.scad>
|
include <library/skew.scad>
|
||||||
|
include <wheel.scad>
|
||||||
|
|
||||||
module fourbar_leg(length=1000, chord=100, long_skew=30, lat_skew=30) {
|
module fourbar_leg(length=1000, chord=100, long_skew=30, lat_skew=30) {
|
||||||
h = length * cos(lat_skew) * cos( long_skew);
|
h = length * cos(lat_skew) * cos( long_skew);
|
||||||
|
@ -47,8 +47,8 @@ module fourbar_axle_half( length, chord) {
|
||||||
|
|
||||||
// wheel
|
// wheel
|
||||||
translate([0, length + 50, -50])
|
translate([0, length + 50, -50])
|
||||||
// Pierre Rouzeau's wheel is beautifully modelled and parameterised, but it doesn't seem to be scaled as I'd expect...
|
rotate([270, 0, 0])
|
||||||
wheel(rim=451, spoke_nbr=32);
|
wheel(iso=451);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -64,4 +64,4 @@ module hull() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
hull();
|
//hull();
|
||||||
|
|
|
@ -2,18 +2,17 @@
|
||||||
|
|
||||||
// (c) Simon Brooke 2025; CC-BY-SA
|
// (c) Simon Brooke 2025; CC-BY-SA
|
||||||
|
|
||||||
|
|
||||||
include <BentSim/Library/Bike_accessories.scad>
|
|
||||||
include <SprocketGenerator2/files/Sprocket_Generator_v2_example_10.scad>
|
include <SprocketGenerator2/files/Sprocket_Generator_v2_example_10.scad>
|
||||||
|
|
||||||
|
include <wheel.scad>
|
||||||
include <chainset.scad>
|
include <chainset.scad>
|
||||||
include <epicyclic.scad>
|
include <epicyclic.scad>
|
||||||
|
|
||||||
module subframe_cycleparts(rim=451, chainring_teeth=82, crank=140) {
|
module subframe_cycleparts(rim=451, chainring_teeth=82, crank=140) {
|
||||||
// wheel
|
// wheel
|
||||||
translate([0, 382, 93])
|
translate([0, 382, 93])
|
||||||
rotate([0, 0, 90])
|
rotate([0, 90, 0])
|
||||||
wheel(rim=rim, spoke_nbr=0);
|
wheel(iso=rim);
|
||||||
|
|
||||||
translate([-42, 382, 93])
|
translate([-42, 382, 93])
|
||||||
rotate([0, 90, 0])
|
rotate([0, 90, 0])
|
||||||
|
|
|
@ -6,15 +6,17 @@
|
||||||
|
|
||||||
include <subframe.scad>
|
include <subframe.scad>
|
||||||
include <fourbar.scad>
|
include <fourbar.scad>
|
||||||
//include <hull.scad>
|
include <hull.scad>
|
||||||
|
|
||||||
rotate([0, 0, 270])
|
rotate([0, 0, 270])
|
||||||
translate([0, 1200, 180])
|
translate([0, 1200, 180])
|
||||||
subframe(structure="carbon");
|
subframe(structure="carbon");
|
||||||
translate([0,-50, 320])
|
translate([0, 0, 320])
|
||||||
fourbar(700, 100, 30, 35, 650);
|
fourbar(700, 100, 30, 35, 650);
|
||||||
|
|
||||||
//hull();
|
translate([500, 0, 100])
|
||||||
|
rotate([0, 3, 0])
|
||||||
|
hull();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
prop=0.1;
|
prop=0.1;
|
||||||
|
|
61
model/wheel.scad
Normal file
61
model/wheel.scad
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
// wheel.scad
|
||||||
|
|
||||||
|
// I don't actually need spoked wheels
|
||||||
|
|
||||||
|
|
||||||
|
// ISO standard numbers refer to the tyre bead diameter in
|
||||||
|
// millimetres; the outer diameter of the rim is about 14mm
|
||||||
|
// more. Rim width varies but 22mm is common. The wheel sizes
|
||||||
|
// I'm interested in are ISO 406 and ISO 451. Fronmt hubs (and
|
||||||
|
// the hubs I'm planning to use are all front hubs) typically
|
||||||
|
// have an over locknut dimension of 100mm, but the lefties,
|
||||||
|
// which I plan to use, are narrower: 50mm flange to flange, and
|
||||||
|
// 65mm overall (with a 5mm spacing to the inner side of the
|
||||||
|
// fork leg).
|
||||||
|
//
|
||||||
|
// Outer diameter over the inflated tyre is obviously larger than
|
||||||
|
// the rim diameter but how much larget depends on the tyre;
|
||||||
|
// for road tyres, 20mm seems about typical.
|
||||||
|
|
||||||
|
module wheel (iso=451) {
|
||||||
|
radius=(iso/2)+7;
|
||||||
|
|
||||||
|
// rim
|
||||||
|
color("grey")
|
||||||
|
difference() {
|
||||||
|
cylinder(h=22, r=radius, center=true);
|
||||||
|
translate([0,0, -11])
|
||||||
|
cylinder(h=26, r=(radius-10));
|
||||||
|
}
|
||||||
|
|
||||||
|
// carbon cones covering the spokes
|
||||||
|
color("black")
|
||||||
|
translate([0,0, 4])
|
||||||
|
cylinder(h=26.6, r1=radius, r2=22.5);
|
||||||
|
color("black")
|
||||||
|
mirror([0, 0, -1])
|
||||||
|
translate([0,0, 4])
|
||||||
|
cylinder(h=14.4, r1=radius, r2=29);
|
||||||
|
|
||||||
|
// tyre
|
||||||
|
color("black")
|
||||||
|
rotate_extrude(convexity = 10)
|
||||||
|
translate([radius +10, 0, 0])
|
||||||
|
circle(r = 12, $fn = 100);
|
||||||
|
|
||||||
|
// hub
|
||||||
|
color("grey")
|
||||||
|
translate([0, 0, -40])
|
||||||
|
cylinder(h=65, r=22.5);
|
||||||
|
|
||||||
|
// axle
|
||||||
|
color("silver") {
|
||||||
|
translate([0, 0, -45])
|
||||||
|
cylinder(h=70, r1=12.5, r2=7.5);
|
||||||
|
translate([0, 0, -85])
|
||||||
|
cylinder(h=40, r=12.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// wheel();
|
Loading…
Reference in a new issue