Skip to content

Instantly share code, notes, and snippets.

@patmandenver
Created April 9, 2022 17:06
Show Gist options
  • Save patmandenver/8f125a12c8d100113af490c65681e769 to your computer and use it in GitHub Desktop.
Save patmandenver/8f125a12c8d100113af490c65681e769 to your computer and use it in GitHub Desktop.
//
// Created by Patrick Bailey iQless.com :)
//
///////////////////////////////////////////
$fn=200;
extrude = 30;
thickness = 5;
monitor_height = 12;
monitor_depth = 3;
top_length = 65;
support_angle = 55; //45
support_length = 60; //60
gopro_width = 24;
gopro_support_height=12;
gopromount(extrude, thickness, monitor_height, monitor_depth, top_length, support_angle, support_length, gopro_width, gopro_support_height);
module gopromount(extrude, thickness, monitor_height, monitor_depth, top_length, support_angle, support_length, gopro_width, gopro_support_height){
color("blue"){
linear_extrude(extrude){
support(thickness, monitor_height, monitor_depth,
top_length, support_angle, support_length);
}
}
color("red"){
linear_extrude(extrude){
gopro_holder(thickness, top_length, gopro_width, gopro_support_height);
}
}
}
module gopro_holder(thickness, top_length, gopro_width, gopro_support_height){
hull(){
translate([top_length - gopro_width - thickness,0,0]){
circle(d=thickness);
translate([0,gopro_support_height + thickness/2,0]){
circle(d=thickness);
}
}
}
hull(){
translate([top_length,0,0]){
circle(d=thickness);
}
translate([top_length,gopro_support_height + thickness/2,0]){
circle(d=thickness);
}
}
}
module support(thickness, monitor_height, monitor_depth, top_length, support_angle, support_length){
hull(){
circle(d=thickness);
translate([0,-monitor_height-thickness,0]){
circle(d=thickness);
}
}
hull(){
translate([0,-monitor_height-thickness,0]){
circle(d=thickness);
translate([monitor_depth,0,0]){
circle(d=thickness);
}
}
}
hull(){
circle(d=thickness);
translate([top_length,0,0]){
circle(d=thickness);
}
}
hull(){
translate([top_length,0,0]){
circle(d=thickness);
translate([-cos(support_angle)*support_length,
-sin(support_angle)*support_length,0]){
circle(d=thickness);
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment