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, 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

Part 1: PowerShell Foundation (6 lessons + 4 guides)

Where to Start: PowerShell Introduction

Before learning 3D design, students master terminal/command-line fundamentals:

  • PS Introduction - What is a terminal and why learn it (pre-terminal intro for absolute beginners)
  • PS.0 through PS.5 - 6 progressive lessons covering command-line basics through error handling
  • Screen Reader Accessibility Guide - NVDA & JAWS reference for terminal navigation
  • PowerShell Curriculum Overview - Complete guide with learning paths

Time commitment: ~6 hours
Skills gained: Terminal navigation, file operations, basic scripting, keyboard-only workflow mastery

Part 2: 3dMake Foundation (11 lessons + 4 appendices)

Where to Start: 3dMake Introduction

Main Curriculum: 11 Progressive Lessons

PartLessonsFocusDurationTotal Hours
Foundations1-3Environment setup, primitives, parametric design~3 hours3
Verification & Safety4-5AI verification, safety protocols, materials~2 hours5
Applied Projects6-8Practical commands, transforms, advanced design~4 hours9
Advanced Topics9-10Automation, troubleshooting, mastery~3 hours12
Leadership11Stakeholder-centric design~2 hours14

Total: 14-18 hours instruction + projects

4 Comprehensive Reference Appendices


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, VoiceOver
  • OpenSCAD - Free, open-source text-based CAD (no visual-only GUI dependency)
  • 3DMake - Command-line build tool eliminating GUI navigation
  • Accessible editors - VS Code, Notepad++, Nano, Vim (all keyboard-driven, screen reader friendly)

See Screen Reader Coding Tips (NVDA & JAWS) 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

Every 3dMake lesson includes hands-on projects:

  • Lesson 6: Keycap with embossed text (3dm commands)
  • Lesson 7: Phone stand (parametric transforms)
  • Lesson 8: Stackable bins (interlocking features, tolerances)
  • Lesson 9: Keychain 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

Reference Materials

Quick navigation to common topics:


Supplemental Resources & Textbooks

This course is enhanced by comprehensive textbooks and companion materials from the Programming with OpenSCAD project:

Free Textbooks (EPUB Format)

Companion Teaching Resources

  • 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).

Getting Started

For Students:

  1. Start with PowerShell Introduction
  2. Complete PowerShell lessons (PS.0-PS.5)
  3. Begin 3dMake Introduction
  4. Follow Lesson 1: Environmental Configuration
  5. Continue through Lesson 11

For Instructors:

  1. Review Curriculum Guide
  2. Use 11 Teacher Templates for assessment
  3. Reference Master Rubric for grading
  4. Check Syllabus for course policies and learning progression