inital commit
This commit is contained in:
commit
6e14005163
290
bakje.ini
Normal file
290
bakje.ini
Normal file
@ -0,0 +1,290 @@
|
|||||||
|
# generated by PrusaSlicer 2.5.0 on 2023-02-14 at 12:47:01 UTC
|
||||||
|
avoid_crossing_perimeters = 0
|
||||||
|
avoid_crossing_perimeters_max_detour = 0
|
||||||
|
bed_custom_model =
|
||||||
|
bed_custom_texture =
|
||||||
|
bed_shape = 0x0,235x0,235x235,0x235
|
||||||
|
bed_temperature = 50
|
||||||
|
before_layer_gcode = ;BEFORE_LAYER_CHANGE\nG92 E0\n;[layer_z]\n\n
|
||||||
|
between_objects_gcode =
|
||||||
|
bottom_fill_pattern = monotonic
|
||||||
|
bottom_solid_layers = 3
|
||||||
|
bottom_solid_min_thickness = 0
|
||||||
|
bridge_acceleration = 0
|
||||||
|
bridge_angle = 0
|
||||||
|
bridge_fan_speed = 100
|
||||||
|
bridge_flow_ratio = 0.95
|
||||||
|
bridge_speed = 20
|
||||||
|
brim_separation = 0
|
||||||
|
brim_type = outer_only
|
||||||
|
brim_width = 0
|
||||||
|
clip_multipart_objects = 1
|
||||||
|
color_change_gcode = M600
|
||||||
|
colorprint_heights =
|
||||||
|
compatible_printers_condition_cummulative = printer_model=~/NEPTUNE2/;printer_notes=~/.*PRINTER_VENDOR_PS3D.*/
|
||||||
|
complete_objects = 0
|
||||||
|
cooling = 1
|
||||||
|
cooling_tube_length = 5
|
||||||
|
cooling_tube_retraction = 91.5
|
||||||
|
default_acceleration = 0
|
||||||
|
default_filament_profile = "Generic PLA @PS3D"
|
||||||
|
default_print_profile = 0.16mm OPTIMAL @PS3D
|
||||||
|
deretract_speed = 70
|
||||||
|
disable_fan_first_layers = 1
|
||||||
|
dont_support_bridges = 1
|
||||||
|
draft_shield = disabled
|
||||||
|
duplicate_distance = 6
|
||||||
|
elefant_foot_compensation = 0.1
|
||||||
|
end_filament_gcode = "; Filament-specific end gcode \n;END gcode for filament\n"
|
||||||
|
end_gcode = {if max_layer_z < max_print_height}G1 Z{z_offset+min(max_layer_z+2, max_print_height)} F600{endif} ; Move print head up\nG1 X5 Y170 F{travel_speed*60} ; present print\n{if max_layer_z < max_print_height-10}G1 Z{z_offset+min(max_layer_z+70, max_print_height-10)} F600{endif} ; Move print head further up\nM140 S0 ; turn off heatbed\nM104 S0 ; turn off temperature\nM107 ; turn off fan\nM84 X Y E ; disable motors
|
||||||
|
ensure_vertical_shell_thickness = 1
|
||||||
|
external_perimeter_extrusion_width = 0.65
|
||||||
|
external_perimeter_speed = 70
|
||||||
|
external_perimeters_first = 0
|
||||||
|
extra_loading_move = -2
|
||||||
|
extra_perimeters = 0
|
||||||
|
extruder_clearance_height = 25
|
||||||
|
extruder_clearance_radius = 45
|
||||||
|
extruder_colour = #FFFF00
|
||||||
|
extruder_offset = 0x0
|
||||||
|
extrusion_axis = E
|
||||||
|
extrusion_multiplier = 1
|
||||||
|
extrusion_width = 0.65
|
||||||
|
fan_always_on = 1
|
||||||
|
fan_below_layer_time = 100
|
||||||
|
filament_colour = #DDDDDD
|
||||||
|
filament_cooling_final_speed = 3.4
|
||||||
|
filament_cooling_initial_speed = 2.2
|
||||||
|
filament_cooling_moves = 4
|
||||||
|
filament_cost = 20
|
||||||
|
filament_density = 1.24
|
||||||
|
filament_deretract_speed = nil
|
||||||
|
filament_diameter = 1.75
|
||||||
|
filament_load_time = 0
|
||||||
|
filament_loading_speed = 28
|
||||||
|
filament_loading_speed_start = 3
|
||||||
|
filament_max_volumetric_speed = 15
|
||||||
|
filament_minimal_purge_on_wipe_tower = 15
|
||||||
|
filament_notes = ""
|
||||||
|
filament_ramming_parameters = "120 100 6.6 6.8 7.2 7.6 7.9 8.2 8.7 9.4 9.9 10.0| 0.05 6.6 0.45 6.8 0.95 7.8 1.45 8.3 1.95 9.7 2.45 10 2.95 7.6 3.45 7.6 3.95 7.6 4.45 7.6 4.95 7.6"
|
||||||
|
filament_retract_before_travel = nil
|
||||||
|
filament_retract_before_wipe = nil
|
||||||
|
filament_retract_layer_change = nil
|
||||||
|
filament_retract_length = nil
|
||||||
|
filament_retract_lift = nil
|
||||||
|
filament_retract_lift_above = nil
|
||||||
|
filament_retract_lift_below = nil
|
||||||
|
filament_retract_restart_extra = nil
|
||||||
|
filament_retract_speed = nil
|
||||||
|
filament_settings_id = "Generic PLA @PS3D"
|
||||||
|
filament_soluble = 0
|
||||||
|
filament_spool_weight = 0
|
||||||
|
filament_toolchange_delay = 0
|
||||||
|
filament_type = PLA
|
||||||
|
filament_unload_time = 0
|
||||||
|
filament_unloading_speed = 90
|
||||||
|
filament_unloading_speed_start = 100
|
||||||
|
filament_vendor = Generic
|
||||||
|
filament_wipe = nil
|
||||||
|
fill_angle = 45
|
||||||
|
fill_density = 20%
|
||||||
|
fill_pattern = gyroid
|
||||||
|
first_layer_acceleration = 0
|
||||||
|
first_layer_acceleration_over_raft = 0
|
||||||
|
first_layer_bed_temperature = 40
|
||||||
|
first_layer_extrusion_width = 0.42
|
||||||
|
first_layer_height = 0.2
|
||||||
|
first_layer_speed = 30
|
||||||
|
first_layer_speed_over_raft = 30
|
||||||
|
first_layer_temperature = 210
|
||||||
|
full_fan_speed_layer = 0
|
||||||
|
fuzzy_skin = none
|
||||||
|
fuzzy_skin_point_dist = 0.8
|
||||||
|
fuzzy_skin_thickness = 0.3
|
||||||
|
gap_fill_enabled = 1
|
||||||
|
gap_fill_speed = 70
|
||||||
|
gcode_comments = 1
|
||||||
|
gcode_flavor = marlin
|
||||||
|
gcode_label_objects = 0
|
||||||
|
gcode_resolution = 0.0125
|
||||||
|
gcode_substitutions =
|
||||||
|
high_current_on_filament_swap = 0
|
||||||
|
host_type = octoprint
|
||||||
|
infill_acceleration = 0
|
||||||
|
infill_anchor = 600%
|
||||||
|
infill_anchor_max = 50
|
||||||
|
infill_every_layers = 1
|
||||||
|
infill_extruder = 1
|
||||||
|
infill_extrusion_width = 0.45
|
||||||
|
infill_first = 0
|
||||||
|
infill_only_where_needed = 0
|
||||||
|
infill_overlap = 25%
|
||||||
|
infill_speed = 80
|
||||||
|
inherits_cummulative = "0.30mm snel en sterk - Nuptune @PS3D";;
|
||||||
|
interface_shells = 0
|
||||||
|
ironing = 0
|
||||||
|
ironing_flowrate = 15%
|
||||||
|
ironing_spacing = 0.1
|
||||||
|
ironing_speed = 15
|
||||||
|
ironing_type = top
|
||||||
|
layer_gcode = ;AFTER_LAYER_CHANGE\n;[layer_z]
|
||||||
|
layer_height = 0.3
|
||||||
|
machine_limits_usage = time_estimate_only
|
||||||
|
machine_max_acceleration_e = 5000
|
||||||
|
machine_max_acceleration_extruding = 500
|
||||||
|
machine_max_acceleration_retracting = 1000
|
||||||
|
machine_max_acceleration_travel = 1500,1250
|
||||||
|
machine_max_acceleration_x = 500
|
||||||
|
machine_max_acceleration_y = 500
|
||||||
|
machine_max_acceleration_z = 100
|
||||||
|
machine_max_feedrate_e = 60
|
||||||
|
machine_max_feedrate_x = 500
|
||||||
|
machine_max_feedrate_y = 500
|
||||||
|
machine_max_feedrate_z = 10
|
||||||
|
machine_max_jerk_e = 5
|
||||||
|
machine_max_jerk_x = 8
|
||||||
|
machine_max_jerk_y = 8
|
||||||
|
machine_max_jerk_z = 0.4
|
||||||
|
machine_min_extruding_rate = 0
|
||||||
|
machine_min_travel_rate = 0
|
||||||
|
max_fan_speed = 100
|
||||||
|
max_layer_height = 0.3
|
||||||
|
max_print_height = 250
|
||||||
|
max_print_speed = 100
|
||||||
|
max_volumetric_extrusion_rate_slope_negative = 0
|
||||||
|
max_volumetric_extrusion_rate_slope_positive = 0
|
||||||
|
max_volumetric_speed = 8
|
||||||
|
min_bead_width = 85%
|
||||||
|
min_fan_speed = 100
|
||||||
|
min_feature_size = 25%
|
||||||
|
min_layer_height = 0.05
|
||||||
|
min_print_speed = 15
|
||||||
|
min_skirt_length = 4
|
||||||
|
mmu_segmented_region_max_width = 0
|
||||||
|
notes =
|
||||||
|
nozzle_diameter = 0.4
|
||||||
|
only_retract_when_crossing_perimeters = 0
|
||||||
|
ooze_prevention = 0
|
||||||
|
output_filename_format = {input_filename_base}_{layer_height}mm_{filament_type[0]}_{printer_model}_{print_time}.gcode
|
||||||
|
overhangs = 0
|
||||||
|
parking_pos_retraction = 92
|
||||||
|
pause_print_gcode =
|
||||||
|
perimeter_acceleration = 0
|
||||||
|
perimeter_extruder = 1
|
||||||
|
perimeter_extrusion_width = 0.65
|
||||||
|
perimeter_generator = arachne
|
||||||
|
perimeter_speed = 70
|
||||||
|
perimeters = 2
|
||||||
|
physical_printer_settings_id =
|
||||||
|
post_process =
|
||||||
|
print_host =
|
||||||
|
print_settings_id = bakje
|
||||||
|
printer_model = NEPTUNE2
|
||||||
|
printer_notes = \n\ncompatible printer parameters:\nPRINTER_VENDOR_PS3D\nPRINTER_MODEL_NEPTUNE2\nPRINTER_HAS_BOWDEN
|
||||||
|
printer_settings_id = Mats zijn Neptune 2
|
||||||
|
printer_technology = FFF
|
||||||
|
printer_variant = 0.4
|
||||||
|
printer_vendor =
|
||||||
|
printhost_apikey =
|
||||||
|
printhost_cafile =
|
||||||
|
raft_contact_distance = 0.1
|
||||||
|
raft_expansion = 1.5
|
||||||
|
raft_first_layer_density = 90%
|
||||||
|
raft_first_layer_expansion = 3
|
||||||
|
raft_layers = 0
|
||||||
|
remaining_times = 0
|
||||||
|
resolution = 0
|
||||||
|
retract_before_travel = 2
|
||||||
|
retract_before_wipe = 70%
|
||||||
|
retract_layer_change = 0
|
||||||
|
retract_length = 5
|
||||||
|
retract_length_toolchange = 1
|
||||||
|
retract_lift = 0
|
||||||
|
retract_lift_above = 0
|
||||||
|
retract_lift_below = 0
|
||||||
|
retract_restart_extra = 0
|
||||||
|
retract_restart_extra_toolchange = 0
|
||||||
|
retract_speed = 70
|
||||||
|
seam_position = nearest
|
||||||
|
silent_mode = 0
|
||||||
|
single_extruder_multi_material = 0
|
||||||
|
single_extruder_multi_material_priming = 1
|
||||||
|
skirt_distance = 6
|
||||||
|
skirt_height = 1
|
||||||
|
skirts = 0
|
||||||
|
slice_closing_radius = 0.049
|
||||||
|
slicing_mode = regular
|
||||||
|
slowdown_below_layer_time = 10
|
||||||
|
small_perimeter_speed = 35
|
||||||
|
solid_infill_below_area = 0
|
||||||
|
solid_infill_every_layers = 0
|
||||||
|
solid_infill_extruder = 1
|
||||||
|
solid_infill_extrusion_width = 0.65
|
||||||
|
solid_infill_speed = 80
|
||||||
|
spiral_vase = 0
|
||||||
|
standby_temperature_delta = -5
|
||||||
|
start_filament_gcode = "; Filament gcode\n"
|
||||||
|
start_gcode = G90 ; use absolute coordinates\nM83 ; extruder relative mode\nM104 S[first_layer_temperature] ; set extruder temp\nM140 S[first_layer_bed_temperature] ; set bed temp\nM190 S[first_layer_bed_temperature] ; wait for bed temp\nM109 S[first_layer_temperature] ; wait for extruder temp\nG28 ; home all\nG1 Z2 F240\nG1 X2 Y10 F3000\nG1 Z1 F240\nG92 E0\nG1 Y20 E15 F1500 ; intro line\nG1 X2.3 F5000\nG92 E0\nG1 Y10 E15 F1200 ; intro line\nG92 E0
|
||||||
|
support_material = 0
|
||||||
|
support_material_angle = 0
|
||||||
|
support_material_auto = 1
|
||||||
|
support_material_bottom_contact_distance = 0
|
||||||
|
support_material_bottom_interface_layers = -1
|
||||||
|
support_material_buildplate_only = 0
|
||||||
|
support_material_closing_radius = 2
|
||||||
|
support_material_contact_distance = 0.15
|
||||||
|
support_material_enforce_layers = 0
|
||||||
|
support_material_extruder = 0
|
||||||
|
support_material_extrusion_width = 0.38
|
||||||
|
support_material_interface_contact_loops = 0
|
||||||
|
support_material_interface_extruder = 0
|
||||||
|
support_material_interface_layers = 2
|
||||||
|
support_material_interface_pattern = rectilinear
|
||||||
|
support_material_interface_spacing = 0.2
|
||||||
|
support_material_interface_speed = 100%
|
||||||
|
support_material_pattern = rectilinear
|
||||||
|
support_material_spacing = 2
|
||||||
|
support_material_speed = 60
|
||||||
|
support_material_style = grid
|
||||||
|
support_material_synchronize_layers = 0
|
||||||
|
support_material_threshold = 45
|
||||||
|
support_material_with_sheath = 0
|
||||||
|
support_material_xy_spacing = 60%
|
||||||
|
temperature = 205
|
||||||
|
template_custom_gcode =
|
||||||
|
thick_bridges = 1
|
||||||
|
thin_walls = 0
|
||||||
|
threads = 4
|
||||||
|
thumbnails =
|
||||||
|
thumbnails_format = PNG
|
||||||
|
toolchange_gcode =
|
||||||
|
top_fill_pattern = monotonic
|
||||||
|
top_infill_extrusion_width = 0.65
|
||||||
|
top_solid_infill_speed = 40
|
||||||
|
top_solid_layers = 1
|
||||||
|
top_solid_min_thickness = 0
|
||||||
|
travel_speed = 150
|
||||||
|
travel_speed_z = 0
|
||||||
|
use_firmware_retraction = 0
|
||||||
|
use_relative_e_distances = 1
|
||||||
|
use_volumetric_e = 0
|
||||||
|
variable_layer_height = 1
|
||||||
|
wall_distribution_count = 1
|
||||||
|
wall_transition_angle = 10
|
||||||
|
wall_transition_filter_deviation = 25%
|
||||||
|
wall_transition_length = 100%
|
||||||
|
wipe = 1
|
||||||
|
wipe_into_infill = 0
|
||||||
|
wipe_into_objects = 0
|
||||||
|
wipe_tower = 0
|
||||||
|
wipe_tower_bridging = 10
|
||||||
|
wipe_tower_brim_width = 2
|
||||||
|
wipe_tower_no_sparse_layers = 0
|
||||||
|
wipe_tower_rotation_angle = 0
|
||||||
|
wipe_tower_width = 60
|
||||||
|
wipe_tower_x = 170
|
||||||
|
wipe_tower_y = 140
|
||||||
|
wiping_volumes_extruders = 70,70
|
||||||
|
wiping_volumes_matrix = 0
|
||||||
|
xy_size_compensation = 0
|
||||||
|
z_offset = 0
|
||||||
193
bakje.scad
Normal file
193
bakje.scad
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
/*[bakje famili]*/
|
||||||
|
|
||||||
|
CHAMFER = 5.0; // mm
|
||||||
|
UNIT = 50.0; // mm
|
||||||
|
HIEGHT = 1.0; // units
|
||||||
|
|
||||||
|
/*[andere dingen]*/
|
||||||
|
|
||||||
|
OUTER_TOLLERANCE = 0.2; // [0.05:0.05:0.5]
|
||||||
|
WALL_THIKNESS = 1.2; // [0.5:0.1:5]
|
||||||
|
|
||||||
|
WIDTH = 1; // [1:1:10]
|
||||||
|
DEPTH = 1; // [1:1:10]
|
||||||
|
|
||||||
|
LABLE_HIEGHT = 10.0; // [1.0:0.125:20.0]
|
||||||
|
//LABLE_WIDTH = floor(0.25*WIDTH) + 0.8; // [0.1:0.1:3.0]
|
||||||
|
LABLE_WIDTH = max(0.08, 0.9 - 0.1*WIDTH) * WIDTH; // [0.1:0.1:3.0]
|
||||||
|
|
||||||
|
RENDER = "bakje"; // [bakje: bakje, grid: grid, all: all]
|
||||||
|
|
||||||
|
if (RENDER == "bakje" || RENDER == "all")
|
||||||
|
bakje();
|
||||||
|
if (RENDER == "grid" || RENDER == "all")
|
||||||
|
grid();
|
||||||
|
|
||||||
|
module grid(){
|
||||||
|
intersection(){
|
||||||
|
union(){
|
||||||
|
for (x = [ -(WIDTH)/2 : 1.0 : (WIDTH)/2 ]){
|
||||||
|
translate([x*UNIT, 0, 0])
|
||||||
|
rotate([0, 45, 0])
|
||||||
|
cube([
|
||||||
|
CHAMFER*sqrt(2),
|
||||||
|
UNIT*DEPTH,
|
||||||
|
CHAMFER*sqrt(2)
|
||||||
|
], center=true);
|
||||||
|
}
|
||||||
|
for (y = [ -(DEPTH)/2 : 1.0 : (DEPTH)/2 ]){
|
||||||
|
translate([0, y*UNIT, 0])
|
||||||
|
rotate([45, 0, 0])
|
||||||
|
cube([
|
||||||
|
UNIT*WIDTH,
|
||||||
|
CHAMFER*sqrt(2),
|
||||||
|
CHAMFER*sqrt(2)
|
||||||
|
], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
translate([0, 0, 5*CHAMFER])
|
||||||
|
cube([
|
||||||
|
UNIT*WIDTH - 2*OUTER_TOLLERANCE,
|
||||||
|
UNIT*DEPTH - 2*OUTER_TOLLERANCE,
|
||||||
|
10*CHAMFER
|
||||||
|
], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module bakje(){
|
||||||
|
difference(){
|
||||||
|
union(){
|
||||||
|
for (x = [-(WIDTH-1)/2:1.0:(WIDTH-1)/2])
|
||||||
|
for (y = [-(DEPTH-1)/2:1.0:(DEPTH-1)/2]){
|
||||||
|
translate([
|
||||||
|
x*UNIT,
|
||||||
|
y*UNIT,
|
||||||
|
0
|
||||||
|
])
|
||||||
|
floor();
|
||||||
|
}
|
||||||
|
walls();
|
||||||
|
lable();
|
||||||
|
}
|
||||||
|
walls(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module walls(cut=false){
|
||||||
|
union(){
|
||||||
|
thinkness = (cut ? 50 : 1) * WALL_THIKNESS;
|
||||||
|
for (side = [-1,1])
|
||||||
|
translate([
|
||||||
|
0,
|
||||||
|
side*(0.5*UNIT*DEPTH - ((cut) ? -0.5 : 0.5)*thinkness - OUTER_TOLLERANCE),
|
||||||
|
0.5*UNIT*HIEGHT + (cut ? 0 : 0.5*CHAMFER)
|
||||||
|
])
|
||||||
|
union(){
|
||||||
|
cube([
|
||||||
|
UNIT*WIDTH - 2*CHAMFER - 2*OUTER_TOLLERANCE,
|
||||||
|
(cut ? 1 : 1.001) * thinkness,
|
||||||
|
UNIT*HIEGHT - (cut ? -CHAMFER : CHAMFER)
|
||||||
|
], center=true);
|
||||||
|
for (edge = [-1,1])
|
||||||
|
translate([
|
||||||
|
edge*(0.5*UNIT*WIDTH - 0.5*CHAMFER),
|
||||||
|
-side*(0.5*CHAMFER - (cut ? -0.5 : 0.5)*thinkness),
|
||||||
|
(cut ? 0 : -0.5*CHAMFER)
|
||||||
|
])
|
||||||
|
intersection(){
|
||||||
|
translate([
|
||||||
|
edge*(-OUTER_TOLLERANCE - (cut ? -0.5 : 0.5) * thinkness/sqrt(2)),
|
||||||
|
-side*((cut ? -0.5 : 0.5) * thinkness/sqrt(2)),
|
||||||
|
0
|
||||||
|
])
|
||||||
|
rotate([0, 0, side*edge*-45])
|
||||||
|
cube([
|
||||||
|
((cut) ? 15 : 1) * CHAMFER * sqrt(2),
|
||||||
|
(cut ? 1 : 1.001) * thinkness,
|
||||||
|
UNIT*HIEGHT + (cut ? 0.5*CHAMFER : 0)
|
||||||
|
], center=true);
|
||||||
|
|
||||||
|
if(!cut)
|
||||||
|
translate([
|
||||||
|
-edge*0.5*CHAMFER,
|
||||||
|
-side*(0.5*CHAMFER - OUTER_TOLLERANCE),
|
||||||
|
CHAMFER - 0.5*UNIT*HIEGHT])
|
||||||
|
union(){
|
||||||
|
translate([0, 0, 0.5*UNIT])
|
||||||
|
cube([2*CHAMFER, 2*CHAMFER, UNIT*HIEGHT], center=true);
|
||||||
|
intersection(){
|
||||||
|
rotate([45, 0, 0])
|
||||||
|
cube([UNIT*HIEGHT, CHAMFER*sqrt(2), CHAMFER*sqrt(2)], center=true);
|
||||||
|
rotate([0, 45, 0])
|
||||||
|
cube([CHAMFER*sqrt(2), UNIT*HIEGHT, CHAMFER*sqrt(2)], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (side = [-1,1])
|
||||||
|
translate([
|
||||||
|
side*(0.5*UNIT*WIDTH - ((cut) ? -0.5 : 0.5)*thinkness - OUTER_TOLLERANCE),
|
||||||
|
0,
|
||||||
|
0.5*UNIT*HIEGHT + (cut ? 0 : 0.5*CHAMFER)
|
||||||
|
])
|
||||||
|
cube([
|
||||||
|
(cut ? 1 : 1.001) * thinkness,
|
||||||
|
UNIT*DEPTH - 2*CHAMFER - 2*OUTER_TOLLERANCE,
|
||||||
|
UNIT*HIEGHT - (cut ? -CHAMFER : CHAMFER)
|
||||||
|
], center=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module floor() {
|
||||||
|
module chamfer(cut=false){
|
||||||
|
thinkness = (cut) ? 5.0 : WALL_THIKNESS;
|
||||||
|
translate([
|
||||||
|
0,
|
||||||
|
0.5*UNIT - 0.5*CHAMFER,
|
||||||
|
0.5*CHAMFER + WALL_THIKNESS/sqrt(2)
|
||||||
|
])
|
||||||
|
rotate([45, 0, 0])
|
||||||
|
translate([
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
(cut) ? -0.5*(WALL_THIKNESS+thinkness) + 0.001 : 0,
|
||||||
|
])
|
||||||
|
cube([
|
||||||
|
UNIT,
|
||||||
|
CHAMFER * sqrt(2) + WALL_THIKNESS - 0.001,
|
||||||
|
thinkness
|
||||||
|
], center=true);
|
||||||
|
}
|
||||||
|
union(){
|
||||||
|
translate([0, 0, 0.5*WALL_THIKNESS])
|
||||||
|
cube([
|
||||||
|
UNIT - 2*CHAMFER,
|
||||||
|
UNIT - 2*CHAMFER,
|
||||||
|
WALL_THIKNESS
|
||||||
|
], center=true);
|
||||||
|
difference(){
|
||||||
|
union(){
|
||||||
|
for (d = [0:90:360])
|
||||||
|
rotate([0, 0, d])
|
||||||
|
chamfer();
|
||||||
|
}
|
||||||
|
for (d = [0:90:360])
|
||||||
|
rotate([0, 0, d])
|
||||||
|
chamfer(true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module lable(){
|
||||||
|
translate([
|
||||||
|
-0.5*WIDTH*UNIT,
|
||||||
|
0.5*DEPTH*UNIT - OUTER_TOLLERANCE - WALL_THIKNESS,
|
||||||
|
HIEGHT*UNIT - LABLE_HIEGHT*sqrt(2)
|
||||||
|
])
|
||||||
|
difference(){
|
||||||
|
rotate([45, 0, 0])
|
||||||
|
cube([LABLE_WIDTH*UNIT, LABLE_HIEGHT, LABLE_HIEGHT]);
|
||||||
|
translate([-WALL_THIKNESS, -1*LABLE_HIEGHT, -WALL_THIKNESS])
|
||||||
|
cube([LABLE_WIDTH*UNIT, 2*LABLE_HIEGHT, 0.5*LABLE_HIEGHT*sqrt(2)]);
|
||||||
|
}
|
||||||
|
}
|
||||||
22765
gcode/1x1/1-bakje-37m.gcode
Normal file
22765
gcode/1x1/1-bakje-37m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
5162
gcode/1x1/1-grid-7m.gcode
Normal file
5162
gcode/1x1/1-grid-7m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
420195
gcode/1x1/16-bakje-9h46m.gcode
Normal file
420195
gcode/1x1/16-bakje-9h46m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
78199
gcode/1x1/16-grid-1h55m.gcode
Normal file
78199
gcode/1x1/16-grid-1h55m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
53299
gcode/1x1/2-bakje-1h12m.gcode
Normal file
53299
gcode/1x1/2-bakje-1h12m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
10092
gcode/1x1/2-grid-14m.gcode
Normal file
10092
gcode/1x1/2-grid-14m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
105745
gcode/1x1/4-bakje-2h24m.gcode
Normal file
105745
gcode/1x1/4-bakje-2h24m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
19868
gcode/1x1/4-grid-29m.gcode
Normal file
19868
gcode/1x1/4-grid-29m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
236113
gcode/1x1/9-bakje-5h29m.gcode
Normal file
236113
gcode/1x1/9-bakje-5h29m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
44159
gcode/1x1/9-grid-1h5m.gcode
Normal file
44159
gcode/1x1/9-grid-1h5m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
31304
gcode/1x2/1-bakje-56m.gcode
Normal file
31304
gcode/1x2/1-bakje-56m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
9621
gcode/1x2/1-grid-14m.gcode
Normal file
9621
gcode/1x2/1-grid-14m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
62107
gcode/1x2/2-bakje-1h55m.gcode
Normal file
62107
gcode/1x2/2-bakje-1h55m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
18989
gcode/1x2/2-grid-28m.gcode
Normal file
18989
gcode/1x2/2-grid-28m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
122966
gcode/1x2/4-bakje-3h51m.gcode
Normal file
122966
gcode/1x2/4-bakje-3h51m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
37607
gcode/1x2/4-grid-56m.gcode
Normal file
37607
gcode/1x2/4-grid-56m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
184104
gcode/1x2/6-bakje-5h49m.gcode
Normal file
184104
gcode/1x2/6-bakje-5h49m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
56253
gcode/1x2/6-grid-1h24m.gcode
Normal file
56253
gcode/1x2/6-grid-1h24m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
244988
gcode/1x2/8-bakje-7h45m.gcode
Normal file
244988
gcode/1x2/8-bakje-7h45m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
74969
gcode/1x2/8-grid-1h52m.gcode
Normal file
74969
gcode/1x2/8-grid-1h52m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
35376
gcode/1x3/1-bakje-1h17m.gcode
Normal file
35376
gcode/1x3/1-bakje-1h17m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
14032
gcode/1x3/1-grid-21m.gcode
Normal file
14032
gcode/1x3/1-grid-21m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
70231
gcode/1x3/2-bakje-2h37m.gcode
Normal file
70231
gcode/1x3/2-bakje-2h37m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
27708
gcode/1x3/2-grid-42m.gcode
Normal file
27708
gcode/1x3/2-grid-42m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
139482
gcode/1x3/4-bakje-5h19m.gcode
Normal file
139482
gcode/1x3/4-bakje-5h19m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
54996
gcode/1x3/4-grid-1h23m.gcode
Normal file
54996
gcode/1x3/4-grid-1h23m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
39640
gcode/1x4/1-bakje-1h39m.gcode
Normal file
39640
gcode/1x4/1-bakje-1h39m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
18705
gcode/1x4/1-grid-28m.gcode
Normal file
18705
gcode/1x4/1-grid-28m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
79156
gcode/1x4/2-bakje-3h21m.gcode
Normal file
79156
gcode/1x4/2-bakje-3h21m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
37043
gcode/1x4/2-grid-55m.gcode
Normal file
37043
gcode/1x4/2-grid-55m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
155944
gcode/1x4/4-bakje-6h45m.gcode
Normal file
155944
gcode/1x4/4-bakje-6h45m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
73709
gcode/1x4/4-grid-1h51m.gcode
Normal file
73709
gcode/1x4/4-grid-1h51m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
33274
gcode/2x1/1-bakje-58m.gcode
Normal file
33274
gcode/2x1/1-bakje-58m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
9599
gcode/2x1/1-grid-14m.gcode
Normal file
9599
gcode/2x1/1-grid-14m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
66093
gcode/2x1/2-bakje-1h59m.gcode
Normal file
66093
gcode/2x1/2-bakje-1h59m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
18935
gcode/2x1/2-grid-28m.gcode
Normal file
18935
gcode/2x1/2-grid-28m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
130920
gcode/2x1/4-bakje-3h59m.gcode
Normal file
130920
gcode/2x1/4-bakje-3h59m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
37507
gcode/2x1/4-grid-56m.gcode
Normal file
37507
gcode/2x1/4-grid-56m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
195621
gcode/2x1/6-bakje-6h1m.gcode
Normal file
195621
gcode/2x1/6-bakje-6h1m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
56071
gcode/2x1/6-grid-1h23m.gcode
Normal file
56071
gcode/2x1/6-grid-1h23m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
260343
gcode/2x1/8-bakje-8h1m.gcode
Normal file
260343
gcode/2x1/8-bakje-8h1m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
74633
gcode/2x1/8-grid-1h51m.gcode
Normal file
74633
gcode/2x1/8-grid-1h51m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
42714
gcode/2x2/1-bakje-1h32m.gcode
Normal file
42714
gcode/2x2/1-bakje-1h32m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
18552
gcode/2x2/1-grid-27m.gcode
Normal file
18552
gcode/2x2/1-grid-27m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
84868
gcode/2x2/2-bakje-3h6m.gcode
Normal file
84868
gcode/2x2/2-bakje-3h6m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
36799
gcode/2x2/2-grid-54m.gcode
Normal file
36799
gcode/2x2/2-grid-54m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
168419
gcode/2x2/4-bakje-6h13m.gcode
Normal file
168419
gcode/2x2/4-bakje-6h13m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
73147
gcode/2x2/4-grid-1h47m.gcode
Normal file
73147
gcode/2x2/4-grid-1h47m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
51141
gcode/2x3/1-bakje-2h4m.gcode
Normal file
51141
gcode/2x3/1-bakje-2h4m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
27472
gcode/2x3/1-grid-40m.gcode
Normal file
27472
gcode/2x3/1-grid-40m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
101681
gcode/2x3/2-bakje-4h10m.gcode
Normal file
101681
gcode/2x3/2-bakje-4h10m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
54563
gcode/2x3/2-grid-1h19m.gcode
Normal file
54563
gcode/2x3/2-grid-1h19m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
60723
gcode/2x4/1-bakje-2h37m.gcode
Normal file
60723
gcode/2x4/1-bakje-2h37m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
36859
gcode/2x4/1-grid-53m.gcode
Normal file
36859
gcode/2x4/1-grid-53m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
121200
gcode/2x4/2-bakje-5h17m.gcode
Normal file
121200
gcode/2x4/2-bakje-5h17m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
73353
gcode/2x4/2-grid-1h45m.gcode
Normal file
73353
gcode/2x4/2-grid-1h45m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
38521
gcode/3x1/1-bakje-1h21m.gcode
Normal file
38521
gcode/3x1/1-bakje-1h21m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
14034
gcode/3x1/1-grid-21m.gcode
Normal file
14034
gcode/3x1/1-grid-21m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
76376
gcode/3x1/2-bakje-2h44m.gcode
Normal file
76376
gcode/3x1/2-bakje-2h44m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
27744
gcode/3x1/2-grid-41m.gcode
Normal file
27744
gcode/3x1/2-grid-41m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
151365
gcode/3x1/4-bakje-5h34m.gcode
Normal file
151365
gcode/3x1/4-bakje-5h34m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
55091
gcode/3x1/4-grid-1h22m.gcode
Normal file
55091
gcode/3x1/4-grid-1h22m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
52801
gcode/3x2/1-bakje-2h5m.gcode
Normal file
52801
gcode/3x2/1-bakje-2h5m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
27426
gcode/3x2/1-grid-40m.gcode
Normal file
27426
gcode/3x2/1-grid-40m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
105100
gcode/3x2/2-bakje-4h14m.gcode
Normal file
105100
gcode/3x2/2-bakje-4h14m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
54535
gcode/3x2/2-grid-1h19m.gcode
Normal file
54535
gcode/3x2/2-grid-1h19m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
65669
gcode/3x3/1-bakje-2h49m.gcode
Normal file
65669
gcode/3x3/1-bakje-2h49m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
40905
gcode/3x3/1-grid-59m.gcode
Normal file
40905
gcode/3x3/1-grid-59m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
79532
gcode/3x4/1-bakje-3h33m.gcode
Normal file
79532
gcode/3x4/1-bakje-3h33m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
55094
gcode/3x4/1-grid-1h18m.gcode
Normal file
55094
gcode/3x4/1-grid-1h18m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
43581
gcode/4x1/1-bakje-1h43m.gcode
Normal file
43581
gcode/4x1/1-bakje-1h43m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
18500
gcode/4x1/1-grid-27m.gcode
Normal file
18500
gcode/4x1/1-grid-27m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
86780
gcode/4x1/2-bakje-3h29m.gcode
Normal file
86780
gcode/4x1/2-bakje-3h29m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
36680
gcode/4x1/2-grid-55m.gcode
Normal file
36680
gcode/4x1/2-grid-55m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
171796
gcode/4x1/4-bakje-7h3m.gcode
Normal file
171796
gcode/4x1/4-bakje-7h3m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
73145
gcode/4x1/4-grid-1h50m.gcode
Normal file
73145
gcode/4x1/4-grid-1h50m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
62703
gcode/4x2/1-bakje-2h39m.gcode
Normal file
62703
gcode/4x2/1-bakje-2h39m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
36450
gcode/4x2/1-grid-53m.gcode
Normal file
36450
gcode/4x2/1-grid-53m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
124799
gcode/4x2/2-bakje-5h21m.gcode
Normal file
124799
gcode/4x2/2-bakje-5h21m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
72521
gcode/4x2/2-grid-1h45m.gcode
Normal file
72521
gcode/4x2/2-grid-1h45m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
79849
gcode/4x3/1-bakje-3h33m.gcode
Normal file
79849
gcode/4x3/1-bakje-3h33m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
54467
gcode/4x3/1-grid-1h18m.gcode
Normal file
54467
gcode/4x3/1-grid-1h18m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
98523
gcode/4x4/1-bakje-4h29m.gcode
Normal file
98523
gcode/4x4/1-bakje-4h29m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
73599
gcode/4x4/1-grid-1h43m.gcode
Normal file
73599
gcode/4x4/1-grid-1h43m.gcode
Normal file
File diff suppressed because it is too large
Load Diff
235
koffer.scad
Normal file
235
koffer.scad
Normal file
@ -0,0 +1,235 @@
|
|||||||
|
/*[bakje famili]*/
|
||||||
|
|
||||||
|
CHAMFER = 5.0; // mm
|
||||||
|
UNIT = 50.0; // mm
|
||||||
|
HIEGHT = 1.0; // units
|
||||||
|
|
||||||
|
/*[andere dingen]*/
|
||||||
|
|
||||||
|
INNER_TOLLERANCE = 0.0; // [0.0:0.05:0.5]
|
||||||
|
MATT_THIKNESS = 10.0; // [2.0:0.1:15.0]
|
||||||
|
|
||||||
|
WIDTH = 7; // [1:1:10]
|
||||||
|
DEPTH = 5; // [1:1:10]
|
||||||
|
|
||||||
|
DIMENTION = "2d"; // [2d: 2d export view, 3d: 3d render]
|
||||||
|
POSITION = "inplace"; // [inplace: in place, origin: at the origin]
|
||||||
|
RENDER = "all"; // [bot: bottom, lid: lid, front: front, back: back, left: left, right: right, all: all]
|
||||||
|
|
||||||
|
LAYOUT_SEPERATION = 15; // [1:1:50]
|
||||||
|
|
||||||
|
function finger(flip=[1,0], dir="y") = [
|
||||||
|
[
|
||||||
|
0, 0
|
||||||
|
],[
|
||||||
|
(dir=="y") ? 0 : flip[0]*0.25*UNIT,
|
||||||
|
(dir=="x") ? 0 : flip[1]*0.25*UNIT,
|
||||||
|
],[
|
||||||
|
(dir=="y") ? flip[0]*MATT_THIKNESS : flip[0]*0.25*UNIT,
|
||||||
|
(dir=="x") ? flip[1]*MATT_THIKNESS : flip[1]*0.25*UNIT,
|
||||||
|
],[
|
||||||
|
(dir=="y") ? flip[0]*MATT_THIKNESS : flip[0]*0.75*UNIT,
|
||||||
|
(dir=="x") ? flip[1]*MATT_THIKNESS : flip[1]*0.75*UNIT,
|
||||||
|
],[
|
||||||
|
(dir=="y") ? 0 : flip[0]*0.75*UNIT,
|
||||||
|
(dir=="x") ? 0 : flip[1]*0.75*UNIT,
|
||||||
|
],[
|
||||||
|
(dir=="y") ? 0 : flip[0]*UNIT,
|
||||||
|
(dir=="x") ? 0 : flip[1]*UNIT,
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
module fingers(flip=[1,1], dir="y", number=2, nub=true){
|
||||||
|
flipG = [
|
||||||
|
(nub || dir == "x") ? flip[0] : -flip[0],
|
||||||
|
(nub || dir == "y") ? flip[1] : -flip[1]
|
||||||
|
];
|
||||||
|
for (f = [0:1:number-1])
|
||||||
|
translate([
|
||||||
|
(dir=="x") ? f*UNIT : ((nub) ? 0 : flip[0]*MATT_THIKNESS),
|
||||||
|
(dir=="y") ? f*UNIT : ((nub) ? 0 : flip[1]*MATT_THIKNESS)
|
||||||
|
])
|
||||||
|
polygon(
|
||||||
|
points = concat(
|
||||||
|
finger(flip=flipG, dir=dir),
|
||||||
|
[
|
||||||
|
[
|
||||||
|
(dir=="y") ? flip[0]*((nub) ? -0.01 : -MATT_THIKNESS - 0.01) : flip[0]*UNIT,
|
||||||
|
(dir=="x") ? flip[1]*((nub) ? -0.01 : -MATT_THIKNESS - 0.01) : flip[1]*UNIT
|
||||||
|
],[
|
||||||
|
(dir=="y") ? flip[0]*((nub) ? -0.01 : -MATT_THIKNESS - 0.01) : 0,
|
||||||
|
(dir=="x") ? flip[1]*((nub) ? -0.01 : -MATT_THIKNESS - 0.01) : 0
|
||||||
|
]
|
||||||
|
]
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
module render(3dPos, 3dRotation, 2dPos){
|
||||||
|
if (DIMENTION == "2d"){
|
||||||
|
if (POSITION == "inplace")
|
||||||
|
translate(2dPos)
|
||||||
|
children();
|
||||||
|
if (POSITION == "origin")
|
||||||
|
children();
|
||||||
|
}
|
||||||
|
if (DIMENTION == "3d"){
|
||||||
|
if (POSITION == "inplace")
|
||||||
|
translate(3dPos)
|
||||||
|
rotate(3dRotation)
|
||||||
|
linear_extrude(MATT_THIKNESS)
|
||||||
|
children();
|
||||||
|
if (POSITION == "origin")
|
||||||
|
linear_extrude(MATT_THIKNESS)
|
||||||
|
children();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (RENDER == "bot" || RENDER == "all")
|
||||||
|
render(
|
||||||
|
2dPos = [0, 0],
|
||||||
|
3dPos = [0, 0, 0],
|
||||||
|
3dRotation = [0, 0, 0]
|
||||||
|
)
|
||||||
|
bottom();
|
||||||
|
|
||||||
|
if (RENDER == "front" || RENDER == "all")
|
||||||
|
render(
|
||||||
|
2dPos = [-(WIDTH*UNIT + 2*MATT_THIKNESS + LAYOUT_SEPERATION), 0],
|
||||||
|
3dPos = [0, MATT_THIKNESS, 0],
|
||||||
|
3dRotation = [90, 0, 0]
|
||||||
|
)
|
||||||
|
front();
|
||||||
|
|
||||||
|
if (RENDER == "back" || RENDER == "all")
|
||||||
|
render(
|
||||||
|
2dPos = [
|
||||||
|
-(WIDTH*UNIT + 2*MATT_THIKNESS + LAYOUT_SEPERATION),
|
||||||
|
HIEGHT*UNIT + MATT_THIKNESS + LAYOUT_SEPERATION
|
||||||
|
],
|
||||||
|
3dPos = [0, DEPTH*UNIT + 2*MATT_THIKNESS, 0],
|
||||||
|
3dRotation = [90, 0, 0]
|
||||||
|
)
|
||||||
|
back();
|
||||||
|
|
||||||
|
if (RENDER == "left" || RENDER == "all")
|
||||||
|
render(
|
||||||
|
2dPos = [
|
||||||
|
-(DEPTH*UNIT + 2*MATT_THIKNESS + LAYOUT_SEPERATION),
|
||||||
|
2*HIEGHT*UNIT + 2*MATT_THIKNESS + 2*LAYOUT_SEPERATION
|
||||||
|
],
|
||||||
|
3dPos = [0, 0, 0],
|
||||||
|
3dRotation = [90, 0, 90]
|
||||||
|
)
|
||||||
|
side();
|
||||||
|
|
||||||
|
if (RENDER == "right" || RENDER == "all")
|
||||||
|
render(
|
||||||
|
2dPos = [
|
||||||
|
-(DEPTH*UNIT + 2*MATT_THIKNESS + LAYOUT_SEPERATION),
|
||||||
|
3*HIEGHT*UNIT + 4*MATT_THIKNESS + 3*LAYOUT_SEPERATION
|
||||||
|
],
|
||||||
|
3dPos = [WIDTH*UNIT + MATT_THIKNESS, 0, 0],
|
||||||
|
3dRotation = [90, 0, 90]
|
||||||
|
)
|
||||||
|
side();
|
||||||
|
|
||||||
|
if (RENDER == "lid" || RENDER == "all")
|
||||||
|
render(
|
||||||
|
2dPos = [
|
||||||
|
WIDTH*UNIT + 2*MATT_THIKNESS + LAYOUT_SEPERATION,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
3dPos = [MATT_THIKNESS, 0, HIEGHT*UNIT + MATT_THIKNESS],
|
||||||
|
3dRotation = [90, 0, 90]
|
||||||
|
)
|
||||||
|
lid();
|
||||||
|
|
||||||
|
// if (RENDER == "lid" || RENDER == "all"){
|
||||||
|
// if (DIMENTION == "2d"){
|
||||||
|
// lid();
|
||||||
|
// }
|
||||||
|
// if (DIMENTION == "3d"){
|
||||||
|
// if (POSITION == "inplace")
|
||||||
|
// translate([MATT_THIKNESS, 0, HIEGHT*UNIT + MATT_THIKNESS])
|
||||||
|
// linear_extrude(MATT_THIKNESS)
|
||||||
|
// lid();
|
||||||
|
// if (POSITION == "origin")
|
||||||
|
// linear_extrude(MATT_THIKNESS)
|
||||||
|
// lid();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
module bottom(){
|
||||||
|
translate([MATT_THIKNESS, MATT_THIKNESS])
|
||||||
|
union(){
|
||||||
|
translate([0.005, 0.005])
|
||||||
|
square(size=[WIDTH*UNIT-0.01, DEPTH*UNIT-0.01]);
|
||||||
|
fingers(flip=[-1,1], dir="y", number=DEPTH, nub=true);
|
||||||
|
translate([WIDTH*UNIT, 0])
|
||||||
|
fingers(flip=[1,1], dir="y", number=DEPTH, nub=true);
|
||||||
|
fingers(flip=[1,-1], dir="x", number=WIDTH, nub=true);
|
||||||
|
translate([0, DEPTH*UNIT])
|
||||||
|
fingers(flip=[1,1], dir="x", number=WIDTH, nub=true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module front(){
|
||||||
|
translate([MATT_THIKNESS, MATT_THIKNESS])
|
||||||
|
difference(){
|
||||||
|
union(){
|
||||||
|
translate([0.005, 0.005])
|
||||||
|
square(size=[WIDTH*UNIT-0.01, HIEGHT*UNIT-0.005]);
|
||||||
|
fingers(flip=[-1,1], dir="y", number=HIEGHT, nub=true);
|
||||||
|
translate([WIDTH*UNIT, 0])
|
||||||
|
fingers(flip=[1,1], dir="y", number=HIEGHT, nub=true);
|
||||||
|
fingers(flip=[1,-1], dir="x", number=WIDTH, nub=false);
|
||||||
|
}
|
||||||
|
translate([52, HIEGHT*UNIT-10])
|
||||||
|
circle(d=3);
|
||||||
|
translate([77, HIEGHT*UNIT-10])
|
||||||
|
circle(d=3);
|
||||||
|
translate([WIDTH*UNIT-52, HIEGHT*UNIT-10])
|
||||||
|
circle(d=3);
|
||||||
|
translate([WIDTH*UNIT-77, HIEGHT*UNIT-10])
|
||||||
|
circle(d=3);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module back(){
|
||||||
|
translate([MATT_THIKNESS, MATT_THIKNESS])
|
||||||
|
union(){
|
||||||
|
translate([0.005, 0.005])
|
||||||
|
square(size=[WIDTH*UNIT-0.01, HIEGHT*UNIT-0.005]);
|
||||||
|
fingers(flip=[-1,1], dir="y", number=HIEGHT, nub=true);
|
||||||
|
translate([WIDTH*UNIT, 0])
|
||||||
|
fingers(flip=[1,1], dir="y", number=HIEGHT, nub=true);
|
||||||
|
fingers(flip=[1,-1], dir="x", number=WIDTH, nub=false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module side(){
|
||||||
|
translate([MATT_THIKNESS, MATT_THIKNESS])
|
||||||
|
union(){
|
||||||
|
translate([0.005, 0.005])
|
||||||
|
square(size=[DEPTH*UNIT-0.01, HIEGHT*UNIT-0.005 + MATT_THIKNESS]);
|
||||||
|
|
||||||
|
translate([-MATT_THIKNESS, -MATT_THIKNESS])
|
||||||
|
square(size=[MATT_THIKNESS+0.01, MATT_THIKNESS+0.01]);
|
||||||
|
translate([DEPTH*UNIT-0.01, -MATT_THIKNESS])
|
||||||
|
square(size=[MATT_THIKNESS+0.01, MATT_THIKNESS+0.01]);
|
||||||
|
translate([-MATT_THIKNESS, HIEGHT*UNIT-0.01])
|
||||||
|
square(size=[MATT_THIKNESS+0.01, MATT_THIKNESS+0.01]);
|
||||||
|
translate([DEPTH*UNIT-0.01, HIEGHT*UNIT-0.01])
|
||||||
|
square(size=[MATT_THIKNESS+0.01, MATT_THIKNESS+0.01]);
|
||||||
|
|
||||||
|
fingers(flip=[-1,1], dir="y", number=HIEGHT, nub=false);
|
||||||
|
translate([DEPTH*UNIT, 0])
|
||||||
|
fingers(flip=[1,1], dir="y", number=HIEGHT, nub=false);
|
||||||
|
fingers(flip=[1,-1], dir="x", number=DEPTH, nub=false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module lid(){
|
||||||
|
square([WIDTH*UNIT, DEPTH*UNIT + 2*MATT_THIKNESS]);
|
||||||
|
}
|
||||||
107
render.sh
Normal file
107
render.sh
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
|
||||||
|
OPENSCAD=openscad
|
||||||
|
PRUSASLICER="flatpak run com.prusa3d.PrusaSlicer"
|
||||||
|
|
||||||
|
SLICER_CONFIG=bakje.ini
|
||||||
|
SCAD_FILE=bakje.scad
|
||||||
|
|
||||||
|
function slice(){
|
||||||
|
part=$1
|
||||||
|
size=$2
|
||||||
|
count=$3
|
||||||
|
fileName="${size}/${count}-${part}-{print_time}.gcode"
|
||||||
|
mkdir -p gcode/${size}
|
||||||
|
${PRUSASLICER} \
|
||||||
|
--slice \
|
||||||
|
--load \"$SLICER_CONFIG\" \
|
||||||
|
--duplicate ${count} \
|
||||||
|
--output gcode/${fileName} \
|
||||||
|
stl/${part}-${x}x${y}.stl || exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
mkdir -p stl gcode
|
||||||
|
rm stl/*
|
||||||
|
rm -r gcode/*
|
||||||
|
|
||||||
|
nl="
|
||||||
|
"
|
||||||
|
|
||||||
|
for part in bakje grid ;
|
||||||
|
do
|
||||||
|
for x in {1..4}
|
||||||
|
do
|
||||||
|
for y in {1..4}
|
||||||
|
do
|
||||||
|
${OPENSCAD} -o stl/"${part}-${x}x${y}.stl" \
|
||||||
|
-D "RENDER=\"${part}\"" \
|
||||||
|
-D WIDTH=${x} \
|
||||||
|
-D DEPTH=${y} \
|
||||||
|
"${SCAD_FILE}" || exit 1
|
||||||
|
|
||||||
|
fitX=$(expr 4 / $x)
|
||||||
|
fitY=$(expr 4 / $y)
|
||||||
|
# echo "size = $x x $y"
|
||||||
|
# echo "fit = $fitX x $fitY"
|
||||||
|
|
||||||
|
dubs="1\n2\n4\n6\n9"
|
||||||
|
|
||||||
|
max=$(echo "$x$nl$y" | sort --numeric-sort --reverse | head --lines 1)
|
||||||
|
min=$(echo "$x$nl$y" | sort --numeric-sort | head --lines 1)
|
||||||
|
|
||||||
|
echo "${x}x${y}: ${max}x${min}"
|
||||||
|
|
||||||
|
if [ "$max" == "$min" ]
|
||||||
|
then
|
||||||
|
if [ "${x}" == "1" ]
|
||||||
|
then
|
||||||
|
dubs=(1 2 4 9 16)
|
||||||
|
elif [ "${x}" == "2" ]
|
||||||
|
then
|
||||||
|
dubs=(1 2 4)
|
||||||
|
else
|
||||||
|
dubs=(1)
|
||||||
|
fi
|
||||||
|
elif [ "${min}" == "1" ]
|
||||||
|
then
|
||||||
|
if [ "${max}" == "2" ]
|
||||||
|
then
|
||||||
|
dubs=(1 2 4 6 8)
|
||||||
|
elif [ "${max}" == "3" ]
|
||||||
|
then
|
||||||
|
dubs=(1 2 4 5)
|
||||||
|
elif [ "${max}" == "4" ]
|
||||||
|
then
|
||||||
|
dubs=(1 2 4)
|
||||||
|
fi
|
||||||
|
elif [ "${min}" == "2" ]
|
||||||
|
then
|
||||||
|
dubs=(1 2)
|
||||||
|
else
|
||||||
|
dubs=(1)
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "${x}x${y}: ${dubs[*]}"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for dub in ${dubs[*]}
|
||||||
|
do
|
||||||
|
slice ${part} ${x}x${y} ${dub}
|
||||||
|
done
|
||||||
|
|
||||||
|
# for X in $(seq 1 $fitX)
|
||||||
|
# do
|
||||||
|
# for Y in $(seq 1 $fitY)
|
||||||
|
# do
|
||||||
|
# count=$(expr $X \* $Y)
|
||||||
|
# if [ $(expr $X - $Y) -lt 2 ] && [ $(expr $Y - $X) -lt 2 ]
|
||||||
|
# then
|
||||||
|
# slice ${part} ${x}x${y} ${count}
|
||||||
|
# fi
|
||||||
|
# echo -n
|
||||||
|
# done
|
||||||
|
# done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
|
||||||
1822
stl/bakje-1x1.stl
Normal file
1822
stl/bakje-1x1.stl
Normal file
File diff suppressed because it is too large
Load Diff
2564
stl/bakje-1x2.stl
Normal file
2564
stl/bakje-1x2.stl
Normal file
File diff suppressed because it is too large
Load Diff
3278
stl/bakje-1x3.stl
Normal file
3278
stl/bakje-1x3.stl
Normal file
File diff suppressed because it is too large
Load Diff
4034
stl/bakje-1x4.stl
Normal file
4034
stl/bakje-1x4.stl
Normal file
File diff suppressed because it is too large
Load Diff
2550
stl/bakje-2x1.stl
Normal file
2550
stl/bakje-2x1.stl
Normal file
File diff suppressed because it is too large
Load Diff
3922
stl/bakje-2x2.stl
Normal file
3922
stl/bakje-2x2.stl
Normal file
File diff suppressed because it is too large
Load Diff
5070
stl/bakje-2x3.stl
Normal file
5070
stl/bakje-2x3.stl
Normal file
File diff suppressed because it is too large
Load Diff
6512
stl/bakje-2x4.stl
Normal file
6512
stl/bakje-2x4.stl
Normal file
File diff suppressed because it is too large
Load Diff
3278
stl/bakje-3x1.stl
Normal file
3278
stl/bakje-3x1.stl
Normal file
File diff suppressed because it is too large
Load Diff
5112
stl/bakje-3x2.stl
Normal file
5112
stl/bakje-3x2.stl
Normal file
File diff suppressed because it is too large
Load Diff
6862
stl/bakje-3x3.stl
Normal file
6862
stl/bakje-3x3.stl
Normal file
File diff suppressed because it is too large
Load Diff
8738
stl/bakje-3x4.stl
Normal file
8738
stl/bakje-3x4.stl
Normal file
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user