├── .gitattributes ├── .gitignore ├── CHANGELOG.md ├── COPYING ├── core.scad ├── docs ├── 7 SEGMENT.TTF ├── box.odg ├── box.png ├── metric_threads.png ├── sliding_t_nut.png ├── sliding_t_nut_small.png └── usage.md ├── examples ├── EnviroPlus │ ├── assemblies │ │ ├── RPI_assembled.png │ │ ├── RPI_assembled_tn.png │ │ ├── RPI_assembly.png │ │ ├── RPI_assembly_tn.png │ │ ├── RPI_case_assembled.png │ │ ├── RPI_case_assembled_tn.png │ │ ├── RPI_case_assembly.png │ │ ├── RPI_case_assembly_tn.png │ │ ├── back_assembled.png │ │ ├── back_assembled_tn.png │ │ ├── back_assembly.png │ │ ├── back_assembly_tn.png │ │ ├── case_assembled.png │ │ ├── case_assembled_tn.png │ │ ├── case_assembly.png │ │ ├── case_assembly_tn.png │ │ ├── enviro_assembled.png │ │ ├── enviro_assembled_tn.png │ │ ├── enviro_assembly.png │ │ ├── enviro_assembly_tn.png │ │ ├── enviro_case_assembled.png │ │ ├── enviro_case_assembled_tn.png │ │ ├── enviro_case_assembly.png │ │ ├── enviro_case_assembly_tn.png │ │ ├── fan_controller_assembled.png │ │ ├── fan_controller_assembled_tn.png │ │ ├── fan_controller_assembly.png │ │ ├── fan_controller_assembly_tn.png │ │ ├── main_assembled.png │ │ ├── main_assembled_tn.png │ │ ├── main_assembly.png │ │ └── main_assembly_tn.png │ ├── bom │ │ ├── RPI_assembly.txt │ │ ├── RPI_case_assembly.txt │ │ ├── back_assembly.txt │ │ ├── bom.csv │ │ ├── bom.json │ │ ├── bom.txt │ │ ├── case_assembly.txt │ │ ├── enviro_assembly.txt │ │ ├── enviro_case_assembly.txt │ │ ├── fan_controller_assembly.txt │ │ └── main_assembly.txt │ ├── docs │ │ ├── cuts.jpg │ │ ├── fan_connection.jpg │ │ ├── fan_controller.jpg │ │ └── smt.jpg │ ├── readme.md │ ├── scad │ │ ├── fan_controller.scad │ │ └── main.scad │ └── stls │ │ ├── bulkhead.png │ │ ├── bulkhead.stl │ │ ├── enviro_plus_case.png │ │ ├── enviro_plus_case.stl │ │ ├── enviro_plus_case_base.png │ │ ├── enviro_plus_case_base.stl │ │ ├── fan_duct.png │ │ ├── fan_duct.stl │ │ ├── foot.png │ │ └── foot.stl ├── Gridfinity │ ├── assemblies │ │ ├── main_assembled.png │ │ ├── main_assembled_tn.png │ │ ├── main_assembly.png │ │ └── main_assembly_tn.png │ ├── bom │ │ ├── bom.csv │ │ ├── bom.json │ │ ├── bom.txt │ │ └── main_assembly.txt │ ├── readme.md │ ├── scad │ │ ├── 123_block_stand.scad │ │ ├── 1x1_bin.scad │ │ ├── MT2_stand.scad │ │ ├── chuck_jaw_bin.scad │ │ ├── chuck_stand.scad │ │ ├── faceplate_stand.scad │ │ ├── lathe_tool_stand.scad │ │ └── main.scad │ └── stls │ │ ├── 123_block_stand.png │ │ ├── 123_block_stand.stl │ │ ├── 1x1_bin.png │ │ ├── 1x1_bin.stl │ │ ├── MT2_stand.png │ │ ├── MT2_stand.stl │ │ ├── chuck_jaw_bin.png │ │ ├── chuck_jaw_bin.stl │ │ ├── chuck_stand.png │ │ ├── chuck_stand.stl │ │ ├── faceplate_stand.png │ │ ├── faceplate_stand.stl │ │ ├── lathe_tool_stand.png │ │ └── lathe_tool_stand.stl ├── MainsBreakOutBox │ ├── assemblies │ │ ├── base_assembled.png │ │ ├── base_assembled_tn.png │ │ ├── base_assembly.png │ │ ├── base_assembly_tn.png │ │ ├── feet_assembled.png │ │ ├── feet_assembled_tn.png │ │ ├── feet_assembly.png │ │ ├── feet_assembly_tn.png │ │ ├── main_assembled.png │ │ ├── main_assembled_tn.png │ │ ├── main_assembly.png │ │ ├── main_assembly_tn.png │ │ ├── mains_in_assembled.png │ │ ├── mains_in_assembled_tn.png │ │ ├── mains_in_assembly.png │ │ └── mains_in_assembly_tn.png │ ├── bom │ │ ├── base_assembly.txt │ │ ├── bom.csv │ │ ├── bom.json │ │ ├── bom.txt │ │ ├── feet_assembly.txt │ │ ├── main_assembly.txt │ │ └── mains_in_assembly.txt │ ├── docs │ │ ├── inside.jpg │ │ └── inside_small.jpg │ ├── platters │ │ └── all.scad │ ├── readme.md │ ├── scad │ │ └── bob_main.scad │ └── stls │ │ ├── deps │ │ └── all.txt │ │ ├── foot.png │ │ ├── foot.stl │ │ ├── printed │ │ └── all.stl │ │ ├── socket_box.png │ │ └── socket_box.stl └── PT_camera │ └── PT_camera.scad ├── gallery ├── ArduinoThermostat.png ├── Blinder.png ├── ClockSetter.png ├── EnviroPlus.png ├── FilamentDryBox.png ├── HydraBot.png ├── IOT_50V_PSU.png ├── IOT_LOAD.png ├── LED_box.png ├── Lab_ATX_PSU.png ├── Laser_load.png ├── MainsBreakOutBox.png ├── Mains_Box.png ├── MultiSwitch.png ├── MultiSwitch2.png ├── PSU_cover.png ├── PSU_tube.png ├── PT_camera.anim.gif ├── PotBox.png ├── PowerBank.png ├── SunBot.png ├── Turntable.png ├── Variac.png └── readme.md ├── global_defs.scad ├── lib.scad ├── libtest.png ├── libtest.scad ├── printed ├── box.scad ├── box_assembly.scad ├── butt_box.scad ├── cable_clip.scad ├── cable_grommets.scad ├── camera_housing.scad ├── carriers.scad ├── corner_block.scad ├── door_hinge.scad ├── door_latch.scad ├── drag_chain.scad ├── fan_guard.scad ├── fixing_block.scad ├── flat_hinge.scad ├── foot.scad ├── gridfinity.scad ├── handle.scad ├── knob.scad ├── led_bezel.scad ├── pcb_mount.scad ├── pocket_handle.scad ├── press_fit.scad ├── printed_box.scad ├── printed_pulleys.scad ├── psu_shroud.scad ├── ribbon_clamp.scad ├── screw_knob.scad ├── socket_box.scad ├── ssr_shroud.scad └── strap_handle.scad ├── readme.md ├── scripts ├── blurb.py ├── bom.py ├── c14n_stl.py ├── changelog.py ├── deps.py ├── doc_scripts.py ├── dxfs.py ├── exports.py ├── gallery.py ├── make_all.py ├── openscad.py ├── options.py ├── panels.py ├── plateup.py ├── platters.py ├── readme.md ├── render.py ├── set_config.py ├── stls.py ├── svgs.py ├── tests.py ├── times.py ├── tmpdir.py └── views.py ├── tests ├── 7_segments.scad ├── BLDC_motors.scad ├── BOM.scad ├── DIP.scad ├── HT_pipes.scad ├── IECs.scad ├── LDRs.scad ├── LED_bezel.scad ├── LED_meters.scad ├── LEDs.scad ├── PCB.scad ├── PCB_mount.scad ├── PCB_utils.scad ├── PCBs.scad ├── PSU_shroud.scad ├── PSUs.scad ├── SBR_rails.scad ├── SK_brackets.scad ├── SMDs.scad ├── SSR_shroud.scad ├── SSRs.scad ├── Swiss_clips.scad ├── annotation.scad ├── antennas.scad ├── axials.scad ├── ball_bearings.scad ├── batteries.scad ├── bearing_blocks.scad ├── belts.scad ├── bezier.scad ├── blowers.scad ├── box.scad ├── box_sections.scad ├── bulldogs.scad ├── butt_box.scad ├── buttons.scad ├── cable_clip.scad ├── cable_grommets.scad ├── cable_strips.scad ├── camera_housing.scad ├── cameras.scad ├── carriers.scad ├── catenary.scad ├── chamfer.scad ├── circlips.scad ├── clip.scad ├── components.scad ├── core_xy.scad ├── corner_block.scad ├── d_connectors.scad ├── dimension.scad ├── displays.scad ├── dogbones.scad ├── door_hinge.scad ├── door_latch.scad ├── drag_chain.scad ├── extrusion_brackets.scad ├── extrusions.scad ├── fan_guard.scad ├── fans.scad ├── fastons.scad ├── fillet.scad ├── fixing_block.scad ├── flat_hinge.scad ├── foot.scad ├── fuseholder.scad ├── gear_motors.scad ├── geared_steppers.scad ├── gears.scad ├── global.scad ├── green_terminals.scad ├── gridfinity.scad ├── handle.scad ├── hanging_hole.scad ├── horiholes.scad ├── hot_ends.scad ├── hygrometer.scad ├── inserts.scad ├── jack.scad ├── knob.scad ├── layout.scad ├── leadnuts.scad ├── light_strips.scad ├── linear_bearings.scad ├── magnets.scad ├── mains_sockets.scad ├── maths.scad ├── microswitches.scad ├── microview.scad ├── modules.scad ├── nuts.scad ├── o_ring.scad ├── offset.scad ├── opengrab.scad ├── panel_meters.scad ├── photo_interrupters.scad ├── pillars.scad ├── pillow_blocks.scad ├── pin_headers.scad ├── png │ ├── 7_segments.png │ ├── annotation.png │ ├── antennas.png │ ├── axials.png │ ├── ball_bearings.png │ ├── batteries.png │ ├── bearing_blocks.png │ ├── belts.png │ ├── bezier.png │ ├── bldc_motors.png │ ├── blowers.png │ ├── bom.png │ ├── box.png │ ├── box_sections.png │ ├── bulldogs.png │ ├── butt_box.png │ ├── buttons.png │ ├── cable_clip.png │ ├── cable_grommets.png │ ├── cable_strips.png │ ├── camera_housing.png │ ├── cameras.png │ ├── carriers.png │ ├── catenary.png │ ├── chamfer.png │ ├── circlips.png │ ├── clip.png │ ├── components.png │ ├── core_xy.png │ ├── corner_block.png │ ├── d_connectors.png │ ├── dimension.png │ ├── dip.png │ ├── displays.png │ ├── dogbones.png │ ├── door_hinge.png │ ├── door_latch.png │ ├── drag_chain.png │ ├── extrusion_brackets.png │ ├── extrusions.png │ ├── fan_guard.png │ ├── fans.png │ ├── fastons.png │ ├── fillet.png │ ├── fixing_block.png │ ├── flat_hinge.png │ ├── foot.png │ ├── fuseholder.png │ ├── gear_motors.png │ ├── geared_steppers.png │ ├── gears.png │ ├── global.png │ ├── green_terminals.png │ ├── gridfinity.png │ ├── handle.png │ ├── hanging_hole.png │ ├── horiholes.png │ ├── hot_ends.png │ ├── ht_pipes.png │ ├── hygrometer.png │ ├── iecs.png │ ├── inserts.png │ ├── jack.png │ ├── knob.png │ ├── kp_pillow_blocks.png │ ├── layout.png │ ├── ldrs.png │ ├── leadnuts.png │ ├── led_bezel.png │ ├── led_meters.png │ ├── leds.png │ ├── light_strips.png │ ├── linear_bearings.png │ ├── magnets.png │ ├── mains_sockets.png │ ├── maths.png │ ├── microswitches.png │ ├── microview.png │ ├── modules.png │ ├── nuts.png │ ├── o_ring.png │ ├── offset.png │ ├── opengrab.png │ ├── panel_meters.png │ ├── pcb.png │ ├── pcb_mount.png │ ├── pcb_utils.png │ ├── pcbs.png │ ├── photo_interrupters.png │ ├── pillars.png │ ├── pillow_blocks.png │ ├── pin_headers.png │ ├── pocket_handle.png │ ├── polyholes.png │ ├── potentiometers.png │ ├── press_fit.png │ ├── printed_box.png │ ├── printed_pulleys.png │ ├── psu_shroud.png │ ├── psus.png │ ├── pulleys.png │ ├── quadrant.png │ ├── radials.png │ ├── rails.png │ ├── ribbon_clamp.png │ ├── ring_terminals.png │ ├── rockers.png │ ├── rod.png │ ├── rod_ends.png │ ├── round.png │ ├── rounded_cylinder.png │ ├── rounded_polygon.png │ ├── rounded_rectangle.png │ ├── rounded_right_triangle.png │ ├── rounded_triangle.png │ ├── sbr_rails.png │ ├── screw_knob.png │ ├── screws.png │ ├── scs_bearing_blocks.png │ ├── sealing_strip.png │ ├── sector.png │ ├── servo_motors.png │ ├── shaft_couplings.png │ ├── sheets.png │ ├── sk_brackets.png │ ├── smds.png │ ├── socket_box.png │ ├── spades.png │ ├── sphere.png │ ├── splines.png │ ├── spools.png │ ├── springs.png │ ├── ssr_shroud.png │ ├── ssrs.png │ ├── stepper_motors.png │ ├── strap_handle.png │ ├── sweep.png │ ├── swiss_clips.png │ ├── teardrops.png │ ├── terminals.png │ ├── thread.png │ ├── toggles.png │ ├── transformers.png │ ├── ttracks.png │ ├── tube.png │ ├── tubings.png │ ├── variacs.png │ ├── veroboard.png │ ├── washers.png │ ├── wire.png │ └── zipties.png ├── pocket_handle.scad ├── polyholes.scad ├── potentiometers.scad ├── press_fit.scad ├── printed_box.scad ├── printed_pulleys.scad ├── pulleys.scad ├── quadrant.scad ├── radials.scad ├── rails.scad ├── ribbon_clamp.scad ├── ring_terminals.scad ├── rockers.scad ├── rod.scad ├── rod_ends.scad ├── round.scad ├── rounded_cylinder.scad ├── rounded_polygon.scad ├── rounded_rectangle.scad ├── rounded_triangle.scad ├── screw_knob.scad ├── screws.scad ├── sealing_strip.scad ├── sector.scad ├── servo_motors.scad ├── shaft_couplings.scad ├── sheets.scad ├── socket_box.scad ├── spades.scad ├── sphere.scad ├── splines.scad ├── spools.scad ├── springs.scad ├── stepper_motors.scad ├── strap_handle.scad ├── sweep.scad ├── teardrops.scad ├── terminals.scad ├── thread.scad ├── toggles.scad ├── transformers.scad ├── ttracks.scad ├── tube.scad ├── tubings.scad ├── variacs.scad ├── veroboard.scad ├── washers.scad ├── wire.scad └── zipties.scad ├── utils ├── annotation.scad ├── bezier.scad ├── catenary.scad ├── chamfer.scad ├── core │ ├── bom.scad │ ├── clip.scad │ ├── core.scad │ ├── global.scad │ ├── polyholes.scad │ ├── rounded_rectangle.scad │ ├── sphere.scad │ └── teardrops.scad ├── core_xy.scad ├── dimension.scad ├── dogbones.scad ├── fillet.scad ├── gears.scad ├── hanging_hole.scad ├── horiholes.scad ├── layout.scad ├── maths.scad ├── offset.scad ├── pcb_utils.scad ├── quadrant.scad ├── round.scad ├── rounded_cylinder.scad ├── rounded_polygon.scad ├── rounded_triangle.scad ├── sector.scad ├── splines.scad ├── sweep.scad ├── thread.scad └── tube.scad └── vitamins ├── 7_segment.scad ├── 7_segments.scad ├── antenna.scad ├── antennas.scad ├── axial.scad ├── axials.scad ├── ball_bearing.scad ├── ball_bearings.scad ├── batteries.scad ├── battery.scad ├── bearing_block.scad ├── bearing_blocks.scad ├── belt.scad ├── belts.scad ├── bldc_motor.scad ├── bldc_motors.scad ├── blower.scad ├── blowers.scad ├── box_section.scad ├── box_sections.scad ├── bulldog.scad ├── bulldogs.scad ├── button.scad ├── buttons.scad ├── cable_strip.scad ├── camera.scad ├── cameras.scad ├── circlip.scad ├── circlips.scad ├── component.scad ├── components.scad ├── d_connector.scad ├── d_connectors.scad ├── dip.scad ├── display.scad ├── displays.scad ├── e3d.scad ├── extrusion.scad ├── extrusion_bracket.scad ├── extrusion_brackets.scad ├── extrusions.scad ├── fan.scad ├── fans.scad ├── faston.scad ├── fastons.scad ├── fuseholder.scad ├── gear_motor.scad ├── gear_motors.scad ├── geared_stepper.scad ├── geared_steppers.scad ├── green_terminal.scad ├── green_terminals.scad ├── hot_end.scad ├── hot_ends.scad ├── ht_pipe.scad ├── ht_pipes.scad ├── hygrometer.scad ├── iec.scad ├── iecs.scad ├── insert.scad ├── inserts.scad ├── jack.scad ├── jhead.scad ├── ldr.scad ├── ldrs.scad ├── leadnut.scad ├── leadnuts.scad ├── led.scad ├── led_meter.scad ├── led_meters.scad ├── leds.scad ├── light_strip.scad ├── light_strips.scad ├── linear_bearing.scad ├── linear_bearings.scad ├── magnet.scad ├── magnets.scad ├── mains_socket.scad ├── mains_sockets.scad ├── microswitch.scad ├── microswitches.scad ├── microview.scad ├── microview ├── GKM-002_R05_CHIP_UPPER_HOUSING-1.STL ├── GKM-003_R05_CHIP_LOWER_HOUSING.STL └── LICENSE.txt ├── module.scad ├── modules.scad ├── nut.scad ├── nuts.scad ├── o_ring.scad ├── opengrab.scad ├── panel_meter.scad ├── panel_meters.scad ├── pcb.scad ├── pcbs.scad ├── photo_interrupter.scad ├── photo_interrupters.scad ├── pillar.scad ├── pillars.scad ├── pillow_block.scad ├── pillow_blocks.scad ├── pin_header.scad ├── pin_headers.scad ├── potentiometer.scad ├── potentiometers.scad ├── psu.scad ├── psus.scad ├── pulley.scad ├── pulleys.scad ├── radial.scad ├── radials.scad ├── rail.scad ├── rails.scad ├── ring_terminal.scad ├── ring_terminals.scad ├── rocker.scad ├── rockers.scad ├── rod.scad ├── rod_end.scad ├── rod_ends.scad ├── sbr_rail.scad ├── sbr_rails.scad ├── screw.scad ├── screws.scad ├── sealing_strip.scad ├── servo_motor.scad ├── servo_motors.scad ├── shaft_coupling.scad ├── shaft_couplings.scad ├── sheet.scad ├── sheets.scad ├── sk_bracket.scad ├── sk_brackets.scad ├── smd.scad ├── smds.scad ├── spade.scad ├── spades.scad ├── spool.scad ├── spools.scad ├── spring.scad ├── springs.scad ├── ssr.scad ├── ssrs.scad ├── stepper_motor.scad ├── stepper_motors.scad ├── stl └── Molex_5023860470.stl ├── swiss_clip.scad ├── swiss_clips.scad ├── terminal.scad ├── toggle.scad ├── toggles.scad ├── transformer.scad ├── transformers.scad ├── ttrack.scad ├── ttracks.scad ├── tubing.scad ├── tubings.scad ├── variac.scad ├── variacs.scad ├── veroboard.scad ├── washer.scad ├── washers.scad ├── wire.scad ├── ziptie.scad └── zipties.scad /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto eol=lf 3 | 4 | # Declare text files that are normalized and converted on checkout. 5 | *.scad text 6 | *.py text 7 | *.md text 8 | 9 | # Handle Windows batch and command files 10 | *.{bat,[bB][aA][tT]} text eol=crlf 11 | *.{cmd,[cC][mM][dD]} text eol=crlf 12 | 13 | # Denote files that are binary and should not be modified. 14 | *.png binary 15 | *.jpg binary 16 | 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *_canute.bat 2 | Thumbs.db 3 | __pycache__ 4 | *.pyc 5 | tests/bom/ 6 | *.deps 7 | *.log 8 | *.html 9 | bounds.json 10 | options.json 11 | times.txt 12 | *_diff.png 13 | *.echo 14 | cmd_times.txt 15 | *.gco 16 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/CHANGELOG.md -------------------------------------------------------------------------------- /core.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | // Include this file to use the minimum library plus screws, nuts and washers 22 | // 23 | include 24 | // 25 | // Fasteners used by a lot of other vitamins 26 | // 27 | include 28 | -------------------------------------------------------------------------------- /docs/7 SEGMENT.TTF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/docs/7 SEGMENT.TTF -------------------------------------------------------------------------------- /docs/box.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/docs/box.odg -------------------------------------------------------------------------------- /docs/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/docs/box.png -------------------------------------------------------------------------------- /docs/metric_threads.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/docs/metric_threads.png -------------------------------------------------------------------------------- /docs/sliding_t_nut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/docs/sliding_t_nut.png -------------------------------------------------------------------------------- /docs/sliding_t_nut_small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/docs/sliding_t_nut_small.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/RPI_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/RPI_assembled.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/RPI_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/RPI_assembled_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/RPI_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/RPI_assembly.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/RPI_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/RPI_assembly_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/RPI_case_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/RPI_case_assembled.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/RPI_case_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/RPI_case_assembled_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/RPI_case_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/RPI_case_assembly.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/RPI_case_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/RPI_case_assembly_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/back_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/back_assembled.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/back_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/back_assembled_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/back_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/back_assembly.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/back_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/back_assembly_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/case_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/case_assembled.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/case_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/case_assembled_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/case_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/case_assembly.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/case_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/case_assembly_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/enviro_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/enviro_assembled.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/enviro_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/enviro_assembled_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/enviro_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/enviro_assembly.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/enviro_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/enviro_assembly_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/enviro_case_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/enviro_case_assembled.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/enviro_case_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/enviro_case_assembled_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/enviro_case_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/enviro_case_assembly.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/enviro_case_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/enviro_case_assembly_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/fan_controller_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/fan_controller_assembled.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/fan_controller_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/fan_controller_assembled_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/fan_controller_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/fan_controller_assembly.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/fan_controller_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/fan_controller_assembly_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/main_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/main_assembled.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/main_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/main_assembled_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/main_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/main_assembly.png -------------------------------------------------------------------------------- /examples/EnviroPlus/assemblies/main_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/assemblies/main_assembly_tn.png -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/RPI_assembly.txt: -------------------------------------------------------------------------------- 1 | RPI_assembly: 2 | Vitamins: 3 | 1 Micro SD card 4 | 1 Raspberry Pi Zero 5 | 1 Pin header 20 x 2 right_angle 6 | -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/RPI_case_assembly.txt: -------------------------------------------------------------------------------- 1 | RPI_case_assembly: 2 | Vitamins: 3 | 2 Screw M2.5 pan x 6.4mm 4 | 5 | Assemblies: 6 | 1 RPI_assembly 7 | 1 enviro_case_assembly 8 | -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/back_assembly.txt: -------------------------------------------------------------------------------- 1 | back_assembly: 2 | Vitamins: 3 | 1 Fan 17mm x 8mm 4 | 1 PMS5003 particle detector 5 | 6 | Printed: 7 | 1 enviro_plus_case_base.stl 8 | 1 fan_duct.stl 9 | -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/bom.csv: -------------------------------------------------------------------------------- 1 | 'Micro SD card', 1 2 | 'Fan 17mm x 8mm', 1 3 | 'Heatfit insert M2 x 4mm', 4 4 | 'Nut M2.5 x 2.2mm nyloc', 4 5 | 'Enviro+', 1 6 | 'Raspberry Pi Zero', 1 7 | 'Pin header 20 x 2 right_angle', 1 8 | 'PMS5003 particle detector', 1 9 | 'Screw M2 cap x 6mm', 4 10 | 'Screw M2.5 pan x 6.4mm', 2 11 | 'Screw M2.5 pan x 8mm', 4 12 | 'Screw M3 pan x 6mm', 3 13 | 'SMD capacitor 1206 10uF', 1 14 | 'SMD resistor 0805 3K3 0.125W', 1 15 | 'SOT223 package FZT851', 1 16 | 'Veroboard 6 holes x 6 strips', 1 17 | 'Washer M2 x 5mm x 0.3mm', 4 18 | 'Washer M2.5 x 5.9mm x 0.5mm', 4 19 | 'Washer M3 x 7mm x 0.5mm', 3 20 | 'Wire link 0.8mm x 6.5mm', 3 21 | 'Wire link 0.8mm x 0.4"', 1 22 | -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/case_assembly.txt: -------------------------------------------------------------------------------- 1 | case_assembly: 2 | Vitamins: 3 | 4 Heatfit insert M2 x 4mm 4 | 3 Screw M3 pan x 6mm 5 | 3 Washer M3 x 7mm x 0.5mm 6 | 7 | Printed: 8 | 1 bulkhead.stl 9 | 1 enviro_plus_case.stl 10 | 3 foot.stl 11 | -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/enviro_assembly.txt: -------------------------------------------------------------------------------- 1 | enviro_assembly: 2 | Vitamins: 3 | 1 Enviro+ 4 | 5 | Assemblies: 6 | 1 fan_controller_assembly 7 | -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/enviro_case_assembly.txt: -------------------------------------------------------------------------------- 1 | enviro_case_assembly: 2 | Vitamins: 3 | 4 Nut M2.5 x 2.2mm nyloc 4 | 4 Screw M2.5 pan x 8mm 5 | 4 Washer M2.5 x 5.9mm x 0.5mm 6 | 7 | Assemblies: 8 | 1 case_assembly 9 | 1 enviro_assembly 10 | -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/fan_controller_assembly.txt: -------------------------------------------------------------------------------- 1 | fan_controller_assembly: 2 | Vitamins: 3 | 1 SMD capacitor 1206 10uF 4 | 1 SMD resistor 0805 3K3 0.125W 5 | 1 SOT223 package FZT851 6 | 1 Veroboard 6 holes x 6 strips 7 | 3 Wire link 0.8mm x 6.5mm 8 | 1 Wire link 0.8mm x 0.4" 9 | -------------------------------------------------------------------------------- /examples/EnviroPlus/bom/main_assembly.txt: -------------------------------------------------------------------------------- 1 | main_assembly: 2 | Vitamins: 3 | 4 Screw M2 cap x 6mm 4 | 4 Washer M2 x 5mm x 0.3mm 5 | 6 | Assemblies: 7 | 1 RPI_case_assembly 8 | 1 back_assembly 9 | -------------------------------------------------------------------------------- /examples/EnviroPlus/docs/cuts.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/docs/cuts.jpg -------------------------------------------------------------------------------- /examples/EnviroPlus/docs/fan_connection.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/docs/fan_connection.jpg -------------------------------------------------------------------------------- /examples/EnviroPlus/docs/fan_controller.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/docs/fan_controller.jpg -------------------------------------------------------------------------------- /examples/EnviroPlus/docs/smt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/docs/smt.jpg -------------------------------------------------------------------------------- /examples/EnviroPlus/stls/bulkhead.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/stls/bulkhead.png -------------------------------------------------------------------------------- /examples/EnviroPlus/stls/enviro_plus_case.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/stls/enviro_plus_case.png -------------------------------------------------------------------------------- /examples/EnviroPlus/stls/enviro_plus_case_base.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/stls/enviro_plus_case_base.png -------------------------------------------------------------------------------- /examples/EnviroPlus/stls/fan_duct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/stls/fan_duct.png -------------------------------------------------------------------------------- /examples/EnviroPlus/stls/foot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/EnviroPlus/stls/foot.png -------------------------------------------------------------------------------- /examples/Gridfinity/assemblies/main_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/assemblies/main_assembled.png -------------------------------------------------------------------------------- /examples/Gridfinity/assemblies/main_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/assemblies/main_assembled_tn.png -------------------------------------------------------------------------------- /examples/Gridfinity/assemblies/main_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/assemblies/main_assembly.png -------------------------------------------------------------------------------- /examples/Gridfinity/assemblies/main_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/assemblies/main_assembly_tn.png -------------------------------------------------------------------------------- /examples/Gridfinity/bom/bom.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/bom/bom.csv -------------------------------------------------------------------------------- /examples/Gridfinity/bom/bom.txt: -------------------------------------------------------------------------------- 1 | M 2 | a 3 | i 4 | n 5 | Printed: 6 | 1| 1 123_block_stand.stl 7 | 1| 1 1x1_bin.stl 8 | 1| 1 MT2_stand.stl 9 | 1| 1 chuck_jaw_bin.stl 10 | 1| 1 chuck_stand.stl 11 | 1| 1 faceplate_stand.stl 12 | 1| 1 lathe_tool_stand.stl 13 | 14 | Assemblies: 15 | 1 main_assembly 16 | -------------------------------------------------------------------------------- /examples/Gridfinity/bom/main_assembly.txt: -------------------------------------------------------------------------------- 1 | main_assembly: 2 | Printed: 3 | 1 123_block_stand.stl 4 | 1 1x1_bin.stl 5 | 1 MT2_stand.stl 6 | 1 chuck_jaw_bin.stl 7 | 1 chuck_stand.stl 8 | 1 faceplate_stand.stl 9 | 1 lathe_tool_stand.stl 10 | -------------------------------------------------------------------------------- /examples/Gridfinity/scad/1x1_bin.scad: -------------------------------------------------------------------------------- 1 | include 2 | 3 | use 4 | 5 | box = gridfinity_bin("1x1_bin", 1, 1, 5); 6 | 7 | module 1x1_bin_stl() 8 | gridfinity_bin(box) 9 | gridfinity_partition(box, 1, 1); 10 | -------------------------------------------------------------------------------- /examples/Gridfinity/scad/chuck_jaw_bin.scad: -------------------------------------------------------------------------------- 1 | include 2 | use 3 | 4 | use 5 | 6 | box = gridfinity_bin("chuck_jaw_bin", 1, 1, 5); 7 | 8 | box_mm = gridfinity_bin_size_mm(box); 9 | 10 | bwall = 1; 11 | 12 | length = 37; 13 | width = 34; 14 | 15 | 16 | z_bot = gridfinity_base_z() + bwall; 17 | 18 | depth = box_mm.z - z_bot; 19 | 20 | module chuck_jaw_bin_stl() 21 | gridfinity_bin(box) 22 | translate_z(box_mm.z) { 23 | cube([length, width, depth * 2], true); 24 | 25 | chamfer = 1; 26 | 27 | chamfer_hole(chamfer) 28 | square([length, width], true); 29 | 30 | *hull() { 31 | rounded_rectangle([length + 2 * chamfer, width + 2 * chamfer, eps], chamfer); 32 | 33 | translate_z(-chamfer + eps / 2) 34 | cube([length, width, eps], true); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /examples/Gridfinity/scad/lathe_tool_stand.scad: -------------------------------------------------------------------------------- 1 | include 2 | 3 | use 4 | use 5 | 6 | tool_size = 8; 7 | 8 | rows = 2; 9 | cols = 5; 10 | spacing = 8; 11 | 12 | hole = tool_size + 0.2; 13 | 14 | tool_pitch = hole + spacing; 15 | 16 | box = gridfinity_bin("lathe_tool_stand", 2, 1, 5); 17 | 18 | module holes() 19 | for(x = [0 : cols - 1], y = [0 : rows - 1]) 20 | translate([x - (cols -1) / 2, y - (rows - 1) / 2] * tool_pitch) 21 | children(); 22 | 23 | box_mm = gridfinity_bin_size_mm(box); 24 | wall = 1.75; 25 | bwall = 1; 26 | 27 | module lathe_tool_stand_stl() 28 | gridfinity_bin(box) union() { 29 | translate_z(box_mm.z) 30 | holes() { 31 | cube([hole, hole, 2 * (box_mm.z - gridfinity_base_z() - bwall)], true); 32 | 33 | chamfer = 1; 34 | chamfer_hole(chamfer) 35 | square([hole, hole], true); 36 | } 37 | 38 | translate_z(gridfinity_base_z() + bwall) 39 | difference() { 40 | rounded_rectangle([box_mm.x - 2 * wall, box_mm.y - 2 * wall, box_mm.z - gridfinity_base_z() - bwall - wall], gridfinity_corner_r() - wall); 41 | 42 | holes() 43 | rounded_rectangle([hole + 2 * wall, hole + 2 * wall, 100], wall, center = true); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /examples/Gridfinity/scad/main.scad: -------------------------------------------------------------------------------- 1 | // 2 | //! Gridfinity examples 3 | // 4 | include 5 | 6 | use 7 | use 8 | use 9 | use 10 | use <1x1_bin.scad> 11 | use <123_block_stand.scad> 12 | use 13 | 14 | 15 | //! Show all the Gridfinity parts 16 | module main_assembly() 17 | assembly("main") { 18 | $manifold = true; 19 | 20 | lathe_tool_stand_stl(); 21 | 22 | translate([42, 63]) 23 | MT2_stand_stl(); 24 | 25 | translate([42 * 2, -42 / 2]) 26 | chuck_stand_stl(); 27 | 28 | translate([-21, -42]) 29 | chuck_jaw_bin_stl(); 30 | 31 | translate([21, -42]) 32 | 1x1_bin_stl(); 33 | 34 | translate([42 * 4, -42 / 2]) 35 | 123_block_stand_stl(); 36 | 37 | translate([42 * 6.5, 0]) 38 | faceplate_stand_stl(); 39 | } 40 | 41 | 42 | main_assembly(); 43 | -------------------------------------------------------------------------------- /examples/Gridfinity/stls/123_block_stand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/stls/123_block_stand.png -------------------------------------------------------------------------------- /examples/Gridfinity/stls/1x1_bin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/stls/1x1_bin.png -------------------------------------------------------------------------------- /examples/Gridfinity/stls/MT2_stand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/stls/MT2_stand.png -------------------------------------------------------------------------------- /examples/Gridfinity/stls/chuck_jaw_bin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/stls/chuck_jaw_bin.png -------------------------------------------------------------------------------- /examples/Gridfinity/stls/chuck_stand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/stls/chuck_stand.png -------------------------------------------------------------------------------- /examples/Gridfinity/stls/faceplate_stand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/stls/faceplate_stand.png -------------------------------------------------------------------------------- /examples/Gridfinity/stls/lathe_tool_stand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/Gridfinity/stls/lathe_tool_stand.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/base_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/base_assembled.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/base_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/base_assembled_tn.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/base_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/base_assembly.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/base_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/base_assembly_tn.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/feet_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/feet_assembled.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/feet_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/feet_assembled_tn.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/feet_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/feet_assembly.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/feet_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/feet_assembly_tn.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/main_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/main_assembled.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/main_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/main_assembled_tn.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/main_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/main_assembly.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/main_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/main_assembly_tn.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/mains_in_assembled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/mains_in_assembled.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/mains_in_assembled_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/mains_in_assembled_tn.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/mains_in_assembly.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/mains_in_assembly.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/assemblies/mains_in_assembly_tn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/assemblies/mains_in_assembly_tn.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/bom/base_assembly.txt: -------------------------------------------------------------------------------- 1 | base_assembly: 2 | Vitamins: 3 | 2 Heatfit insert M3 x 5.8mm 4 | 5 | Printed: 6 | 1 socket_box.stl 7 | -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/bom/bom.csv: -------------------------------------------------------------------------------- 1 | 'Ferrule for 1.5mm^2 wire - not shown', 3 2 | 'Wire blue 30/0.25mm strands, length 150mm - not shown', 2 3 | 'Wire brown 30/0.25mm strands, length 150mm - not shown', 2 4 | 'Wire green & yellow 30/0.25mm strands, length 150mm - not shown', 2 5 | 'IEC inlet for ATX', 1 6 | 'Heatfit insert M3 x 5.8mm', 2 7 | '4mm shielded jack socket blue', 2 8 | '4mm shielded jack socket brown', 1 9 | '4mm shielded jack socket green', 2 10 | 'Mains socket 13A', 1 11 | 'Nut M3 x 2.4mm nyloc', 6 12 | 'Screw M3 cs cap x 12mm', 2 13 | 'Screw M3 cs cap x 20mm', 2 14 | 'Screw M3 dome x 10mm', 4 15 | 'Heatshrink sleeving ID 3.2mm x 15mm - not shown', 8 16 | 'Washer M3 x 7mm x 0.5mm', 10 17 | -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/bom/bom.txt: -------------------------------------------------------------------------------- 1 | Vitamins: 2 | M 3 | a 4 | i 5 | n 6 | B F M s 7 | a e a 8 | s e i i 9 | e t n n 10 | | | 3| | 3 Ferrule for 1.5mm^2 wire - not shown 11 | | | 1| 1| 2 Wire blue 30/0.25mm strands, length 150mm - not shown 12 | | | | 2| 2 Wire brown 30/0.25mm strands, length 150mm - not shown 13 | | | 1| 1| 2 Wire green & yellow 30/0.25mm strands, length 150mm - not shown 14 | | | | 1| 1 IEC inlet for ATX 15 | 2| | | | 2 Heatfit insert M3 x 5.8mm 16 | | | 2| | 2 4mm shielded jack socket blue 17 | | | 1| | 1 4mm shielded jack socket brown 18 | | | 2| | 2 4mm shielded jack socket green 19 | | | 1| | 1 Mains socket 13A 20 | | 4| | 2| 6 Nut M3 x 2.4mm nyloc 21 | | | | 2| 2 Screw M3 cs cap x 12mm 22 | | | 2| | 2 Screw M3 cs cap x 20mm 23 | | 4| | | 4 Screw M3 dome x 10mm 24 | | | 5| 3| 8 Heatshrink sleeving ID 3.2mm x 15mm - not shown 25 | | 8| | 2| 10 Washer M3 x 7mm x 0.5mm 26 | 27 | Printed: 28 | | 4| | | 4 foot.stl 29 | 1| | | | 1 socket_box.stl 30 | 31 | Assemblies: 32 | 1 base_assembly 33 | 1 feet_assembly 34 | 1 main_assembly 35 | 1 mains_in_assembly 36 | -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/bom/feet_assembly.txt: -------------------------------------------------------------------------------- 1 | feet_assembly: 2 | Vitamins: 3 | 4 Nut M3 x 2.4mm nyloc 4 | 4 Screw M3 dome x 10mm 5 | 8 Washer M3 x 7mm x 0.5mm 6 | 7 | Printed: 8 | 4 foot.stl 9 | 10 | Assemblies: 11 | 1 base_assembly 12 | -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/bom/main_assembly.txt: -------------------------------------------------------------------------------- 1 | main_assembly: 2 | Vitamins: 3 | 3 Ferrule for 1.5mm^2 wire - not shown 4 | 1 Wire blue 30/0.25mm strands, length 150mm - not shown 5 | 1 Wire green & yellow 30/0.25mm strands, length 150mm - not shown 6 | 2 4mm shielded jack socket blue 7 | 1 4mm shielded jack socket brown 8 | 2 4mm shielded jack socket green 9 | 1 Mains socket 13A 10 | 2 Screw M3 cs cap x 20mm 11 | 5 Heatshrink sleeving ID 3.2mm x 15mm - not shown 12 | 13 | Assemblies: 14 | 1 mains_in_assembly 15 | -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/bom/mains_in_assembly.txt: -------------------------------------------------------------------------------- 1 | mains_in_assembly: 2 | Vitamins: 3 | 1 Wire blue 30/0.25mm strands, length 150mm - not shown 4 | 2 Wire brown 30/0.25mm strands, length 150mm - not shown 5 | 1 Wire green & yellow 30/0.25mm strands, length 150mm - not shown 6 | 1 IEC inlet for ATX 7 | 2 Nut M3 x 2.4mm nyloc 8 | 2 Screw M3 cs cap x 12mm 9 | 3 Heatshrink sleeving ID 3.2mm x 15mm - not shown 10 | 2 Washer M3 x 7mm x 0.5mm 11 | 12 | Assemblies: 13 | 1 feet_assembly 14 | -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/docs/inside.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/docs/inside.jpg -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/docs/inside_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/docs/inside_small.jpg -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/platters/all.scad: -------------------------------------------------------------------------------- 1 | include 2 | 3 | *use_stl("socket_box"); // Importing the STL gives a CGAL error although NetFabb finds nothing wrong with it. 4 | 5 | use <../scad/bob_main.scad> 6 | 7 | render() socket_box_stl(); 8 | 9 | for(i = [0 : 3]) 10 | translate([i * 25 - 1.5 * 25, -70]) 11 | use_stl("foot"); 12 | -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/stls/deps/all.txt: -------------------------------------------------------------------------------- 1 | socket_box.stl 2 | foot.stl 3 | foot.stl 4 | foot.stl 5 | foot.stl 6 | -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/stls/foot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/stls/foot.png -------------------------------------------------------------------------------- /examples/MainsBreakOutBox/stls/socket_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/examples/MainsBreakOutBox/stls/socket_box.png -------------------------------------------------------------------------------- /examples/PT_camera/PT_camera.scad: -------------------------------------------------------------------------------- 1 | include <../../vitamins/geared_steppers.scad> 2 | include <../../core.scad> 3 | include <../../vitamins/cameras.scad> 4 | use <../../vitamins/pcb.scad> 5 | 6 | module ptc(ang2) { 7 | rotate([180,0,0]) 8 | union(){ 9 | geared_stepper(28BYJ_48,ang2); 10 | rotate([90,0,180-ang2]) 11 | translate([9.8,-16.5,1.7]) 12 | rotate([0,0,90]) 13 | camera(cameras[0]); 14 | } 15 | } 16 | 17 | module pt(ang,ang2) { 18 | rotate([180,0,0]) geared_stepper(28BYJ_48,ang); 19 | rotate([0,0,ang]) rotate([270,0,0]) translate([0,-29.0,-1.5]) ptc(ang2); 20 | } 21 | 22 | deg=90; 23 | c=90; 24 | 25 | if($t<0.125){ 26 | a=180+$t/0.125*deg; 27 | pt(a,c); 28 | }else if ($t<0.25){ 29 | a=180+deg-($t-0.125)/0.125*deg; 30 | pt(a,c); 31 | }else if ($t<0.375){ 32 | b=c+($t-0.25)/0.125*deg; 33 | pt(180,b); 34 | }else if ($t<0.5){ 35 | b=c+deg-($t-0.375)/0.125*deg; 36 | pt(180,b); 37 | } 38 | else if($t<0.625){ 39 | a=180+($t-0.5)/0.125*deg; 40 | b=c+deg-90+($t-0.5)/0.125*deg; 41 | pt(a,b); 42 | }else if ($t<0.75){ 43 | a=180+deg-($t-0.625)/0.125*deg; 44 | b=c+deg-($t-0.625)/0.125*deg; 45 | pt(a,b); 46 | }else if ($t<0.875){ 47 | a=180-($t-0.75)/0.125*deg; 48 | b=c-($t-0.75)/0.125*deg; 49 | pt(a,b); 50 | }else{ 51 | a=90+($t-0.875)/0.125*deg; 52 | b=c+deg-180+($t-0.875)/0.125*deg; 53 | pt(a,b); 54 | } 55 | -------------------------------------------------------------------------------- /gallery/ArduinoThermostat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/ArduinoThermostat.png -------------------------------------------------------------------------------- /gallery/Blinder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/Blinder.png -------------------------------------------------------------------------------- /gallery/ClockSetter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/ClockSetter.png -------------------------------------------------------------------------------- /gallery/EnviroPlus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/EnviroPlus.png -------------------------------------------------------------------------------- /gallery/FilamentDryBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/FilamentDryBox.png -------------------------------------------------------------------------------- /gallery/HydraBot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/HydraBot.png -------------------------------------------------------------------------------- /gallery/IOT_50V_PSU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/IOT_50V_PSU.png -------------------------------------------------------------------------------- /gallery/IOT_LOAD.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/IOT_LOAD.png -------------------------------------------------------------------------------- /gallery/LED_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/LED_box.png -------------------------------------------------------------------------------- /gallery/Lab_ATX_PSU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/Lab_ATX_PSU.png -------------------------------------------------------------------------------- /gallery/Laser_load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/Laser_load.png -------------------------------------------------------------------------------- /gallery/MainsBreakOutBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/MainsBreakOutBox.png -------------------------------------------------------------------------------- /gallery/Mains_Box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/Mains_Box.png -------------------------------------------------------------------------------- /gallery/MultiSwitch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/MultiSwitch.png -------------------------------------------------------------------------------- /gallery/MultiSwitch2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/MultiSwitch2.png -------------------------------------------------------------------------------- /gallery/PSU_cover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/PSU_cover.png -------------------------------------------------------------------------------- /gallery/PSU_tube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/PSU_tube.png -------------------------------------------------------------------------------- /gallery/PT_camera.anim.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/PT_camera.anim.gif -------------------------------------------------------------------------------- /gallery/PotBox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/PotBox.png -------------------------------------------------------------------------------- /gallery/PowerBank.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/PowerBank.png -------------------------------------------------------------------------------- /gallery/SunBot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/SunBot.png -------------------------------------------------------------------------------- /gallery/Turntable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/Turntable.png -------------------------------------------------------------------------------- /gallery/Variac.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/gallery/Variac.png -------------------------------------------------------------------------------- /libtest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/libtest.png -------------------------------------------------------------------------------- /scripts/dxfs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # 4 | # NopSCADlib Copyright Chris Palmer 2018 5 | # nop.head@gmail.com 6 | # hydraraptor.blogspot.com 7 | # 8 | # This file is part of NopSCADlib. 9 | # 10 | # NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 11 | # GNU General Public License as published by the Free Software Foundation, either version 3 of 12 | # the License, or (at your option) any later version. 13 | # 14 | # NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 15 | # without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License along with NopSCADlib. 19 | # If not, see . 20 | # 21 | #! Generates DXF files for all the routed parts listed on the BOM or a specified list. 22 | # 23 | from __future__ import print_function 24 | import sys 25 | 26 | from exports import make_parts 27 | 28 | if __name__ == '__main__': 29 | if len(sys.argv) > 1 and not '.' in sys.argv[1]: 30 | target, parts = sys.argv[1], sys.argv[2:] 31 | else: 32 | target, parts = None, sys.argv[1:] 33 | make_parts(target, 'dxf', parts) 34 | -------------------------------------------------------------------------------- /scripts/stls.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # 4 | # NopSCADlib Copyright Chris Palmer 2018 5 | # nop.head@gmail.com 6 | # hydraraptor.blogspot.com 7 | # 8 | # This file is part of NopSCADlib. 9 | # 10 | # NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 11 | # GNU General Public License as published by the Free Software Foundation, either version 3 of 12 | # the License, or (at your option) any later version. 13 | # 14 | # NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 15 | # without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License along with NopSCADlib. 19 | # If not, see . 20 | # 21 | #! Generates STL files for all the printed parts listed on the BOM or a specified list. 22 | 23 | from __future__ import print_function 24 | import sys 25 | 26 | from exports import make_parts 27 | 28 | if __name__ == '__main__': 29 | if len(sys.argv) > 1 and not '.' in sys.argv[1]: 30 | target, parts = sys.argv[1], sys.argv[2:] 31 | else: 32 | target, parts = None, sys.argv[1:] 33 | make_parts(target, 'stl', parts) 34 | -------------------------------------------------------------------------------- /scripts/svgs.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | # 4 | # NopSCADlib Copyright Chris Palmer 2018 5 | # nop.head@gmail.com 6 | # hydraraptor.blogspot.com 7 | # 8 | # This file is part of NopSCADlib. 9 | # 10 | # NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 11 | # GNU General Public License as published by the Free Software Foundation, either version 3 of 12 | # the License, or (at your option) any later version. 13 | # 14 | # NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 15 | # without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 16 | # See the GNU General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU General Public License along with NopSCADlib. 19 | # If not, see . 20 | # 21 | #! Generates SVG files for all the routed parts listed on the BOM or a specified list. 22 | 23 | from __future__ import print_function 24 | import sys 25 | 26 | from exports import make_parts 27 | 28 | if __name__ == '__main__': 29 | if len(sys.argv) > 1 and not '.' in sys.argv[1]: 30 | target, parts = sys.argv[1], sys.argv[2:] 31 | else: 32 | target, parts = None, sys.argv[1:] 33 | make_parts(target, 'svg', parts) 34 | -------------------------------------------------------------------------------- /tests/7_segments.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2021 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/7_segments.scad> 23 | 24 | function digits(s) = 7_segment_digits(s) < 2 ? 2 : 1; 25 | 26 | module 7_segments() 27 | layout([for(s = 7_segments) 7_segment_size(s).x * digits(s)], 3) let(s = 7_segments[$i]) 28 | 7_segment_digits(s, digits(s)); 29 | 30 | if($preview) 31 | 7_segments(); 32 | -------------------------------------------------------------------------------- /tests/BLDC_motors.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2021 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/bldc_motors.scad> 23 | 24 | module bldc_motors() 25 | layout([for(b = bldc_motors) BLDC_diameter(b)]) 26 | rotate(-90) 27 | BLDC(bldc_motors[$i]); 28 | 29 | if($preview) 30 | let($show_threads = 1) 31 | bldc_motors(); 32 | -------------------------------------------------------------------------------- /tests/DIP.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../vitamins/dip.scad> 21 | 22 | dips = [[6, "OPTO"], [8, "NE555"], [14, "74HC00"], [16, "ULN2003"], [18, "ULN2803"], [20, "74HC245"], [28, "ATMEGA328"]]; 23 | 24 | module dips() 25 | for(i = [0 : len(dips) - 1]) let(dip = dips[i]) 26 | translate([i * inch(0.5), 0]) 27 | pdip(dip[0], dip[1], dip[0] > 20); 28 | 29 | if($preview) 30 | dips(); 31 | -------------------------------------------------------------------------------- /tests/HT_pipes.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Jan Giebels 2024 3 | // 4 | // This file is part of NopSCADlib. 5 | // 6 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 7 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 8 | // the License, or (at your option) any later version. 9 | // 10 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 11 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 12 | // See the GNU General Public License for more details. 13 | // 14 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 15 | // If not, see . 16 | // 17 | include <../utils/core/core.scad> 18 | use <../utils/layout.scad> 19 | 20 | include <../vitamins/ht_pipes.scad> 21 | 22 | module ht_pipes() 23 | color("grey") 24 | layout([for(p = ht_pipes) 40 + pipe_od(p)]) let(p = ht_pipes[$i], len = pipe_length(p)) { 25 | if(len <= 34) 26 | translate_z(len) 27 | ht_cap(p); 28 | 29 | if(len >= 101) 30 | ht_pipe(p); 31 | 32 | if(len == 100) 33 | ht_tpipe(p); 34 | } 35 | 36 | if($preview) 37 | ht_pipes(); 38 | -------------------------------------------------------------------------------- /tests/IECs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/iecs.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module iecs() 25 | layout([for(i = iecs) iec_flange_h(i)], 10) 26 | rotate(90) 27 | iec_assembly(iecs[$i], 3); 28 | 29 | if($preview) 30 | iecs(); 31 | -------------------------------------------------------------------------------- /tests/LDRs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | include <../vitamins/ldrs.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module ldrs() 25 | layout([for(l = ldrs) ldr_diameter(l)], 5) 26 | LDR(ldrs[$i]); 27 | 28 | ldrs(); 29 | -------------------------------------------------------------------------------- /tests/LED_bezel.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/leds.scad> 23 | use <../printed/led_bezel.scad> 24 | 25 | module led_bezels() 26 | layout([for(l = LEDs) max(led_diameter(l))], 6) let(l = LEDs[$i], b = led_bezel(l)) 27 | if($preview) 28 | led_bezel_fastened_assembly(b, 3, ["yellow", "blue", "red", "orange"][$i % 4]); 29 | else { 30 | led_bezel(b); 31 | 32 | translate([0, -20]) 33 | led_bezel_retainer(b); 34 | } 35 | 36 | 37 | led_bezels(); 38 | -------------------------------------------------------------------------------- /tests/LEDs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/leds.scad> 23 | 24 | module leds() 25 | layout([for(l = LEDs) max(led_diameter(l))], 5) 26 | led(LEDs[$i], ["green", "blue", "red", "orange"][$i % 4]); 27 | 28 | if($preview) 29 | leds(); 30 | -------------------------------------------------------------------------------- /tests/PSU_shroud.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/psus.scad> 21 | 22 | use <../utils/layout.scad> 23 | use <../printed/psu_shroud.scad> 24 | 25 | thickness = 3; 26 | 27 | module psu_shrouds() 28 | layout([for(p = psus) psu_width(p)], 10) let(psu = psus[$i]) 29 | if(psu_terminals(psu)) 30 | rotate(90) { 31 | if($preview) 32 | psu_shroud_fastened_assembly(psu, 6, thickness, psu[0]); 33 | else 34 | psu_shroud(psu, 6, psu[0]); 35 | } 36 | 37 | psu_shrouds(); 38 | -------------------------------------------------------------------------------- /tests/SSR_shroud.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | include <../vitamins/ssrs.scad> 21 | 22 | use <../utils/layout.scad> 23 | use <../printed/ssr_shroud.scad> 24 | 25 | thickness = 3; 26 | 27 | module ssr_shrouds() 28 | layout([for(s = ssrs) ssr_width(s)], 15) let(ssr = ssrs[$i]) 29 | rotate(90) { 30 | if($preview) 31 | ssr_shroud_fastened_assembly(ssr, 6, thickness, ssr[0]); 32 | else 33 | ssr_shroud(ssr, 6, ssr[0]); 34 | } 35 | 36 | ssr_shrouds(); 37 | -------------------------------------------------------------------------------- /tests/SSRs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/ssrs.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module ssrs() 25 | layout([for(s = ssrs) ssr_width(s)], 15) 26 | rotate(90) 27 | ssr_assembly(ssrs[$i], M4_cap_screw, 3); 28 | 29 | if($preview) 30 | ssrs(); 31 | -------------------------------------------------------------------------------- /tests/annotation.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/annotation.scad> 21 | 22 | module annotations() { 23 | arrow(); 24 | 25 | translate_z(21) 26 | label("Text", halign = "center", valign = "bottom"); 27 | } 28 | 29 | if($preview) 30 | annotations(); 31 | -------------------------------------------------------------------------------- /tests/antennas.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2023 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/antennas.scad> 23 | 24 | module antennas() 25 | layout([for(a = antennas) cos(10) * antenna_length(a) ], 5, true) { 26 | antenna(antennas[$i], 3, 10); 27 | 28 | } 29 | 30 | if($preview) 31 | antennas(); 32 | -------------------------------------------------------------------------------- /tests/blowers.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/blowers.scad> 23 | 24 | module blowers() 25 | layout([for(b = blowers) blower_width(b)], 5, true) let(b = blowers[$i]){ 26 | screw = blower_screw(b); 27 | h = blower_lug(b); 28 | 29 | blower(b); 30 | 31 | blower_hole_positions(b) 32 | translate_z(h) 33 | screw_and_washer(screw, screw_length(screw, h + 5, 1, longer = true)); 34 | } 35 | 36 | if($preview) 37 | blowers(); 38 | -------------------------------------------------------------------------------- /tests/bulldogs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/bulldogs.scad> 23 | 24 | module bulldogs() 25 | layout([for(b = bulldogs) bulldog_depth(b)], 5, true) 26 | bulldog(bulldogs[$i]); 27 | 28 | if($preview) 29 | bulldogs(); 30 | -------------------------------------------------------------------------------- /tests/buttons.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/buttons.scad> 23 | 24 | module buttons() 25 | layout([for(b = buttons) square_button_width(b)], 5) 26 | square_button(buttons[$i]); 27 | 28 | if($preview) 29 | buttons(); 30 | -------------------------------------------------------------------------------- /tests/cable_grommets.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | 21 | use <../printed/cable_grommets.scad> 22 | 23 | module cable_grommets() { 24 | rotate(90) 25 | stl_colour(pp1_colour) ribbon_grommet(20, 3); 26 | 27 | translate([20, 0]) 28 | round_grommet_assembly(6, 3); 29 | 30 | translate([40, 0]) 31 | rotate(90) 32 | stl_colour(pp1_colour) mouse_grommet(5, 3); 33 | } 34 | 35 | if($preview) 36 | cable_grommets(); 37 | -------------------------------------------------------------------------------- /tests/camera_housing.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | use <../printed/camera_housing.scad> 23 | 24 | include <../vitamins/cameras.scad> 25 | 26 | use <../vitamins/pcb.scad> 27 | 28 | module camera_housings() 29 | layout([for(c = cameras) pcb_length(camera_pcb(c))], 15, false) let(c = cameras[$i]) 30 | if(pcb_screw(camera_pcb(c))) 31 | camera_fastened_assembly(c, 3); 32 | 33 | if($preview) 34 | camera_housings(); 35 | -------------------------------------------------------------------------------- /tests/cameras.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/cameras.scad> 23 | 24 | use <../vitamins/pcb.scad> 25 | 26 | module cameras() 27 | layout([for(c = cameras) pcb_length(camera_pcb(c))], 15, false) let(c = cameras[$i]) 28 | camera(c); 29 | 30 | if($preview) 31 | cameras(); 32 | -------------------------------------------------------------------------------- /tests/carriers.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../printed/carriers.scad> 21 | 22 | module carriers() { 23 | stl_colour(pp1_colour) ESP12F_carrier_stl(); 24 | 25 | translate([0, 15]) 26 | rotate(90) 27 | stl_colour(pp1_colour) TP4056_carrier_stl(); 28 | 29 | translate([0, 25]) 30 | rotate(90) 31 | stl_colour(pp1_colour) MT3608_carrier_stl(); 32 | } 33 | 34 | carriers(); 35 | -------------------------------------------------------------------------------- /tests/chamfer.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2025 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/chamfer.scad> 21 | 22 | module chamfer() { 23 | difference() { 24 | h = 1; 25 | rounded_rectangle([20, 20, h], 2); 26 | 27 | translate_z(h) 28 | chamfer_hole(h + eps) { 29 | circle(2); 30 | 31 | translate([-1, 0]) 32 | square([2, 5]); 33 | } 34 | } 35 | } 36 | 37 | chamfer(); 38 | -------------------------------------------------------------------------------- /tests/circlips.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/circlips.scad> 23 | 24 | module circlips(all = false) 25 | layout([for(c = circlips) circlip_d3(c)], 5, false) let(c = circlips[$i]) { 26 | gap = circlip_d3(c) + 2; 27 | 28 | internal_circlip(c, 1); 29 | 30 | if(all) { 31 | translate([0, gap]) 32 | internal_circlip(c, 0); 33 | 34 | translate([0, 2 * gap]) 35 | internal_circlip(c, -1); 36 | } 37 | } 38 | 39 | if($preview) 40 | circlips(true); 41 | -------------------------------------------------------------------------------- /tests/clip.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../utils/core/core.scad> 21 | 22 | module clips() { 23 | clip(xmin = 0, ymin = 0, zmin = 0, zmax = 40) sphere(50); 24 | } 25 | 26 | clips(); 27 | -------------------------------------------------------------------------------- /tests/displays.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/displays.scad> 23 | use <../vitamins/pcb.scad> 24 | 25 | module displays() 26 | layout([for(d = displays) pcb_length(display_pcb(d))], 10) 27 | let(d = displays[$i], offset = display_pcb_offset(d)) 28 | translate([-offset.x, pcb_width(display_pcb(d)) / 2 - offset.y]) 29 | vflip() 30 | display(d); 31 | 32 | if($preview) 33 | let($show_threads = true) 34 | displays(); 35 | -------------------------------------------------------------------------------- /tests/door_latch.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../printed/door_latch.scad> 21 | 22 | module door_latches() 23 | translate([door_latch_offset(), 0]) 24 | if($preview) 25 | door_latch_assembly(3); 26 | else 27 | door_latch_stl(); 28 | 29 | door_latches(); 30 | -------------------------------------------------------------------------------- /tests/fan_guard.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../printed/fan_guard.scad> 21 | include <../vitamins/fans.scad> 22 | 23 | use <../utils/layout.scad> 24 | 25 | module fan_guards() 26 | layout([for(f = fans) fan_width(f)], 10) 27 | stl_colour(pp1_colour) fan_guard(fans[$i], spokes = fan_width(fans[$i]) > 60 ? 8 : 4); 28 | 29 | fan_guards(); 30 | -------------------------------------------------------------------------------- /tests/fans.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/fans.scad> 21 | include <../printed/fan_guard.scad> 22 | 23 | use <../utils/layout.scad> 24 | 25 | 26 | module fans() 27 | layout([for(f = fans) fan_width(f)], 10) 28 | fan_assembly(fans[$i], 3 + fan_guard_thickness(), true); 29 | 30 | if($preview) 31 | fans(); 32 | -------------------------------------------------------------------------------- /tests/fastons.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2023 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | 21 | include <../vitamins/fastons.scad> 22 | 23 | module fastons() 24 | for(i = [0, len(fastons) - 1]) 25 | translate([i * 20, 0]) 26 | let(f = fastons[i]) { 27 | rotate(180) 28 | faston(f); 29 | 30 | translate([10, 0]) 31 | rotate(180) 32 | faston(f, true); 33 | } 34 | 35 | fastons(); 36 | -------------------------------------------------------------------------------- /tests/fillet.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../global_defs.scad> 20 | use <../utils/fillet.scad> 21 | 22 | module fillets() { 23 | rotate(180) 24 | fillet(3, 10); 25 | } 26 | 27 | fillets(); 28 | -------------------------------------------------------------------------------- /tests/fixing_block.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../printed/fixing_block.scad> 21 | use <../utils/layout.scad> 22 | 23 | screws = [M2_cap_screw, M2p5_pan_screw, M3_dome_screw, M4_dome_screw]; 24 | 25 | module fixing_block_test(screw) 26 | if($preview) 27 | fastened_fixing_block_assembly(3, screw = screw); 28 | else 29 | fixing_block(screw); 30 | 31 | module fixing_blocks() 32 | layout([for(s = screws) fixing_block_width(s)], 5) 33 | fixing_block_test(screws[$i]); 34 | 35 | fixing_blocks(); 36 | -------------------------------------------------------------------------------- /tests/foot.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../printed/foot.scad> 21 | 22 | module feet() 23 | if($preview) { 24 | translate([40, 0]) 25 | foot_assembly(3); 26 | 27 | translate([foot_diameter(insert_foot()) / 2, 0]) 28 | fastened_insert_foot_assembly(3); 29 | } 30 | else { 31 | translate([40, 0]) 32 | foot(); 33 | 34 | insert_foot(); 35 | } 36 | 37 | feet(); 38 | -------------------------------------------------------------------------------- /tests/fuseholder.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | 21 | use <../vitamins/fuseholder.scad> 22 | 23 | thickness = 6; 24 | 25 | module fuseholders() 26 | fuseholder(thickness); 27 | 28 | if($preview) 29 | let($show_threads = 1) 30 | fuseholders(); 31 | -------------------------------------------------------------------------------- /tests/gear_motors.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2023 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/gear_motors.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module gear_motors() 25 | layout([for(g = gear_motors) gm_box(g).x], 10) 26 | gear_motor(gear_motors[$i]); 27 | 28 | 29 | 30 | if($preview) 31 | gear_motors(); 32 | -------------------------------------------------------------------------------- /tests/geared_steppers.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2019 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/geared_steppers.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module geared_steppers() 25 | layout([for(g = geared_steppers) max(gs_diameter(g), gs_pitch(g) + gs_lug_w(g) / 2)], 5) 26 | geared_stepper(geared_steppers[$i]); 27 | 28 | geared_steppers(); 29 | -------------------------------------------------------------------------------- /tests/green_terminals.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/green_terminals.scad> 23 | 24 | module green_terminals() 25 | layout([for(t = green_terminals) gt_depth(t)], 15) 26 | rotate(180) 27 | green_terminal(green_terminals[$i], len(green_terminals) + 1 - $i); 28 | 29 | if($preview) 30 | green_terminals(); 31 | -------------------------------------------------------------------------------- /tests/handle.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../printed/handle.scad> 21 | 22 | module handle() 23 | translate([handle_length() / 2, 0]) 24 | if($preview) 25 | handle_fastened_assembly(3); 26 | else 27 | handle_stl(); 28 | 29 | handle(); 30 | -------------------------------------------------------------------------------- /tests/hanging_hole.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../global_defs.scad> 20 | use <../utils/hanging_hole.scad> 21 | 22 | module hanging_holes() { 23 | rotate(45) 24 | #hanging_hole(z = 10, ir = 3, h = 30) 25 | circle(r = 10); 26 | } 27 | 28 | hanging_holes(); 29 | -------------------------------------------------------------------------------- /tests/hot_ends.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/hot_ends.scad> 23 | 24 | module hot_ends() 25 | layout([for(h = hot_ends) 40]) 26 | translate([-20, 0]) 27 | rotate(90) 28 | hot_end(hot_ends[$i], 3, bowden = $i == 3); 29 | 30 | if($preview) 31 | hot_ends(); 32 | -------------------------------------------------------------------------------- /tests/hygrometer.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../vitamins/hygrometer.scad> 21 | 22 | if($preview) 23 | hygrometer(); 24 | -------------------------------------------------------------------------------- /tests/jack.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | 21 | use <../vitamins/jack.scad> 22 | 23 | module jacks() { 24 | translate([0, 0]) 25 | jack_4mm_plastic("black",3, grey(20)); 26 | 27 | translate([20, 0]) 28 | jack_4mm("blue",3, "royalblue"); 29 | 30 | translate([40, 0]) 31 | jack_4mm_shielded("brown", 3, "sienna"); 32 | 33 | translate([60, 0]) 34 | post_4mm("red",3); 35 | 36 | translate([80, 0]) 37 | power_jack(3); 38 | } 39 | 40 | if($preview) 41 | let($show_threads = true) 42 | jacks(); 43 | -------------------------------------------------------------------------------- /tests/layout.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../global_defs.scad> 20 | use <../utils/layout.scad> 21 | 22 | diams = [3, 7, 5, 11]; 23 | 24 | module layouts() { 25 | linear_extrude(eps) 26 | layout(diams, gap = 1) 27 | circle(d = diams[$i]); 28 | } 29 | 30 | rotate([70, 0, 315]) layouts(); 31 | -------------------------------------------------------------------------------- /tests/magnets.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/magnets.scad> 23 | 24 | module magnets() 25 | layout([for(m = magnets) magnet_od(m)], 5) 26 | magnet(magnets[$i]); 27 | 28 | if($preview) 29 | magnets(); 30 | -------------------------------------------------------------------------------- /tests/mains_sockets.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/mains_sockets.scad> 23 | 24 | module mains_sockets() 25 | layout([for(s = mains_sockets) mains_socket_width(s)], 5) 26 | mains_socket(mains_sockets[$i]); 27 | 28 | if($preview) 29 | mains_sockets(); 30 | -------------------------------------------------------------------------------- /tests/microswitches.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/microswitches.scad> 23 | 24 | module microswitches() 25 | layout([for(i = microswitches) microswitch_length(i)], 5) 26 | microswitch(microswitches[$i]); 27 | 28 | if($preview) 29 | microswitches(); 30 | -------------------------------------------------------------------------------- /tests/microview.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../vitamins/microview.scad> 21 | 22 | microview(!$preview); 23 | -------------------------------------------------------------------------------- /tests/modules.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/modules.scad> 21 | use <../utils/layout.scad> 22 | 23 | 24 | module modules() 25 | layout([for(m = modules) mod_length(m)], 5) 26 | module_assembly(modules[$i], 3); 27 | 28 | if($preview) 29 | modules(); 30 | -------------------------------------------------------------------------------- /tests/o_ring.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../vitamins/o_ring.scad> 21 | 22 | module o_rings() 23 | O_ring(2.5, 1.6, 3); 24 | 25 | if($preview) 26 | o_rings(); 27 | -------------------------------------------------------------------------------- /tests/offset.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../utils/core/core.scad> 21 | use <../utils/offset.scad> 22 | 23 | module shape() 24 | difference() { 25 | cube(40, center = true); 26 | 27 | cube([20, 20, 41], center = true); 28 | } 29 | 30 | module offsets() { 31 | $fn = 20; 32 | 33 | for(x = [-1, 0, 1]) 34 | translate([50 * x, 0]) 35 | offset_3D(3 * x, chamfer_base = true) 36 | shape(); 37 | } 38 | 39 | offsets(); 40 | -------------------------------------------------------------------------------- /tests/opengrab.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | 21 | use <../vitamins/opengrab.scad> 22 | 23 | module opengrab_test() { 24 | rotate(45) 25 | opengrab_target(); 26 | 27 | translate_z(opengrab_target_thickness()) 28 | opengrab(); 29 | } 30 | 31 | if($preview) 32 | let($show_threads = true) 33 | opengrab_test(); 34 | -------------------------------------------------------------------------------- /tests/panel_meters.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/panel_meters.scad> 23 | 24 | module panel_meters() 25 | layout([for(p = panel_meters) pmeter_bezel(p).x], 10) 26 | panel_meter(panel_meters[$i]); 27 | 28 | if($preview) 29 | panel_meters(); 30 | -------------------------------------------------------------------------------- /tests/photo_interrupters.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2023 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | include <../vitamins/photo_interrupters.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module photo_interrupters() 25 | layout([for(l = photo_interrupters) pi_base_length(l)], 5, true) 26 | photo_interrupter(photo_interrupters[$i]); 27 | 28 | photo_interrupters(); 29 | -------------------------------------------------------------------------------- /tests/pillars.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/pillars.scad> 23 | 24 | module pillars() 25 | layout([for(p = pillars) pillar_od(p)], 5) 26 | pillar(pillars[$i]); 27 | 28 | if($preview) 29 | let($show_threads = true) 30 | pillars(); 31 | -------------------------------------------------------------------------------- /tests/png/7_segments.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/7_segments.png -------------------------------------------------------------------------------- /tests/png/annotation.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/annotation.png -------------------------------------------------------------------------------- /tests/png/antennas.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/antennas.png -------------------------------------------------------------------------------- /tests/png/axials.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/axials.png -------------------------------------------------------------------------------- /tests/png/ball_bearings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/ball_bearings.png -------------------------------------------------------------------------------- /tests/png/batteries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/batteries.png -------------------------------------------------------------------------------- /tests/png/bearing_blocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/bearing_blocks.png -------------------------------------------------------------------------------- /tests/png/belts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/belts.png -------------------------------------------------------------------------------- /tests/png/bezier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/bezier.png -------------------------------------------------------------------------------- /tests/png/bldc_motors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/bldc_motors.png -------------------------------------------------------------------------------- /tests/png/blowers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/blowers.png -------------------------------------------------------------------------------- /tests/png/bom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/bom.png -------------------------------------------------------------------------------- /tests/png/box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/box.png -------------------------------------------------------------------------------- /tests/png/box_sections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/box_sections.png -------------------------------------------------------------------------------- /tests/png/bulldogs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/bulldogs.png -------------------------------------------------------------------------------- /tests/png/butt_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/butt_box.png -------------------------------------------------------------------------------- /tests/png/buttons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/buttons.png -------------------------------------------------------------------------------- /tests/png/cable_clip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/cable_clip.png -------------------------------------------------------------------------------- /tests/png/cable_grommets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/cable_grommets.png -------------------------------------------------------------------------------- /tests/png/cable_strips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/cable_strips.png -------------------------------------------------------------------------------- /tests/png/camera_housing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/camera_housing.png -------------------------------------------------------------------------------- /tests/png/cameras.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/cameras.png -------------------------------------------------------------------------------- /tests/png/carriers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/carriers.png -------------------------------------------------------------------------------- /tests/png/catenary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/catenary.png -------------------------------------------------------------------------------- /tests/png/chamfer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/chamfer.png -------------------------------------------------------------------------------- /tests/png/circlips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/circlips.png -------------------------------------------------------------------------------- /tests/png/clip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/clip.png -------------------------------------------------------------------------------- /tests/png/components.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/components.png -------------------------------------------------------------------------------- /tests/png/core_xy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/core_xy.png -------------------------------------------------------------------------------- /tests/png/corner_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/corner_block.png -------------------------------------------------------------------------------- /tests/png/d_connectors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/d_connectors.png -------------------------------------------------------------------------------- /tests/png/dimension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/dimension.png -------------------------------------------------------------------------------- /tests/png/dip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/dip.png -------------------------------------------------------------------------------- /tests/png/displays.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/displays.png -------------------------------------------------------------------------------- /tests/png/dogbones.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/dogbones.png -------------------------------------------------------------------------------- /tests/png/door_hinge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/door_hinge.png -------------------------------------------------------------------------------- /tests/png/door_latch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/door_latch.png -------------------------------------------------------------------------------- /tests/png/drag_chain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/drag_chain.png -------------------------------------------------------------------------------- /tests/png/extrusion_brackets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/extrusion_brackets.png -------------------------------------------------------------------------------- /tests/png/extrusions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/extrusions.png -------------------------------------------------------------------------------- /tests/png/fan_guard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/fan_guard.png -------------------------------------------------------------------------------- /tests/png/fans.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/fans.png -------------------------------------------------------------------------------- /tests/png/fastons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/fastons.png -------------------------------------------------------------------------------- /tests/png/fillet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/fillet.png -------------------------------------------------------------------------------- /tests/png/fixing_block.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/fixing_block.png -------------------------------------------------------------------------------- /tests/png/flat_hinge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/flat_hinge.png -------------------------------------------------------------------------------- /tests/png/foot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/foot.png -------------------------------------------------------------------------------- /tests/png/fuseholder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/fuseholder.png -------------------------------------------------------------------------------- /tests/png/gear_motors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/gear_motors.png -------------------------------------------------------------------------------- /tests/png/geared_steppers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/geared_steppers.png -------------------------------------------------------------------------------- /tests/png/gears.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/gears.png -------------------------------------------------------------------------------- /tests/png/global.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/global.png -------------------------------------------------------------------------------- /tests/png/green_terminals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/green_terminals.png -------------------------------------------------------------------------------- /tests/png/gridfinity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/gridfinity.png -------------------------------------------------------------------------------- /tests/png/handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/handle.png -------------------------------------------------------------------------------- /tests/png/hanging_hole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/hanging_hole.png -------------------------------------------------------------------------------- /tests/png/horiholes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/horiholes.png -------------------------------------------------------------------------------- /tests/png/hot_ends.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/hot_ends.png -------------------------------------------------------------------------------- /tests/png/ht_pipes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/ht_pipes.png -------------------------------------------------------------------------------- /tests/png/hygrometer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/hygrometer.png -------------------------------------------------------------------------------- /tests/png/iecs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/iecs.png -------------------------------------------------------------------------------- /tests/png/inserts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/inserts.png -------------------------------------------------------------------------------- /tests/png/jack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/jack.png -------------------------------------------------------------------------------- /tests/png/knob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/knob.png -------------------------------------------------------------------------------- /tests/png/kp_pillow_blocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/kp_pillow_blocks.png -------------------------------------------------------------------------------- /tests/png/layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/layout.png -------------------------------------------------------------------------------- /tests/png/ldrs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/ldrs.png -------------------------------------------------------------------------------- /tests/png/leadnuts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/leadnuts.png -------------------------------------------------------------------------------- /tests/png/led_bezel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/led_bezel.png -------------------------------------------------------------------------------- /tests/png/led_meters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/led_meters.png -------------------------------------------------------------------------------- /tests/png/leds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/leds.png -------------------------------------------------------------------------------- /tests/png/light_strips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/light_strips.png -------------------------------------------------------------------------------- /tests/png/linear_bearings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/linear_bearings.png -------------------------------------------------------------------------------- /tests/png/magnets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/magnets.png -------------------------------------------------------------------------------- /tests/png/mains_sockets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/mains_sockets.png -------------------------------------------------------------------------------- /tests/png/maths.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/maths.png -------------------------------------------------------------------------------- /tests/png/microswitches.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/microswitches.png -------------------------------------------------------------------------------- /tests/png/microview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/microview.png -------------------------------------------------------------------------------- /tests/png/modules.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/modules.png -------------------------------------------------------------------------------- /tests/png/nuts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/nuts.png -------------------------------------------------------------------------------- /tests/png/o_ring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/o_ring.png -------------------------------------------------------------------------------- /tests/png/offset.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/offset.png -------------------------------------------------------------------------------- /tests/png/opengrab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/opengrab.png -------------------------------------------------------------------------------- /tests/png/panel_meters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/panel_meters.png -------------------------------------------------------------------------------- /tests/png/pcb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pcb.png -------------------------------------------------------------------------------- /tests/png/pcb_mount.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pcb_mount.png -------------------------------------------------------------------------------- /tests/png/pcb_utils.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pcb_utils.png -------------------------------------------------------------------------------- /tests/png/pcbs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pcbs.png -------------------------------------------------------------------------------- /tests/png/photo_interrupters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/photo_interrupters.png -------------------------------------------------------------------------------- /tests/png/pillars.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pillars.png -------------------------------------------------------------------------------- /tests/png/pillow_blocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pillow_blocks.png -------------------------------------------------------------------------------- /tests/png/pin_headers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pin_headers.png -------------------------------------------------------------------------------- /tests/png/pocket_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pocket_handle.png -------------------------------------------------------------------------------- /tests/png/polyholes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/polyholes.png -------------------------------------------------------------------------------- /tests/png/potentiometers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/potentiometers.png -------------------------------------------------------------------------------- /tests/png/press_fit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/press_fit.png -------------------------------------------------------------------------------- /tests/png/printed_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/printed_box.png -------------------------------------------------------------------------------- /tests/png/printed_pulleys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/printed_pulleys.png -------------------------------------------------------------------------------- /tests/png/psu_shroud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/psu_shroud.png -------------------------------------------------------------------------------- /tests/png/psus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/psus.png -------------------------------------------------------------------------------- /tests/png/pulleys.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/pulleys.png -------------------------------------------------------------------------------- /tests/png/quadrant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/quadrant.png -------------------------------------------------------------------------------- /tests/png/radials.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/radials.png -------------------------------------------------------------------------------- /tests/png/rails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rails.png -------------------------------------------------------------------------------- /tests/png/ribbon_clamp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/ribbon_clamp.png -------------------------------------------------------------------------------- /tests/png/ring_terminals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/ring_terminals.png -------------------------------------------------------------------------------- /tests/png/rockers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rockers.png -------------------------------------------------------------------------------- /tests/png/rod.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rod.png -------------------------------------------------------------------------------- /tests/png/rod_ends.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rod_ends.png -------------------------------------------------------------------------------- /tests/png/round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/round.png -------------------------------------------------------------------------------- /tests/png/rounded_cylinder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rounded_cylinder.png -------------------------------------------------------------------------------- /tests/png/rounded_polygon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rounded_polygon.png -------------------------------------------------------------------------------- /tests/png/rounded_rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rounded_rectangle.png -------------------------------------------------------------------------------- /tests/png/rounded_right_triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rounded_right_triangle.png -------------------------------------------------------------------------------- /tests/png/rounded_triangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/rounded_triangle.png -------------------------------------------------------------------------------- /tests/png/sbr_rails.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/sbr_rails.png -------------------------------------------------------------------------------- /tests/png/screw_knob.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/screw_knob.png -------------------------------------------------------------------------------- /tests/png/screws.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/screws.png -------------------------------------------------------------------------------- /tests/png/scs_bearing_blocks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/scs_bearing_blocks.png -------------------------------------------------------------------------------- /tests/png/sealing_strip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/sealing_strip.png -------------------------------------------------------------------------------- /tests/png/sector.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/sector.png -------------------------------------------------------------------------------- /tests/png/servo_motors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/servo_motors.png -------------------------------------------------------------------------------- /tests/png/shaft_couplings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/shaft_couplings.png -------------------------------------------------------------------------------- /tests/png/sheets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/sheets.png -------------------------------------------------------------------------------- /tests/png/sk_brackets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/sk_brackets.png -------------------------------------------------------------------------------- /tests/png/smds.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/smds.png -------------------------------------------------------------------------------- /tests/png/socket_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/socket_box.png -------------------------------------------------------------------------------- /tests/png/spades.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/spades.png -------------------------------------------------------------------------------- /tests/png/sphere.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/sphere.png -------------------------------------------------------------------------------- /tests/png/splines.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/splines.png -------------------------------------------------------------------------------- /tests/png/spools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/spools.png -------------------------------------------------------------------------------- /tests/png/springs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/springs.png -------------------------------------------------------------------------------- /tests/png/ssr_shroud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/ssr_shroud.png -------------------------------------------------------------------------------- /tests/png/ssrs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/ssrs.png -------------------------------------------------------------------------------- /tests/png/stepper_motors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/stepper_motors.png -------------------------------------------------------------------------------- /tests/png/strap_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/strap_handle.png -------------------------------------------------------------------------------- /tests/png/sweep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/sweep.png -------------------------------------------------------------------------------- /tests/png/swiss_clips.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/swiss_clips.png -------------------------------------------------------------------------------- /tests/png/teardrops.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/teardrops.png -------------------------------------------------------------------------------- /tests/png/terminals.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/terminals.png -------------------------------------------------------------------------------- /tests/png/thread.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/thread.png -------------------------------------------------------------------------------- /tests/png/toggles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/toggles.png -------------------------------------------------------------------------------- /tests/png/transformers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/transformers.png -------------------------------------------------------------------------------- /tests/png/ttracks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/ttracks.png -------------------------------------------------------------------------------- /tests/png/tube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/tube.png -------------------------------------------------------------------------------- /tests/png/tubings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/tubings.png -------------------------------------------------------------------------------- /tests/png/variacs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/variacs.png -------------------------------------------------------------------------------- /tests/png/veroboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/veroboard.png -------------------------------------------------------------------------------- /tests/png/washers.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/washers.png -------------------------------------------------------------------------------- /tests/png/wire.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/wire.png -------------------------------------------------------------------------------- /tests/png/zipties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/tests/png/zipties.png -------------------------------------------------------------------------------- /tests/pocket_handle.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2021 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | 21 | include <../vitamins/sheets.scad> 22 | 23 | use <../printed/pocket_handle.scad> 24 | 25 | show_holes = false; 26 | 27 | handle = pocket_handle(); 28 | 29 | module pocket_handles() { 30 | if($preview) { 31 | pocket_handle_assembly(handle); 32 | 33 | if(show_holes) 34 | #pocket_handle_holes(handle); 35 | } 36 | else 37 | pocket_handle(handle); 38 | } 39 | 40 | pocket_handles(); 41 | -------------------------------------------------------------------------------- /tests/potentiometers.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2021 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | //! Potentiometers and rotary encoders 20 | include <../core.scad> 21 | include <../utils/layout.scad> 22 | include <../vitamins/potentiometers.scad> 23 | 24 | module potentiometers() 25 | layout([for(p = potentiometers) pot_size(p).x]) 26 | hflip() { 27 | potentiometer(potentiometers[$i], shaft_length = 30); 28 | 29 | translate_z(-3) 30 | pot_nut(potentiometers[$i]); 31 | } 32 | 33 | if($preview) 34 | let($show_threads = true) 35 | potentiometers(); 36 | -------------------------------------------------------------------------------- /tests/pulleys.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/pulleys.scad> 23 | 24 | module pulleys() 25 | layout([for(p = pulleys) pulley_flange_dia(p)]) 26 | rotate(-145) 27 | pulley_assembly(pulleys[$i]); 28 | 29 | if($preview) 30 | pulleys(); 31 | -------------------------------------------------------------------------------- /tests/quadrant.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../global_defs.scad> 21 | use <../utils/quadrant.scad> 22 | 23 | 24 | module quadrants() { 25 | linear_extrude(eps) 26 | quadrant(10, 4); 27 | } 28 | 29 | rotate([70, 0, 315]) quadrants(); 30 | -------------------------------------------------------------------------------- /tests/ring_terminals.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/ring_terminals.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module ring_terminals() 25 | layout([for(t = ring_terminals) ringterm_od(t)], 5) 26 | rotate(180) 27 | ring_terminal_assembly(ring_terminals[$i], 3); 28 | 29 | if($preview) 30 | ring_terminals(); 31 | -------------------------------------------------------------------------------- /tests/rockers.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/rockers.scad> 23 | 24 | module rockers() { 25 | layout([for(r = rockers) rocker_flange_w(r)], 5) { 26 | rocker(rockers[$i]); 27 | translate([0, 25]) 28 | rocker(rockers[$i], $i==0 ? "red" : "green"); 29 | } 30 | } 31 | 32 | if($preview) 33 | rockers(); 34 | -------------------------------------------------------------------------------- /tests/rod_ends.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2024 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../utils/core/core.scad> 21 | use <../utils/layout.scad> 22 | 23 | include <../vitamins/rod_ends.scad> 24 | 25 | 26 | module rod_ends(list = rod_ends) { 27 | diameters = [for(b = list) rod_end_bearing_od(b)]; 28 | max = max(diameters); 29 | layout(diameters) let(b = list[$i]) 30 | rod_end_bearing(list[$i]); 31 | } 32 | 33 | if($preview) 34 | rod_ends(); 35 | -------------------------------------------------------------------------------- /tests/round.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../utils/core/core.scad> 21 | use <../utils/round.scad> 22 | 23 | module shape() 24 | difference() { 25 | square(40, center = true); 26 | 27 | square([20, 20], center = true); 28 | } 29 | 30 | module rounds() { 31 | linear_extrude(eps) 32 | round(or = 4, ir = 2) 33 | shape(); 34 | 35 | 36 | translate([50, 0]) 37 | round_3D(or = 4, ir = 2, chamfer_base = true, $fn = 16) 38 | linear_extrude(40, center = true) 39 | shape(); 40 | } 41 | 42 | rounds(); 43 | -------------------------------------------------------------------------------- /tests/rounded_cylinder.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../global_defs.scad> 21 | use <../utils/rounded_cylinder.scad> 22 | 23 | 24 | module rounded_cylinders() { 25 | linear_extrude(eps) 26 | rounded_corner(10, 20, 3, 5); 27 | 28 | translate([30, 10]) 29 | rounded_cylinder(10, 20, 3, 5, 270); 30 | 31 | translate([65, 10]) 32 | rounded_top_rectangle([30, 20, 5], 3, 2); 33 | } 34 | 35 | rounded_cylinders(); 36 | -------------------------------------------------------------------------------- /tests/rounded_rectangle.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../utils/core/core.scad> 21 | 22 | module rounded_rectangles() { 23 | linear_extrude(eps) 24 | rounded_square([30, 20], 3); 25 | 26 | translate([40, 0]) 27 | rounded_rectangle([30, 20, 10], 3); 28 | 29 | translate([80, 0]) 30 | rounded_cube_xy([30, 20, 10], 3); 31 | 32 | translate([120, 0]) 33 | rounded_cube_xz([30, 20, 10], 3); 34 | 35 | translate([160, 0]) 36 | rounded_cube_yz([30, 20, 10], 3); 37 | } 38 | 39 | rounded_rectangles(); 40 | -------------------------------------------------------------------------------- /tests/rounded_triangle.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../global_defs.scad> 21 | use <../utils/rounded_triangle.scad> 22 | 23 | 24 | module rounded_right_triangles() { 25 | rounded_right_triangle(10, 20, 5, 0.5); 26 | 27 | translate([20, 0]) 28 | rounded_right_triangle(10, 20, 5, 0.5, offset = true); 29 | } 30 | 31 | rounded_right_triangles(); 32 | -------------------------------------------------------------------------------- /tests/sealing_strip.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../vitamins/sealing_strip.scad> 21 | 22 | module sealing_strip_test() 23 | sealing_strip(100); 24 | 25 | if($preview) 26 | sealing_strip_test(); 27 | -------------------------------------------------------------------------------- /tests/sector.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../global_defs.scad> 21 | use <../utils/sector.scad> 22 | 23 | 24 | module sectors() { 25 | linear_extrude(eps) 26 | sector(50, 45, 180); 27 | } 28 | 29 | rotate([70, 0, 315]) sectors(); 30 | -------------------------------------------------------------------------------- /tests/servo_motors.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2021 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/servo_motors.scad> 23 | 24 | module servo_motors() 25 | layout([for(s = servo_motors) servo_motor_width(s)], 10) let(s = servo_motors[$i]) { 26 | rotate(-90) // Show the keyway 27 | servo_motor(s); 28 | } 29 | 30 | if($preview) 31 | servo_motors(); 32 | -------------------------------------------------------------------------------- /tests/shaft_couplings.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/shaft_couplings.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module shaft_couplings() 25 | layout([for(s = shaft_couplings) sc_diameter(s)],5) 26 | shaft_coupling(shaft_couplings[$i]); 27 | 28 | if($preview) 29 | shaft_couplings(); 30 | 31 | -------------------------------------------------------------------------------- /tests/socket_box.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | $explode = 1; 20 | 21 | include <../utils/core/core.scad> 22 | use <../utils/layout.scad> 23 | include <../vitamins/mains_sockets.scad> 24 | use <../printed/socket_box.scad> 25 | 26 | module socket_boxes() 27 | layout([for(s = mains_sockets) mains_socket_width(s)], 20) 28 | if($preview) 29 | socket_box_fastened_assembly(mains_sockets[$i], 3); 30 | else 31 | socket_box_stl(mains_sockets[$i]); 32 | 33 | socket_boxes(); 34 | -------------------------------------------------------------------------------- /tests/spades.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/spades.scad> 23 | 24 | module spades() 25 | layout([for(s = spades) spade_w(s)], 5) 26 | spade(spades[$i], 10); 27 | 28 | if($preview) 29 | spades(); 30 | -------------------------------------------------------------------------------- /tests/sphere.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | 21 | r = 20; 22 | 23 | verts = [4, 8, 12, 16, 20, 24, 28, 32]; 24 | 25 | module spheres() 26 | for(i = [0: len(verts)-1], $fn =verts[i]) 27 | translate([i * 2 * r, 0]) 28 | sphere(r); 29 | 30 | 31 | spheres(); 32 | -------------------------------------------------------------------------------- /tests/spools.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../utils/core/core.scad> 21 | use <../utils/layout.scad> 22 | 23 | include <../vitamins/spools.scad> 24 | 25 | module spools() 26 | layout([for(s = spools) spool_height(s)], 100) let(s = spools[$i]) 27 | rotate([90, 0, 90]) 28 | spool(s, filament_depth = spool_depth(s) / 2, filament_colour = [pp1_colour, pp2_colour, pp3_colour, pp4_colour][$i % 4], filament_d = $i ? 3 : 1.75); 29 | 30 | if($preview) 31 | spools(); 32 | -------------------------------------------------------------------------------- /tests/springs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/springs.scad> 23 | 24 | module springs() 25 | layout([for(s = springs) spring_od2(s)], 5) 26 | comp_spring(springs[$i]); 27 | 28 | if($preview) 29 | springs(); 30 | -------------------------------------------------------------------------------- /tests/strap_handle.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../printed/strap_handle.scad> 21 | 22 | length = 150; 23 | 24 | module strap_handles() 25 | if($preview) 26 | strap_assembly(length); 27 | else { 28 | strap(length); 29 | 30 | translate([0, 30]) 31 | strap_end(); 32 | } 33 | 34 | strap_handles(); 35 | -------------------------------------------------------------------------------- /tests/terminals.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | 21 | use<../vitamins/terminal.scad> 22 | 23 | mw_terminals = [9.525, 1.5, 15, 17.8, 7, 15]; 24 | 25 | module terminals() 26 | terminal_block(mw_terminals, 10); 27 | 28 | terminals(); 29 | -------------------------------------------------------------------------------- /tests/toggles.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/toggles.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module toggles() 25 | layout([for(t = toggles) toggle_width(t)], 16) 26 | toggle(toggles[$i], 3); 27 | 28 | if($preview) 29 | let($show_threads = true) 30 | toggles(); 31 | -------------------------------------------------------------------------------- /tests/transformers.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/transformers.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module transformers() 25 | layout([for(t = transformers) tx_depth(t)], 10) 26 | rotate(90) 27 | transformer(transformers[$i]); 28 | 29 | if($preview) 30 | transformers(); 31 | -------------------------------------------------------------------------------- /tests/tube.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | include <../global_defs.scad> 21 | use <../utils/tube.scad> 22 | 23 | 24 | module tubes() { 25 | linear_extrude(eps) 26 | ring(10, 8); 27 | 28 | translate([50, 10]) 29 | tube(10, 8, 30); 30 | 31 | translate([100, 10]) 32 | rectangular_tube([10, 20, 30]); 33 | } 34 | 35 | tubes(); 36 | -------------------------------------------------------------------------------- /tests/tubings.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../utils/core/core.scad> 20 | use <../utils/layout.scad> 21 | 22 | include <../vitamins/tubings.scad> 23 | 24 | module tubings() 25 | layout([for(t = tubings) tubing_od(t)], 5) 26 | tubing(tubings[$i]); 27 | 28 | if($preview) 29 | tubings(); 30 | -------------------------------------------------------------------------------- /tests/variacs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/variacs.scad> 21 | 22 | use <../utils/layout.scad> 23 | 24 | module variacs() 25 | layout([for(v = variacs) 2 * (variac_bulge_dia(v) - variac_diameter(v) / 2)], 25) 26 | rotate(-90) 27 | variac(variacs[$i]); 28 | 29 | if($preview) 30 | variacs(); 31 | -------------------------------------------------------------------------------- /tests/zipties.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | wire_r = 5; // [1 : 20] 20 | t = -1; // [-1 : 3] 21 | 22 | include <../utils/core/core.scad> 23 | use <../utils/layout.scad> 24 | 25 | include <../vitamins/zipties.scad> 26 | 27 | module zipties() 28 | layout([for(z = zipties) 9], 2 * wire_r) { 29 | ziptie(zipties[$i], wire_r, max(t, 0)); 30 | 31 | if(t >= 0) 32 | color(grey(20)) 33 | cylinder(r = wire_r, h = 10, center = true); 34 | 35 | } 36 | 37 | if($preview) 38 | zipties(); 39 | -------------------------------------------------------------------------------- /utils/fillet.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | //! Rounded fillet for adding to corners. 22 | // 23 | include <../utils/core/core.scad> 24 | 25 | module fillet(r, h, center = false) //! Fillet with specified radius and height 26 | extrude_if(h, center = center) 27 | difference() { 28 | translate([-eps, -eps, 0]) 29 | square(r + eps); 30 | 31 | translate([r, r]) 32 | circle(r + eps); 33 | } 34 | -------------------------------------------------------------------------------- /vitamins/7_segments.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2021 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | //! 7 Segment displays 22 | // 23 | 24 | 02531A = ["02531A", [15.0, 8, 4.0], [3.5, 6.2, 0.7, 5], [5, 2], [inch(0.1), inch(0.1), 0.45]]; 25 | 02352A = ["02352A", [15.0, 8, 4.0], [3.5, 6.2, 0.6, 5], [6, 2], [inch(0.1), 5.52, 0.45]]; 26 | WT5011BSR = ["WT5011BSR", [12.7, 19, 8.2], [7.2, 12.7, 1.2, 10], [5, 2], [inch(0.1), inch(0.6), 0.4]]; 27 | 28 | 7_segments = [02531A, 02352A, WT5011BSR]; 29 | 30 | use <7_segment.scad> 31 | -------------------------------------------------------------------------------- /vitamins/axials.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | //! Axial components 22 | // 23 | 24 | res1_8 = ["res1_8", 0.125, 3.3, 1.35, 1.7, 1, 0.33, "#FAE3AC"]; 25 | res1_4 = ["res1_4", 0.25, 5.7, 1.85, 2.3, 1.5, 0.55, "#FAE3AC"]; 26 | res1_2 = ["res1_2", 0.5, 10, 3.25, 3.7, 1.8, 0.70, "#FAE3AC"]; 27 | 28 | ax_resistors = [res1_8, res1_4, res1_2]; 29 | 30 | DO_35 = ["DO_35", [3.4, 1.75, 0.3], 0.55, [[1,1,1, 0.5], grey(10)]]; 31 | DO_41 = ["DO_41", [5.21, 2.72, 0], 0.87, [grey(20), grey(90)]]; 32 | 33 | ax_diodes = [DO_35, DO_41]; 34 | 35 | use 36 | -------------------------------------------------------------------------------- /vitamins/d_connectors.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | // D-connectors 22 | // 23 | DCONN9 = ["DCONN9", 30.81, [18, 16.92], 24.99, [9.26, 8.38], 12.55, 10.72, 6.693, 1.12, 9]; 24 | DCONN15 = ["DCONN15", 39.14, [26.25, 25.25], 33.32, [9.26, 8.38], 12.55, 10.72, 6.693, 1.12, 15]; 25 | DCONN25 = ["DCONN25", 53.04, [40, 38.96], 47.04, [9.26, 8.38], 12.55, 10.72, 6.693, 1.12, 25]; 26 | DCONN37 = ["DCONN37", 69.50, [56.42, 55.42], 63.50, [9.26, 8.38], 12.55, 10.72, 6.693, 1.12, 37]; 27 | 28 | d_connectors = [DCONN9, DCONN15, DCONN25, DCONN37]; 29 | 30 | use 31 | -------------------------------------------------------------------------------- /vitamins/extrusion_brackets.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | // 20 | // Extrusion brackets 21 | // 22 | 23 | E20_inner_corner_bracket = [ "E20_inner_corner_bracket", [26, 25, 4.7], M4_sliding_t_nut, E2020t, [7, 6]]; 24 | E40_inner_corner_bracket = [ "E40_inner_corner_bracket", [38, 31, 8.5], M6_sliding_t_nut, E4040t, [13, 10]]; 25 | 26 | E20_corner_bracket = [ "E20_corner_bracket", [28, 28, 20], 2, 3, 19.5, M4_sliding_t_nut, E2020t]; 27 | E40_corner_bracket = [ "E40_corner_bracket", [40, 40, 35], 2, 3, 19.5, M8_sliding_ball_t_nut, E4040t]; 28 | 29 | 30 | use 31 | -------------------------------------------------------------------------------- /vitamins/fastons.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2023 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | //! Faston receptacles to mate with spade connectors 22 | // 23 | 24 | 5_160430_7 = ["5_160430_7", 4.75, [5.6, 2.56, 6.3], 2.25, 1.13, 0.32, 3.2, 1.64, [1.64, 3.09, 9], 0.5, 0.96, 1.7, 3.53, [2.08, 4.47, 13.3], -0.4]; 25 | 26 | fastons = [5_160430_7]; 27 | 28 | use 29 | -------------------------------------------------------------------------------- /vitamins/ldrs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | // Light dependent resistors. 22 | // 23 | small_ldr = ["small_ldr", "small", 5, 4.2, 2.0, 3.2, 2.5, 0.4]; 24 | large_ldr = ["large_ldr", "large", 9.2, 7.9, 2.0, 6.8, 4.5, 0.5]; 25 | 26 | ldrs = [small_ldr, large_ldr]; 27 | 28 | use 29 | -------------------------------------------------------------------------------- /vitamins/led_meters.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // display size offset pcb size lug size offset hole pitch and size 21 | led_meter = ["led_meter", [22.72, 10.14, 6.3], 0, [22.72, 11.04, 0.96], [30, 4.2], 0, 26, 2.2 / 2, false]; 22 | led_ameter = ["led_ameter", [22.72, 14.05, 7.3], 1, [27.5, 18.6, 1.2], [35, 6.25], 1, 29, 3.0 / 2, [15.5, 1.5, 7.75]]; 23 | 24 | led_meters = [led_meter, led_ameter]; 25 | 26 | use 27 | -------------------------------------------------------------------------------- /vitamins/mains_sockets.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | //! UK 13A sockets at the moment. 22 | // 23 | 24 | MKLOGIC = ["MKLOGIC", 86, 86, 86, 86, 3.6, 9, 3.6, [-9, -9], 60.3, [0, 0, 0]]; // Screwfix, switched 25 | Contactum = ["Contactum", 84, 84, 80, 80, 4.0, 10.5, 3.6, [ 0, 0], 60.3, [0, 0, 0]]; // Old and unswitched 26 | PMS9143A = ["PMS9143A", 85.75, 85.75, 85, 85, 1.5, 8.5, 3.0, [ 0, 0], 60.3, [3.3, 7, 5]]; // Screwfix Essential unswitched. 27 | 28 | mains_sockets = [MKLOGIC, Contactum, PMS9143A]; 29 | 30 | use 31 | -------------------------------------------------------------------------------- /vitamins/microview/GKM-002_R05_CHIP_UPPER_HOUSING-1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/vitamins/microview/GKM-002_R05_CHIP_UPPER_HOUSING-1.STL -------------------------------------------------------------------------------- /vitamins/microview/GKM-003_R05_CHIP_LOWER_HOUSING.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/vitamins/microview/GKM-003_R05_CHIP_LOWER_HOUSING.STL -------------------------------------------------------------------------------- /vitamins/microview/LICENSE.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 geekammo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /vitamins/photo_interrupters.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2023 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | PH1 = ["PH1", 6.4, 25.9 , 3.5, 8.6, 4.1, 5.9, 3, grey(20), [22, 20, 1.6, true, 11-3.2, 0, "blue",[[8.3, -7.5], [8.3, 7.5]], 3]]; 20 | 21 | photo_interrupters = [PH1]; 22 | 23 | use 24 | -------------------------------------------------------------------------------- /vitamins/rod_ends.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2024 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | RE_m5_bearing = ["RE_m5_bearing", 5, 16, 8, 6, brass, 5, 8, 11.11, 33, 21, 41, 2.0, 2.0, 0, 0]; // uxcell M5x0.8 Right Hand Thread, Self-Lubricating Joint Rod Ends 20 | 21 | rod_ends= [ RE_m5_bearing]; 22 | 23 | use 24 | -------------------------------------------------------------------------------- /vitamins/sbr_rails.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2023 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | include <../core.scad> 20 | include <../vitamins/bearing_blocks.scad> 21 | 22 | // 23 | // SBR Rails 24 | // 25 | 26 | // d h B T carriage P S2 C S3 S3L 27 | SBR16S = ["SBR16S", 16, 25, 40, 5, SBR16UU, 150, M5_cap_screw, 30, M5_cap_screw, 18 ]; 28 | 29 | sbr_rails = [SBR16S]; 30 | 31 | use 32 | -------------------------------------------------------------------------------- /vitamins/shaft_couplings.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | //! Shaft couplings 22 | // 23 | 24 | // L D d1 d2 flex? 25 | SC_5x8_rigid = [ "SC_5x8_rigid", 25, 12.5, 5, 8, false ]; 26 | SC_6x8_flex = [ "SC_6x8_flex", 25, 19, 6, 8, true ]; 27 | shaft_couplings = [SC_5x8_rigid, SC_6x8_flex]; 28 | 29 | use 30 | -------------------------------------------------------------------------------- /vitamins/sk_brackets.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | // SK shaft support brackets 22 | // 23 | 24 | // d h E W L F G P B S bolthole 25 | SK8 = ["SK8", 8, 20, 21, 42, 14, 32.8, 6, 18, 32, 5.5, M5_clearance_radius]; 26 | SK10 = ["SK10", 10, 20, 21, 42, 14, 32.8, 6, 18, 32, 5.5, M5_clearance_radius]; 27 | SK12 = ["SK12", 12, 23, 21, 42, 14, 37.5, 6, 18, 32, 5.5, M5_clearance_radius]; 28 | SK16 = ["SK16", 16, 27, 24, 48, 16, 44.0, 8, 25, 38, 5.5, M5_clearance_radius]; 29 | 30 | sk_brackets = [SK8, SK10, SK12, SK16]; 31 | use 32 | -------------------------------------------------------------------------------- /vitamins/spades.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | spade3 = [3.8, 3.0, 0.4, 1.0, 3.9]; 21 | spade3p5 = [7.0, 3.5, 0.8, 1.75, 6.8]; 22 | spade6p4 = [8.3, 6.4, 0.8, 1.8, 8]; 23 | spade4p8 = [6.4, 4.8, 0.5, 1.8, 8]; 24 | spade4p8l = [7.0, 4.8, 0.5, 1.8, 8]; 25 | spade4p8ll = [8.0, 4.8, 0.5, 1.8, 4.8]; 26 | 27 | spades = [spade3, spade3p5, spade6p4, spade4p8, spade4p8l, spade4p8ll]; 28 | 29 | use 30 | -------------------------------------------------------------------------------- /vitamins/springs.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // name OD wireG len #trns clsd flat OD2 color 21 | peg_spring = ["peg_spring", 6.4, 0.9, 15.5, 8, 1, false, 0, "silver"]; 22 | yellow_bed_spring = ["yellow_bed_spring", 8, 0.9, 20, 10, 1, false, 0, "yellow"]; 23 | batt_spring = ["batt_spring", 5, 0.5, 8, 5, 1, false, 6, "silver"]; 24 | 25 | springs = [peg_spring, batt_spring, yellow_bed_spring]; 26 | 27 | use 28 | -------------------------------------------------------------------------------- /vitamins/stl/Molex_5023860470.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nophead/NopSCADlib/652c5d1a26b053bee3a091f50b07ee9f41605b25/vitamins/stl/Molex_5023860470.stl -------------------------------------------------------------------------------- /vitamins/swiss_clips.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2020 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // 21 | //! Swiss picture clip. 22 | //! Used for holding glass on 3D printer beds. 23 | // 24 | 25 | UKPFS1008_10 = ["UKPFS1008_10", 39, 13, 13, 0.75, 1.5, 4, [3.5, 2.2, 4.4], [5.25, 4.12], 9, 37 - 9, 11]; 26 | 27 | swiss_clips = [ UKPFS1008_10 ]; 28 | 29 | use 30 | -------------------------------------------------------------------------------- /vitamins/zipties.scad: -------------------------------------------------------------------------------- 1 | // 2 | // NopSCADlib Copyright Chris Palmer 2018 3 | // nop.head@gmail.com 4 | // hydraraptor.blogspot.com 5 | // 6 | // This file is part of NopSCADlib. 7 | // 8 | // NopSCADlib is free software: you can redistribute it and/or modify it under the terms of the 9 | // GNU General Public License as published by the Free Software Foundation, either version 3 of 10 | // the License, or (at your option) any later version. 11 | // 12 | // NopSCADlib is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; 13 | // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 14 | // See the GNU General Public License for more details. 15 | // 16 | // You should have received a copy of the GNU General Public License along with NopSCADlib. 17 | // If not, see . 18 | // 19 | 20 | // [width, thickness, [latch_x, latch_y, latch_z], colour, tail] 21 | small_ziptie = ["small_ziptie", 2.5, 1.0, [4.7, 4.25, 3.0], "white", 25]; 22 | ziptie_3mm = ["ziptie_3mm", 3.0, 1.0, [5.4, 5.44, 4.5], "white", 25]; 23 | ziptie_3p6mm = ["ziptie_3p6mm", 3.6, 1.2, [6.4, 6.62, 4.7], "white", 25]; 24 | 25 | zipties = [small_ziptie, ziptie_3mm, ziptie_3p6mm]; 26 | 27 | use 28 | --------------------------------------------------------------------------------