<commit_before>$fn=30;

module screw()
{
  translate([0,0,31.2])
    cylinder(r=8/2, h=4);
  cylinder(r=3.5/2, h=31.2);
}

module body()
{
  difference()
  {
    cube([20, 40, 40]);
    rotate([45,0,0])
      translate([-1, 0, 0])
        cube([20+2, 60, 30]);
  }
}

module screw_hole()
{
  translate([0,0,21])
    cylinder(r=(8+1)/2, h=5+10);
  cylinder(r=(3.5+0.5)/2, h=21);
}


module main()
{
  difference()
  {
    body();
    translate([20/2, 30, 0])
      screw_hole();
  }
}


main();
%translate([20/2, 30, -10+0.2])
  screw();
<commit_msg>support redesigned for 24.5mm screws, instead of 34.5mm ones<commit_after>$fn=30;

module screw()
{
  translate([0, 0, 20.5])
    cylinder(r=8/2, h=4);
  cylinder(r=3.5/2, h=24.5);
}

module body()
{
  difference()
  {
    cube([15, 25, 25]);
    rotate([45,0,0])
      translate([-1, 0, 0])
        cube([15+2, 40, 30]);
  }
}

module screw_hole()
{
  translate([0,0,20.5-10])
    cylinder(r=(8+1)/2, h=5+10);
  cylinder(r=(3.5+0.5)/2, h=20.5-10);
}


module main()
{
  difference()
  {
    body();
    translate([15/2, 17, 0])
      screw_hole();
  }
}


main();
%translate([15/2, 17, -10+0.5])
  screw();

{'fraction_non_alphanumeric': 0.2480553154710458, 'fraction_numerical': 0.12791702679343128, 'mean_word_length': 2.898989898989899, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3134951', 'n_tokens_mistral': 615, 'n_tokens_neox': 554, 'n_words': 92}