Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Introduction

This course teaches 3D design and digital fabrication using a fully accessible, command-line-driven toolchain centered on OpenSCAD (text-based CAD), 3DMake (non-visual build automation), and accessible editors (VS Code, Notepad++, command-line editors) with screen reader support.

The curriculum is explicitly designed for blind and visually impaired learners who use screen readers (NVDA, JAWS, Orca, VoiceOver). It eliminates GUI navigation and visual feedback in favor of keyboard-driven, text-based workflows that screen readers can fully access. Accessibility is not an add-on. It is the foundation of every tool, workflow, and lesson in this curriculum.

Curriculum Structure

Screen Reader Setup & Accessibility Fundamentals

Before choosing a command-line pathway, students learn to optimize their screen reader setup for terminal work and understand accessibility options.

What’s Included:

Why start here? Screen reader optimization is the foundation for all command-line work. Students learn keyboard shortcuts, navigation techniques, and terminal-specific accessibility before diving into any CLI pathway.

Command-Line Foundation (Choose Your Path)

Students master terminal/command-line fundamentals before learning 3D design. You choose between three equivalent pathways based on your operating system and learning preferences.

Compare All Three Pathways

Command Line Interface Selection Guide

This guide provides a comprehensive comparison including:

  • Feature matrix comparing all three shells
  • Command comparison table (navigation, file operations, scripting)
  • Learner profiles to help you choose
  • Goal-based recommendations
  • FAQ addressing common questions

Where to Start: PowerShell Curriculum Overview

Lessons Included:

  • Powershell Lesson Pre: Your First Terminal - Opening PowerShell, first commands, screen reader tricks
  • Powershell Lesson 0: Getting Started - Paths, shortcuts, tab completion
  • Powershell Lesson 1: Navigation - Moving around the file system confidently
  • Powershell Lesson 2: File and Folder Manipulation - Creating, editing, moving files
  • Powershell Lesson 3: Input, Output, and Piping - Redirecting output, piping commands
  • Powershell Lesson 4: Environment Variables and Aliases - Setting variables, creating shortcuts
  • Powershell Lesson 5: Filling in the Gaps - Control flow, profiles, useful tricks
  • Powershell Lesson 6: Advanced Terminal Techniques - Scripts, functions, professional workflows
  • PowerShell Unit Test & Practice - Comprehensive self-assessment

Time commitment: 30-45 hours (for screen reader users) Best for: Users who want modern Windows features and advanced automation Skills: Terminal navigation, piping, advanced scripting, professional automation

Windows Command Prompt Foundation (Simplified Alternative)

Where to Start: CMD Curriculum Overview

Lessons Included:

  • Command Line Lesson Pre: Your First Terminal - Opening CMD, first commands, screen reader tricks
  • Command Line Lesson 0: Getting Started - Paths, shortcuts, command basics
  • Command Line Lesson 1: Navigation - Moving around the file system confidently
  • Command Line Lesson 2: File and Folder Manipulation - Creating, editing, moving files
  • Command Line Lesson 3: Input, Output & Redirection - Redirecting output, piping commands
  • Command Line Lesson 4: Environment Variables & Shortcuts - Setting variables, shortcuts
  • Command Line Lesson 5: Filling in the Gaps - Batch files, advanced techniques
  • Command Line Lesson 6: Advanced Terminal Techniques - Scripts, automation, professional workflows
  • CMD Unit Test & Practice - Comprehensive self-assessment

Time commitment: 30-45 hours (for screen reader users) Best for: Absolute beginners or users who prefer simplicity Skills: Terminal navigation, file operations, batch scripting, basic automation

Git Bash Foundation (Cross-Platform Skills)

Where to Start: Git Bash Curriculum Overview

Introductory & Reference Materials:

Lessons Included:

  • Bash Lesson Pre: Your First Terminal - Opening Git Bash, first commands, screen reader tricks
  • Bash Lesson 0: Getting Started - Paths, shortcuts, Unix path notation
  • Bash Lesson 1: Navigation - Moving around the file system confidently
  • Bash Lesson 2: File and Folder Manipulation - Creating, editing, moving files
  • Bash Lesson 3: Input, Output & Piping - Redirecting output, piping commands
  • Bash Lesson 4: Environment Variables & Aliases - Setting variables, creating shortcuts
  • Bash Lesson 5: Filling in the Gaps - Shell profiles, history, debugging
  • Bash Lesson 6: Advanced Terminal Techniques - Scripts, functions, professional workflows
  • GitBash Unit Test & Practice - Comprehensive self-assessment

Time commitment: 30-45 hours (for screen reader users) Best for: Users who want cross-platform skills (Windows, macOS, Linux) Skills: Unix/bash commands, shell scripting, cross-platform automation

Important

Choose ONE pathway and complete it fully. All three teach identical fundamental concepts using different tools. Each integrates fully with 3D design workflows.

3dMake Foundation & Design (11 Lessons + 6 Appendices)

Where to Start: 3dMake Introduction

Students build parametric 3D designs using OpenSCAD and automate the workflow with 3DMake.

Main Curriculum: 11 Progressive Lessons

PartLessonsFocusDuration
Foundations1-3Environment setup, primitives, parametric design + advanced language features4-5 hours
Verification & Safety4-5AI verification, safety protocols, materials2-3 hours
Applied Projects6-8Practical commands, text functions, transforms, assembly patterns5-6 hours
Advanced Topics9-10Automation with file I/O, troubleshooting, mastery3-4 hours
Leadership11Stakeholder-centric design2-3 hours

Total: 45-55 hours instruction + practice projects

Reference Appendices

Command Line Tools:

3dMake:

The Accessible Toolchain

Screen Reader Compatibility Throughout

This course uses tools designed for screen reader access:

  • Terminal/Command line - Text-based, fully accessible to NVDA, JAWS, Orca, VoiceOver
  • OpenSCAD - Free, open-source text-based CAD (no visual-only GUI dependency)
  • 3DMake - Command-line build tool eliminating GUI navigation
  • Accessible text editors - Notepad, VS Code, Notepad++, Nano, Vim, etc. (all keyboard-driven, screen reader friendly)

See Appendix A: 3DMake Cheat Sheet for detailed keyboard shortcuts and configuration.

3DMake: Non-Visual Build Automation

3DMake makes the entire design-to-print pipeline accessible:

3dm build        -> Compiles main.scad to main.stl
3dm info         -> Validates geometry and runs diagnostics
3dm slice        -> Prepares model for printing
  • No GUI navigation needed
  • Automation eliminates repetitive manual steps
  • Configuration files store parameters as human-readable text
  • Error reporting is text-based (screen reader accessible)
  • Works with command-line slicers

Iterative, Non-Visual Design

Students learn to design through code and testing, not visual previews:

  • Write parametric OpenSCAD code in accessible editors
  • Run 3dm build to compile to printable file
  • Use measurement-based verification (calipers, scales, functional testing)
  • Iterate by editing parameters and rebuilding
  • No reliance on 3D preview or visual feedback

Project-Based Learning

3dMake lessons include hands-on projects:

  • Lesson 6: Keychain with embossed text (3dm commands)
  • Lesson 7: Phone stand (parametric transforms)
  • Lesson 8: Stackable bins (interlocking features, tolerances)
  • Lesson 9: Build automation (PowerShell batch processing)
  • Lesson 10: QA testing + accessibility audit (measurement, troubleshooting)
  • Lesson 11: Beaded jewelry holder (stakeholder-driven design)

Each project requires:

  • Parametric OpenSCAD code (clean, well-commented)
  • Functional prototype (tested, iterated)
  • Complete documentation (reflections, measurements, decisions)

Learning Support

Primary Navigation & Overview

Curriculum Guide - Detailed overview of all lessons and appendices
Quick Reference - At-a-glance command and syntax reference
mdBook Navigation Guide - How to navigate this curriculum

Setup & Configuration Guides

3dMake Setup Guide - Installation walkthrough
VSCode Setup Guide - Accessibility configuration
Screen Reader Coding Tips (NVDA & JAWS) - Keyboard shortcuts and coding configuration

Quick Reference Materials

OpenSCAD Cheat Sheet - Syntax quick-reference
3DMake CLI Cheat Sheet - Complete 3dm command reference
Filament Comparison Table - Material selection guide
Master Rubric - Project assessment criteria

Safety & Maintenance

Safety Checklist - Pre-print safety procedures
Maintenance Log - Printer maintenance tracking

Troubleshooting & Diagnostics

Common Issues and Solutions - Comprehensive troubleshooting guide
Diagnostic Checklist - Systematic problem diagnosis
Technical Reference - Advanced systems architecture and professional reference

Glossaries & Terminology

Student Glossary - Complete terminology reference for OpenSCAD, 3dMake, 3D Printing, and CLI
Teacher Glossary - Pedagogical framework and instructional design terminology

Command Line Integration Appendices

CLI Appendices Overview - All command line integration guides
Appendix A: CMD/Batch Integration - Windows CMD automation
Appendix B: PowerShell Integration - PowerShell workflow automation
Appendix C: Git Bash Integration - Unix shell integration

3dMake & OpenSCAD Appendices

3dMake Appendices Overview - All 3dMake reference materials
Appendix A: Comprehensive Slicing Guide - PrusaSlicer, Bambu Studio, Cura, OrcaSlicer
Appendix B: Material Properties & Selection Guide - Detailed material specifications
Appendix C: Tolerance Testing & QA Matrix - Quality assurance procedures
Appendix D: Advanced OpenSCAD Concepts - Gears, recursion, performance optimization

Code Examples & Assets

3dMake Code Examples & Assets - OpenSCAD code examples and reference designs

Further Reading & References

References & Further Reading - Peer-reviewed research and scholarly works

Supplemental Resources & Textbooks

Textbook Options

Beginner-Friendly Textbooks:

  • Programming with OpenSCAD: A Beginner’s Guide to Coding 3D-Printable Objects by Justin Gohde and Marius Kintel - Comprehensive reference covering OpenSCAD syntax, geometry concepts, and design patterns. Ideal for deep dives into specific topics and as a reference guide throughout the course. Available in EPUB format (screen reader accessible).
  • Simplifying 3D Printing with OpenSCAD by Alicia Noors - Focused on practical workflows, optimization, and real-world printing scenarios. Available in EPUB/PDF formats.
  • OpenSCAD for 3D Printing by Al Williams - Hands-on introduction to OpenSCAD with practical 3D printing projects. Covers basics through intermediate topics with step-by-step tutorials.
  • Mastering OpenSCAD by Jochen Kerdels - Project-based learning approach with emphasis on parametric design and reusable code modules.

Free Online Resources:

Companion Teaching Resources

Curriculum-Specific Materials:

Practice Worksheets - Printable worksheets for visualization practice, decomposition exercises, vocabulary building, and assessment.
Visual Quick Reference - Command syntax guides and geometry reference.
Code Solutions Repository - Working OpenSCAD examples organized by topic (3D shapes, transformations, loops, modules, if-statements, advanced techniques).

Community Resources:

Getting Started

For Students

Step 1: Screen Reader Setup & Accessibility

Before beginning any technical work, optimize your screen reader configuration for command-line and coding work:

Step 2: Choose Your Command Line Pathway

Read Command Line Interface Selection Guide to compare all three CLI options, then select ONE pathway:

Complete ALL lessons in your chosen pathway (Pre through Lesson 6 + Unit Test) before moving to Step 3.

Step 3: Begin 3dMake Foundation

Once you’ve completed your CLI foundation:

  1. Read 3dMake Introduction - Overview of OpenSCAD and 3dMake
  2. Start Lesson 1: Environmental Configuration - Install OpenSCAD and 3dMake
  3. Progress through Lessons 2-11 sequentially
  4. Complete all project templates as you encounter them
  5. Review 3dMake Foundation Curriculum Guide for detailed lesson descriptions

Step 4: Projects & Documentation

Use the Student Templates for all project documentation:

  • Your First Print (Lesson 1)
  • Your Second Print & Bonus Print (Lesson 2)
  • Dice Dice Dice (Lesson 4)
  • Parametric Keychain (Lesson 6)
  • Miniature Assembly (Lesson 7)
  • Snap Fit Clip (Lesson 8)
  • Accessibility Audit (Lesson 10)
  • Projects 0, 1, and 3 (Lesson 11)

Step 5: Final Assessment

Complete 3dMake Foundation Final Exam to demonstrate mastery of OpenSCAD, 3DMake, and parametric design principles.


For Instructors

Course Setup & Planning:

  1. Review Syllabus - Complete course structure, philosophy, learning objectives, and assessment framework
  2. Read 3dMake Foundation Curriculum Guide - Detailed lesson-by-lesson breakdown with timing and objectives
  3. Study Master Rubric - Comprehensive project assessment criteria
  4. Explore Teacher Glossary - Pedagogical framework and instructional terminology

Assessment Materials:

Use the Teacher Templates for grading and feedback:

  • your_first_print_teacher_template.md
  • your_second_print_teacher_template.md
  • bonus_print_teacher_template.md
  • dice_dice_dice_teacher_template.md
  • parametric_keychain_teacher_template.md
  • miniature_assembly_teacher_template.md
  • snap_fit_clip_teacher_template.md
  • accessibility_audit_teacher_template.md
  • project_0_teacher_template.md
  • project_1_teacher_template.md
  • project_3_teacher_template.md

Final Exam:

Administer 3dMake Foundation Final Exam - 25-question comprehensive assessment covering error detection, code analysis, design challenges, and real-world application (100 points total).

Accessibility Support:

Additional Resources:

Screen Readers

We know that users of this curriculum will primarily be JAWS and NVDA screenreader users, or else users of Orca if on a Linux-based system. Dolphin SuperNova (commercial) and Windows Narrator (built-in) are also supported; the workflows and recommendations in this document apply to them. See https://yourdolphin.com/ScreenReader-Training and https://support.microsoft.com/en-us/windows/complete-guide-to-narrator-e4397a0d-ef4f-b386-d8ae-c172f109bdb1 for vendor documentation.