The suspension for the Maultier is the same as for the universal carrier which I designed many moons ago, here is the pic and scad code
***********************************************
module w2(){
//hub//
difference(){
translate ([0,0,0])cylinder($fa=1, $fs=0.5, h = 2.6, r = 5.5);
translate ([0,0,-1])cylinder($fa=1, $fs=0.5, h = 4.4, r = 1.25);}
//rim//
difference(){
translate ([0,0,0])cylinder($fa=1, $fs=0.5, h = 2.2, r = 14.5);
translate ([0,0,-1])cylinder($fa=1, $fs=0.5, h = 4, r = 13.5);}
//tyre//
difference(){
translate ([0,0,0])cylinder($fa=1, $fs=0.5, h = 2, r = 16.5);
translate ([0,0,-1])cylinder($fa=1, $fs=0.5, h = 4, r = 14);}
//spokes//
translate([3,-2,0]) cube ([13,4,1]);
rotate ([0,0,60])translate([3,-2,0]) cube ([13,4,1]);
rotate ([0,0,120])translate([3,-2,0]) cube ([13,4,1]);
rotate ([0,0,180])translate([3,-2,0]) cube ([13,4,1]);
rotate ([0,0,240])translate([3,-2,0]) cube ([13,4,1]);
rotate ([0,0,300])translate([3,-2,0]) cube ([13,4,1]);}
///////////////////////////////////////////////////////////////////////////
//swing arm
module SA(){
difference(){
translate ([0,0,-6])cylinder($fa=1, $fs=0.5, h = 12, r = 2.5);
translate ([0,0,-7])cylinder($fa=1, $fs=0.5, h = 13.5, r = 1.25);}
difference(){
translate([0,-2.5,3])cube ([21.5,5,3]);
translate ([0,0,2])cylinder($fa=1, $fs=0.5, h = 4.4, r = 1.25);}
difference(){
translate([0,-2.5,-6])cube ([21.5,5,3]);
translate ([0,0,-7])cylinder($fa=1, $fs=0.5, h = 4.4, r = 1.25);}
difference(){
translate([0,-2.5,-3])cube ([4,5,6]);
translate ([0,0,-3.5])cylinder($fa=1, $fs=0.5, h = 7, r = 1.25);}
difference(){
translate ([23,0,-8])cylinder($fa=1, $fs=0.5, h = 5, r = 2.5);
translate ([23,0,-9])cylinder($fa=1, $fs=0.5, h = 7, r = 1.25);}
difference(){
translate ([23,0,3])cylinder($fa=1, $fs=0.5, h = 5, r = 2.5);
translate ([23,0,2])cylinder($fa=1, $fs=0.5, h = 7, r = 1.25);}
translate([21,-2.5,3])cube ([1,2,3]);
translate([21.5,1.5,3])cube ([5,1,5]);
rotate ([0,0,39.5]) translate([17.25,-17.25,3])cube ([4,1,5]);
translate([26,1,3]) cylinder ($fa=1, $fs=0.5, h = 5, r = 1.5);
translate([21,-2.5,-6])cube ([1,2,3]);
translate([21.5,1.5,-8])cube ([5,1,5]);
rotate ([0,0,39.5]) translate([17.25,-17.25,-8])cube ([4,1,5]);
translate([26,1,-8]) cylinder ($fa=1, $fs=0.5, h = 5, r = 1.5);
translate ([25.5,5,-8])cylinder($fa=1, $fs=0.5, h = 1.5, r = 1.25);
translate([24.25,1.5,-8])cube ([2.5,3,1.5]);
translate ([25.5,5,-4.5])cylinder($fa=1, $fs=0.5, h = 1.5, r = 1.25);
translate([24.25,1.5,-4.5])cube ([2.5,3,1.5]);
translate ([25.5,5,6.5])cylinder($fa=1, $fs=0.5, h = 1.5, r = 1.25);
translate([24.25,1.5,6.5])cube ([2.5,3,1.5]);
translate ([25.5,5,3])cylinder($fa=1, $fs=0.5, h = 1.5, r = 1.25);
translate([24.25,1.5,3])cube ([2.5,3,1.5]);
//update for cup at end of swing arm
//difference (){ - warren what am I doing wrong this difference doesn't work
difference () {
translate ([23.15,5.25,5.5]) sphere (r=2,$fn=60);
translate ([22.6,5.35,5.5]) sphere (r=2,$fn=60);}
//rotate ([0,90,-10]) translate ([5.5,9.2,20])cylinder($fa=1, $fs=0.5, h = 6, r = 0.7);//}
difference (){
translate ([24.4,2.55,3.5]) cube ([1.25,3.5,4]);
translate ([22.6,5.35,5.5]) sphere (r=2,$fn=60);}
difference (){
translate ([23,5.25,-5.5]) sphere (r=2,$fn=60);
translate ([22.6,5.35,-5.5]) sphere (r=2,$fn=60);}
difference (){
translate ([24.4,2.55,-7.5]) cube ([1.25,3.5,4]);
translate ([22.6,5.35,-5.5]) sphere (r=2,$fn=60);}
//end of cup update
//hole in cup
//rotate ([0,90,-10]) translate ([5.5,9.2,20])cylinder($fa=1, $fs=0.5, h = 6, r = 0.7);
}
module idler(){
//hub//
difference(){
translate ([0,0,0])cylinder($fa=1, $fs=0.5, h = 2.6, r = 3);
translate ([0,0,-1])cylinder($fa=1, $fs=0.5, h = 4.4, r = 1.25);}
//rim//
difference(){
translate ([0,0,0])cylinder($fa=1, $fs=0.5, h = 2.2, r = 6.5);
translate ([0,0,-1])cylinder($fa=1, $fs=0.5, h = 4, r = 5.5);}
//tyre//
difference(){
translate ([0,0,0])cylinder($fa=1, $fs=0.5, h = 2, r = 7.5);
translate ([0,0,-1])cylinder($fa=1, $fs=0.5, h = 4, r =

;}
//wheel//
difference(){
translate ([0,0,0])cylinder($fa=1, $fs=0.5, h = 1.5, r = 6.5);
translate ([0,0,-1])cylinder($fa=1, $fs=0.5, h = 4.4, r = 1.25);}
}
module fsusp(){
difference(){
translate ([0,0,4])cylinder($fa=1, $fs=0.5, h = 2.5, r = 2.5);
translate ([0,0,2])cylinder($fa=1, $fs=0.5, h = 5, r = 1.25);}
difference(){
translate ([0,0,-6])cylinder($fa=1, $fs=0.5, h = 2.5, r = 2.5);
translate ([0,0,-7])cylinder($fa=1, $fs=0.5, h = 5, r = 1.25);}
difference(){
translate ([12,23,4])cylinder($fa=1, $fs=0.5, h = 2.5, r = 2.5);
translate ([12,23,2])cylinder($fa=1, $fs=0.5, h = 5, r = 1.25);}
difference(){
translate ([12,23,-6])cylinder($fa=1, $fs=0.5, h = 2.5, r = 2.5);
translate ([12,23,-7])cylinder($fa=1, $fs=0.5, h = 5, r = 1.25);}
rotate ([0,0,62])translate([1.3,-3,4])cube ([23.2,6,2.5]);
rotate ([0,0,62])translate([1.3,-3,-6])cube ([23.2,6,2.5]);
rotate ([0,0,53])translate([0,-2.75,-6])cube ([2,1,2.5]);
rotate ([0,0,53])translate([0,-2.75,4])cube ([2,1,2.5]);
rotate ([0,0,76])translate([0,1.5,4])cube ([2,1,2.5]);
rotate ([0,0,76])translate([0,1.5,-6])cube ([2,1,2.5]);
rotate ([0,0,80])translate([22,-10.4,4])cube ([2,1,2.5]);
rotate ([0,0,80])translate([22,-10.4,-6])cube ([2,1,2.5]);
rotate ([0,0,53])translate([23.5,5.75,4])cube ([2,1,2.5]);
rotate ([0,0,53])translate([23.5,5.75,-6])cube ([2,1,2.5]);
difference(){
translate ([20,7,-9])cylinder($fa=1, $fs=0.5, h = 18.5, r = 3.5);
translate ([20,7,-10])cylinder($fa=1, $fs=0.5, h = 22, r = 1.5);}
difference(){
translate ([27,5,7])cylinder($fa=1, $fs=0.5, h = 2.5, r = 2.5);
translate ([27,5,6])cylinder($fa=1, $fs=0.5, h = 5, r = 1.25);}
difference(){
translate ([27,5,-9])cylinder($fa=1, $fs=0.5, h = 2.5, r = 2.5);
translate ([27,5,-10])cylinder($fa=1, $fs=0.5, h = 5, r = 1.25);}
rotate ([0,0,-5]) translate ([21,5,-9]) cube ([4,4.5,2.5]);
rotate ([0,0,-20]) translate ([18,14,-9]) cube ([4,2,2.5]);
rotate ([0,0,-5]) translate ([21,5,7]) cube ([4,4.5,2.5]);
rotate ([0,0,-20]) translate ([18,14,7]) cube ([4,2,2.5]);
rotate ([0,0,-20]) translate ([3,10,-9]) cube ([11.5,6,5]);
rotate ([0,0,-20]) translate ([3,10,4.5]) cube ([11.5,6,5]);
rotate ([0,0,-20]) translate ([9,14.75,-9]) cube ([5.5,1.25,18]);
translate ([6.5,11,-9]) cylinder($fa=1, $fs=0.5, h = 5, r = 3.5);
translate ([6.5,11,4.5]) cylinder($fa=1, $fs=0.5, h = 5, r = 3.5);
rotate ([0,-14,62])translate([3.5,-3,3.5])cube ([9.5,6,3]);
rotate ([0,14,62])translate([3.5,-3,-6])cube ([9.5,6,3]);
difference (){
translate ([13,15,6]) sphere (r=2,$fn=60);
translate ([13.7,14.85,6]) sphere (r=2,$fn=60);}
difference (){
translate ([13,15,-6]) sphere (r=2,$fn=60);
translate ([13.7,14.85,-6]) sphere (r=2,$fn=60);}
difference (){
translate ([10.5,12,-8]) cube ([1.25,5,4]);
translate ([13.7,14.85,-6]) sphere (r=2,$fn=60);}
difference (){
translate ([10.5,12,4]) cube ([1.25,5,4]);
translate ([13.7,14.85,6]) sphere (r=2,$fn=60);}
}
translate ([27,5,0]) SA();
translate ([0,0,0])w2();
translate ([0,0,0]) fsusp();
translate ([12,23,0]) idler();
translate ([50.4,5,0])w2();
//
Apologies for the crudeness of the code, it was my first design. For the wheels you need to print 2 and glue them together.
Alwyn
