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

3D Design & Printing Curriculum - Non-Visual Toolchain Edition

Author: Michael Ryan Hunsaker, M.Ed., Ph.D.
Last Updated: 2026-03-04

Overview

This curriculum 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. Students progress from foundational command-line skills through guided projects to real-world, stakeholder-driven design challenges.

Who This Course Is For

This course is explicitly designed for blind and visually impaired learners who use screen readers (NVDA, JAWS, Orca, VoiceOver, Windows Narrator, Dolphin SuperNova). 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.

Core Philosophy

  1. Text-First Design: All core work happens in text editors and command-line interfaces - no graphical CAD previews, no mouse-dependent menu navigation.

  2. Parametric Thinking: Students learn to express geometry as code using OpenSCAD, enabling precise, reproducible, and iterable designs without visual feedback.

  3. Automation and Independence: 3DMake automates the journey from code to printed object, handling compilation, slicing orchestration, and metadata management through simple command-line commands and text configuration files.

  4. Screen Reader Mastery: Students develop fluency with accessibility technologies (NVDA, JAWS, VoiceOver) and accessible editors, building skills that apply to careers in software, engineering, and digital fabrication.

  5. Real-World Impact: Projects culminate in designing assistive-technology solutions for real stakeholders, combining technical skill with human-centered design and documentation.

Curriculum Structure & Scope/Sequence

Setup & Accessibility Fundamentals (Prerequisite - 2-3 hours)

Start here: Screen Reader Accessibility Guide

Before choosing a command-line pathway, students optimize their screen reader setup for terminal work.

ComponentDurationContent
Screen Reader Accessibility Guide1-1.5 hoursNVDA/JAWS reference for PowerShell, CMD, and Git Bash; keyboard shortcuts
Screen Reader Choice: Windows CLI30 minComparing NVDA, JAWS, Narrator, and Dolphin; choosing the right tool
Braille Display & Terminal Mode30 minOptional: configuring refreshable braille displays for terminal work
Editor Selection and Setup30 minChoosing Notepad, Notepad++, or VS Code; configuring indent announcement

Command-Line Foundation (Choose Your Path)

Start here: Command Line Interface Selection Guide

Students master terminal/command-line fundamentals before learning 3D design. Choose one of three equivalent pathways based on your operating system and preferences. All three pathways teach the same concepts and prepare you equally well for 3dMake work.

Important

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

Total Duration: 30-45 hours Start here: PowerShell Curriculum Overview

ComponentDurationContent
PowerShell Introduction20-30 minScreen-reader-friendly quick-start (JAWS/NVDA); essential commands overview
PowerShell Tutorial30-45 minHands-on tutorial: paths, navigation, wildcards, running scripts
Powershell Lesson Pre: Your First Terminal2-2.5 hoursOpening PowerShell, first commands, basic navigation, screen reader tricks
Powershell Lesson 0: Getting Started1.5 hoursPaths, shortcuts, tab completion
Powershell Lesson 1: Navigation2-2.5 hoursMoving around the file system confidently
Powershell Lesson 2: File & Folder Manipulation2.5-3 hoursCreating, editing, moving, copying, deleting files and directories
Powershell Lesson 3: Input, Output & Piping2.5-3 hoursRedirecting output, piping commands, understanding data flow
Powershell Lesson 4: Environment Variables & Aliases2-2.5 hoursSetting variables, creating shortcuts, persistent configurations
Powershell Lesson 5: Filling in the Gaps2.5-3 hoursControl flow, profiles, useful tricks, scripting fundamentals
Powershell Lesson 6: Advanced Terminal Techniques4-4.5 hoursScripts, functions, loops, professional workflows, automation patterns
PowerShell Unit Test & Practice2-3 hoursPractice exercises, assessment, reinforcement

Outcomes: Terminal fluency, file system mastery, basic scripting, screen reader optimization, automation readiness

Pathway B: Windows Command Prompt (CMD) (Simpler alternative)

Total Duration: 30-45 hours Start here: CMD Curriculum Overview

ComponentDurationContent
Command Line Lesson Pre: Your First Terminal2-2.5 hoursOpening CMD, first commands, basic navigation, screen reader tricks
Command Line Lesson 0: Getting Started1.5 hoursPaths, shortcuts, command basics
Command Line Lesson 1: Navigation2-2.5 hoursMoving around the file system confidently
Command Line Lesson 2: File & Folder Manipulation2.5-3 hoursCreating, editing, moving, copying, deleting files and directories
Command Line Lesson 3: Input, Output & Redirection2-2.5 hoursRedirecting output, piping commands, understanding data flow
Command Line Lesson 4: Environment Variables & Shortcuts2-2.5 hoursSetting variables, creating shortcuts, persistent configurations
Command Line Lesson 5: Filling in the Gaps2.5-3 hoursBatch files, advanced techniques, scripting fundamentals
Command Line Lesson 6: Advanced Terminal Techniques3-3.5 hoursScripts, automation patterns, professional workflows
CMD Unit Test & Practice2-3 hoursPractice exercises, assessment, reinforcement

Outcomes: Terminal fluency, file system mastery, batch scripting, screen reader optimization, automation readiness

Pathway C: Git Bash (Best for macOS/Linux or cross-platform development)

Total Duration: 20-25 hours Start here: Git Bash Curriculum Overview

ComponentDurationContent
Git Bash Introduction20-30 minScreen-reader-friendly quick-start (JAWS/NVDA); essential commands
Git Bash Tutorial30-45 minHands-on tutorial: paths, navigation, wildcards, running scripts
Screen Reader Accessibility Guide for Git Bash30-45 minNVDA and JAWS configuration specific to Git Bash
Bash Lesson Pre: Your First Terminal2-2.5 hoursOpening Git Bash, first commands, basic navigation, screen reader tricks
Bash Lesson 0: Getting Started1.5 hoursUnix-style paths, shortcuts, command basics, Windows path conversion
Bash Lesson 1: Navigation2-2.5 hoursMoving around the file system confidently
Bash Lesson 2: File and Folder Manipulation2-2.5 hoursCreating, editing, moving, copying, deleting files and directories
Bash Lesson 3: Input, Output & Piping2-2.5 hoursRedirecting output, piping with grep/sort/wc, understanding data flow
Bash Lesson 4: Environment Variables & Aliases1.5-2 hoursSetting variables, creating aliases, editing .bashrc
Bash Lesson 5: Filling in the Gaps2-2.5 hoursShell profiles, command history, debugging
Bash Lesson 6: Advanced Terminal Techniques2.5-3.5 hoursShell scripts, functions, loops, professional workflows
GitBash Unit Test & Practice2-2.5 hoursPractice exercises, assessment, reinforcement

Outcomes: Terminal fluency, file system mastery, bash scripting, version control basics, automation readiness

Common Outcomes (All Pathways)

  • Comfort with terminal/command-line interface
  • File system navigation and manipulation
  • Basic scripting and automation
  • Screen reader optimization for terminal work
  • Foundation for 3DMake automation tasks

3dMake Foundation (Main Curriculum - 16-20 hours)

Start here: 3dMake Introduction

11 progressive lessons building from foundational concepts to leadership-level design thinking, organized in 5 parts. Version 2.1 adds comprehensive advanced programming and design topics throughout.

Foundations (Lessons 1-3 | ~4-5 hours)

LessonFocusDurationProject
Lesson 1Environmental Configuration + Code Documentation Standards60-90 minNone
Lesson 2Primitives & Boolean Operations + Modifier Characters Debugging75-90 minNone
Lesson 3Parametric Architecture + Advanced Programming Concepts90-120 minNone

Verification & Safety (Lessons 4-5 | ~2 hours)

LessonFocusDurationProject
Lesson 4AI-Enhanced Verification & Feedback45-60 minNone
Lesson 5Safety Protocols & Material Introduction60-90 minNone

Applied Projects (Lessons 6-8 | ~5-6 hours)

LessonFocusDurationProject
Lesson 6Practical 3dm Commands + String Functions75-105 minCustomizable Keycap
Lesson 7Parametric Transforms + Math Functions90-120 minPhone Stand
Lesson 8Advanced Design + Assembly Best Practices105-150 minStackable Bins

Advanced Topics (Lessons 9-10 | ~3-4 hours)

LessonFocusDurationProject
Lesson 9Automation + File Import/Export (requires CLI Foundation)75-105 minBatch Processing Automation
Lesson 10Troubleshooting & Mastery with Measurement120-150 minQA Testing + Accessibility Audit

Leadership (Lesson 11 | ~2 hours)

LessonFocusDurationProject
Lesson 11Stakeholder-Centric Design & Design Thinking90-120 minBeaded Jewelry Holder

Total: 16-20 hours of instruction + projects

Reference Appendices

Overview Documents

Command Line Integration Appendices

Located in Command_Line_Interface_Selection/:

AppendixTitleUse When
Appendix ACMD/Batch Integration for SCAD WorkflowsAutomating with Windows Command Prompt and batch files
Appendix BPowerShell Integration for SCAD WorkflowsAutomating with PowerShell scripts and advanced workflows
Appendix CGit Bash / POSIX Shell Integration for SCADAutomating with Unix/bash shell scripts for cross-platform

3dMake & OpenSCAD Appendices

Located in 3dMake_Foundation/:

AppendixTitleUse When
3DMake Cheat SheetComplete 3dm CLI ReferenceQuick command lookup, troubleshooting 3dm commands
Appendix AComprehensive Slicing GuideSlicing questions, switching slicers, quality issues
Appendix BMaterial Properties & Selection GuideChoosing material, troubleshooting prints, cost analysis
Appendix CTolerance Testing & Quality Assurance MatrixStarting a project, verifying dimensions, quality issues
Appendix DAdvanced OpenSCAD ConceptsBuilding mechanical systems, optimizing complex models
Code Examples & Assets3dMake Code Examples & AssetsReference designs, working code examples

Project Templates & Assessment Materials

Student Project Templates

Located in 3dMake_Foundation/Templates/Student/, these templates guide students through structured documentation for each project:

  • your_first_print_student_template.md - Lesson 1 extension project
  • your_second_print_student_template.md - Lesson 2 basic parametric design
  • bonus_print_student_template.md - Lesson 2 advanced practice
  • dice_dice_dice_student_template.md - Lesson 4 verification project
  • parametric_keychain_student_template.md - Lesson 6 practical 3dm commands
  • miniature_assembly_student_template.md - Lesson 7 transforms project
  • snap_fit_clip_student_template.md - Lesson 8 assembly design
  • accessibility_audit_student_template.md - Lesson 10 QA testing
  • project_0_student_template.md - Lesson 11 preliminary design
  • project_1_student_template.md - Lesson 11 prototype iteration
  • project_3_student_template.md - Lesson 11 final stakeholder project

Each template includes sections for problem statement, design decisions, code documentation, testing results, measurements, reflections, and iteration notes.

Teacher Assessment Templates

Located in 3dMake_Foundation/Templates/Teacher/, corresponding templates provide grading rubrics and feedback frameworks:

  • 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

Each teacher template includes the 0-9 rubric scoring guide, common issues to watch for, and focus areas for feedback.

Final Assessment

3dMake Foundation Final Exam - Comprehensive 25-question assessment (100 points total) covering:

  • Section 1: Error Detection & Code Analysis (Problems 1-10)
  • Section 2: Design Challenges & Real-World Application (Problems 11-25)

Questions include error identification, code explanation, behavioral analysis, and design problem-solving.

Master Rubric

Master Rubric - Unified assessment framework used across all projects, providing detailed criteria for the three scoring categories (Problem & Solution, Design & Code Quality, Documentation).

Reference Materials for Students & Teachers

Glossaries

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

Technical References

  • Technical Reference & Troubleshooting - Advanced systems architecture, OpenSCAD professional modeling reference, 3DMake professional usage, CLI references (CMD, PowerShell, Git Bash), and comprehensive troubleshooting compendium
  • Further Reading & References - Peer-reviewed research and scholarly works supporting curriculum design

Quick References

Learning Progression: Student Roles

Students move through roles across the curriculum:

PhaseRoleCore ToolsFocus
CLI FoundationObserver/LearnerTerminal, command lineCLI fundamentals and keyboard navigation
3dMake Lessons 1-5Observer/LearnerOpenSCAD, 3DMake, editorUsing CLI tools, safety, concepts, measurement
3dMake Lessons 6-8OperatorEditor, OpenSCAD, 3DMake, slicerHands-on practice with structured projects
3dMake Lessons 9-10DesignerFull toolchainParametric design, automation, troubleshooting
3dMake Lesson 11Problem-SolverFull toolchain + documentationStakeholder design, real-world impact

The Accessible Toolchain: How It Works

OpenSCAD - Text-Based 3D Design

OpenSCAD is a free, open-source CAD tool that uses a programming language to describe 3D geometry. Students write code that defines shapes, transforms them, and combines them using Boolean operations.

Why OpenSCAD?

  • Screen reader friendly: All work happens in a text editor; no visual-only 3D preview.
  • Repeatable: Code is version-controlled, documented, and shareable.
  • Parametric: Variables allow students to design once and generate variations by changing numbers.
  • No visual dependency: Students reason about geometry through code structure and testing.

3DMake - The Non-Visual Build Bridge

3DMake is a command-line tool that automates the journey from OpenSCAD code to a printable file:

3dm build
3dm info
3dm slice

Why 3DMake?

  • No GUI navigation: All interaction is keyboard-driven and text-based.
  • Automation: Eliminates repetitive manual steps.
  • Metadata tracking: Configuration files store parameters as human-readable text.
  • Error reporting: Diagnostic output is text that screen readers can read aloud.

Accessible Editors

Students write OpenSCAD code using screen reader-accessible editors:

  • VS Code (Windows, macOS, Linux): Industry-standard with built-in screen reader support
  • Notepad++ (Windows): Lightweight, keyboard-driven, excellent screen reader support
  • Command-line editors (Nano, Vim, Emacs): Full keyboard control, no mouse needed

Prerequisites by Section

SectionPrerequisitesWhat You’ll Learn
SetupNone - start hereScreen reader optimization, editor selection, accessibility setup
CLI FoundationSetupTerminal basics, keyboard navigation, file operations, basic scripting
3dMake Lessons 1-5Setup (CLI Foundation recommended)3D printing concepts, safety, measurement, OpenSCAD basics, debugging
3dMake Lessons 6-8Lessons 1-5Building projects, parametric design, transforms, tolerances
3dMake Lessons 9-10Lessons 6-8 + CLI Foundation requiredAutomation, troubleshooting, advanced measurement and QA
3dMake Lesson 11Lessons 9-10Stakeholder design, real-world prototyping, leadership

Grading Rubric

All projects are scored on a 0-9 scale across three equally weighted categories (3 points each):

CategoryPointsWhat We Measure
Problem & Solution0-3Does the design solve the stated problem? Are all functional requirements met?
Design & Code Quality0-3Is the OpenSCAD code clean, well-commented, and well-structured? Does the print work well? Is there evidence of iteration?
Documentation0-3Are all sections complete? Are reflections thoughtful and specific? Are measurements recorded?

Category 1: Problem & Solution (0-3 points)

ScoreDescription
3The prototype clearly and effectively solves the stated problem. All functional requirements are met. The solution shows evidence of testing against the requirements.
2The prototype mostly meets the problem. Most functional requirements are met. Minor gaps between the design and the requirements.
1The prototype partially addresses the problem. Several functional requirements are not met or were not clearly tested.
0The prototype does not address the stated problem, or no functional requirements were established.

Category 2: Design & Code Quality (0-3 points)

OpenSCAD code is central to this course. We evaluate the clarity, structure, and documentation of your code as much as the print quality.

ScoreDescription
3Code is clean, well-organized, and thoroughly commented. Variables/modules are used appropriately. Print quality is excellent. Design shows original thinking and at least one meaningful iteration.
2Code works but lacks clear structure or comments. Variables are used but could be better named. Print quality is acceptable. Some iteration evident.
1Code is functional but poorly organized. Comments are minimal or missing. Print quality has defects. Little or no iteration.
0Code does not work, is not submitted, or shows no original thinking. Print is not functional.

Category 3: Documentation (0-3 points)

ScoreDescription
3All required sections are present, complete, and specific. Reflections are thoughtful and reference specific decisions, problems encountered, and learning. Photos/measurements are included.
2Most required sections are present. Some sections are vague or missing detail. Reflections show some thought but are brief or generic.
1Documentation is incomplete. Major sections are missing or consist of one-line responses. Reflections are minimal.
0Documentation is not submitted or is essentially empty.

Score Interpretation

Total ScoreInterpretationNext Step
8-9Excellent workMove on to next project
6-7Good work with room for improvementMove on; instructor may suggest revisiting one element
4-5Meets basic expectationsResubmission of specific weak areas recommended
2-3Does not meet expectationsResubmission required
0-1Missing major deliverablesMeet with instructor; create a completion plan

Resubmission Policy

Students may resubmit any project as many times as they need to improve their score. Resubmissions must include a one-paragraph explanation of what was changed and why. The resubmission score replaces the original score.

Core Design Toolchain

OpenSCAD

3DMake

Editors

Screen Reader & Accessibility

Screen Readers

Note: This curriculum is designed to work with all major screen readers. The workflows are tested primarily with NVDA and JAWS but apply to all screen readers listed above.

Accessibility Configuration

Slicing Software

Supplemental Textbooks & Learning Resources

Beginner-Friendly Textbooks:

Free Online Resources:

Curriculum-Specific Resources:

Community Resources:

Local Resources: Utah Makerspaces & Community Printing

Public Library Make Spaces

Salt Lake City Public Library

  • SLC Public Creative Lab - Main Library (Level 1)
    • Hardware: Prusa i3 MK3, LulzBot Taz 5, Elegoo Mars 2 (resin)
    • Pricing: Free for prints under 6 hours; $0.50/hr + material cost otherwise

Salt Lake County Library System

Makerspaces & Community Centers

Make Salt Lake

  • Location: 663 W 100 S, Salt Lake City, UT 84101
  • Website: https://makesaltlake.org/
  • Equipment: Full metal shop, CNC machines, large-scale FDM and resin printing

University of Utah Maker Spaces

Troubleshooting & Getting Help

Quick Reference Materials

Setup & Configuration:

Syntax & Commands:

Materials & Safety:

When You’re Stuck

For Technical Issues:

  1. Check Common Issues and Solutions - Comprehensive troubleshooting guide
  2. Review Diagnostic Checklist - Systematic problem diagnosis
  3. Consult Technical Reference - Advanced systems architecture and professional reference
  4. Post in OpenSCAD Discord or Reddit r/openscad
  5. Visit your local makerspace for hands-on support

For Accessibility Support:

For Design & Concept Questions:

  • Review Student Glossary for terminology clarification
  • Check project-specific guides in lesson folders
  • Consult the Master Rubric for assessment expectations