Difference between revisions of "Broken Filament Detector"

From BITPlan Wiki
Jump to navigation Jump to search
Line 23: Line 23:
 
</gallery>
 
</gallery>
  
{{Jscad|code=
+
{{Jscad|title=Geeetech A10 Filament detector fix|code=
 
// title      : Geeetech A10 Filament detector fix
 
// title      : Geeetech A10 Filament detector fix
 
// author    : Wolfgang Fahl
 
// author    : Wolfgang Fahl

Revision as of 09:44, 18 June 2019

see facebook post

Issue

The filament detector connection broke off

BrokenFilamentSensorIMG 3088.JPG

Workaround

As a first workaround a cable binder is in place:

WorkaroundIMG 3102.JPG

Geeetech_20181031065911.jpg Geeetech Filament Detector Module

Improved workaround


Geeetech A10 Filament detector fix

The preview below currently only works for older JSCad code using the CSG syntax. See OpenJsCad Issue 448 <jscad>// title : Geeetech A10 Filament detector fix // author : Wolfgang Fahl // license : Apache License // revision : 0.0.1 // tags : Geeetech, A10 // file : FilamentDetectorFix/main.jscad


function fix() {

 l=21.4;
 w=7.85;
 h=3.5;
 rout=5;
 rin=2.5;
 hw=3;
 hl=6;
 hh=2.5;
 var parts=[];
 var holes=[];
 parts.push(cube({size:[w,l,h],center:true}).translate([0,0,h/2]));
 parts.push(cylinder({r: rout,h:h,center:true}).translate([0,l/2,h/2]));
 holes.push(cylinder({r: rin,h:h,center:true}).translate([0,l/2,h/2]));
 for (fx=-1;fx<=1;fx+=2) {
   holes.push(cube({size:[hw,hl,hh],center:true}).translate([fx*(hw+3)/2,(l-hl-rout)/2,(h+hh)/2]));
 }
 return difference(union(parts),union(holes));

}

function main() {

 return fix();

}</jscad>

Source code

Just cut&paste the source code below to https://www.openjscad.org/

// title      : Geeetech A10 Filament detector fix
// author     : Wolfgang Fahl
// license    : Apache License
// revision   : 0.0.1
// tags       : Geeetech, A10
// file       : FilamentDetectorFix/main.jscad


function fix() {
  l=21.4;
  w=7.85;
  h=3.5;
  rout=5;
  rin=2.5;

  hw=3;
  hl=6;
  hh=2.5;

  var parts=[];
  var holes=[];
  parts.push(cube({size:[w,l,h],center:true}).translate([0,0,h/2]));
  parts.push(cylinder({r: rout,h:h,center:true}).translate([0,l/2,h/2]));
  holes.push(cylinder({r: rin,h:h,center:true}).translate([0,l/2,h/2]));
  for (fx=-1;fx<=1;fx+=2) {
    holes.push(cube({size:[hw,hl,hh],center:true}).translate([fx*(hw+3)/2,(l-hl-rout)/2,(h+hh)/2]));
  }
  return difference(union(parts),union(holes));
}

function main() {
  return fix();
}