Programming with Openscad: A Beginner's Guide to Coding 3d-Printable Objects

Gohde, Justin, Kintel, Marius

  • 出版商: No Starch Press
  • 出版日期: 2021-08-26
  • 售價: $1,100
  • 貴賓價: 9.5$1,045
  • 語言: 英文
  • 頁數: 206
  • 裝訂: Quality Paper - also called trade paper
  • ISBN: 159327954X
  • ISBN-13: 9781593279547
  • 相關分類: 3D 列印
  • 立即出貨(限量) (庫存=2)

買這商品的人也買了...

商品描述

Programming with OpenSCAD is a STEM-focused, learn-to-code book for beginners that introduces core computational thinking concepts through the design of 3D-printable objects. Develop coding skills as you build increasingly complex 3D models and print them into fun games, puzzles, and more.

OpenSCAD is freely available open source software that enables nondesigners to easily create 3D designs using a text-based programming language. It's a great language for beginners because the instant 3D visualization gives you immediate feedback on the results of your code. This book channels OpenSCAD's visual benefits and user-friendliness into a STEAM-focused, project-based tutorial that teaches the basics of coding, 3D printing, and computational thinking while you develop your spatial reasoning by creating 3D designs with OpenSCAD.

Presuming no prior experience with either programming or 3D design, each chapter builds a scaffolded understanding of core concepts. You'll start by defining, drawing and displaying geometric primitives with text-based code, then expand your creative toolbox with transformation operations - like rotating, reflecting, scaling, and combining shapes.

As the projects become more sophisticated, so will your programming skills; you'll use loops for replicating objects, if statements for differentiating your designs, and parameterized, self-contained modules to divide longer scripts into separate files. Along the way, you'll learn 3D printing tips so that you can produce physical mementos of your progress and get physical feedback that lets you correct mistakes in real time. In addition, the book provides hands-on and accessible design exercises at the end of each chapter so that you can practice applying new concepts immediately after they are introduced.

You'll learn:
- Programming basics like working with variables, loops, conditional statements, and parameterized modules
- Transformation operations, such as rotate, reflect, and scale, to create complex shapes
- Extrusion techniques for turning 2D shapes into elaborate 3D designs
- Computational-thinking concepts, including decomposition, abstraction, and pattern recognition
- OpenSCAD's Boolean, Minkowski and hull operations for combining multiple 3D shapes into one
- 3D design fundamentals, like navigating the xyz-axis, orthogonal vs. perspective views, and constructive solid geometry
- Organizing bigger designs into separate files to make code more readable and collaborative

Accessibly written for a wide audience (advanced middle schoolers, high school students, college students, artists, makers and lifelong-learners alike), this is the perfect guide to becoming proficient at programming in general and 3D modeling in particular.

商品描述(中文翻譯)

《使用OpenSCAD進行編程》是一本針對初學者的STEM專注的學習編程書籍,通過設計可3D打印的物體來介紹核心計算思維概念。通過構建越來越複雜的3D模型並將其打印成有趣的遊戲、拼圖等,您可以發展編程技能。

OpenSCAD是一款免費的開源軟件,它使用基於文本的編程語言,使非設計師能夠輕鬆創建3D設計。對於初學者來說,這是一種很好的語言,因為即時的3D可視化功能可以立即反饋代碼的結果。本書將OpenSCAD的視覺優勢和用戶友好性轉化為以STEAM為重點的項目教程,通過使用OpenSCAD創建3D設計,教授編程、3D打印和計算思維的基礎知識,同時培養您的空間推理能力。

假設您對編程或3D設計都沒有先前經驗,每章都會建立一個有層次的核心概念理解。您將從使用基於文本的代碼定義、繪製和顯示幾何基元開始,然後通過轉換操作(如旋轉、反射、縮放和結合形狀)擴展您的創意工具箱。

隨著項目變得更加複雜,您的編程技能也會提高;您將使用循環來複製對象,使用if語句來區分設計,並使用參數化的自包含模塊將較長的腳本分為單獨的文件。在此過程中,您還將學習3D打印技巧,以便可以製作您的進展的實體紀念品,並獲得實時的物理反饋,以便您可以即時更正錯誤。此外,該書在每章結尾提供了實踐應用新概念的實用設計練習。

您將學到:
- 編程基礎知識,如使用變量、循環、條件語句和參數化模塊
- 轉換操作,如旋轉、反射和縮放,以創建複雜的形狀
- 擴展技術,將2D形狀轉換為精美的3D設計
- 計算思維概念,包括分解、抽象和模式識別
- OpenSCAD的布爾運算、Minkowski和hull操作,將多個3D形狀結合為一個
- 3D設計基礎知識,如導航xyz軸、正交視圖和透視視圖以及建構實體幾何
- 將更大的設計組織成單獨的文件,以使代碼更易讀和協作

本書以通俗易懂的方式撰寫,適合廣大讀者(中學生、高中生、大學生、藝術家、製造商和終身學習者),是成為熟練的編程和3D建模專家的完美指南。

作者簡介

Marius Kintel is the primary author and maintainer of OpenSCAD. He is a software engineer with more than 20 years of professional experience in diverse fields such as 3D visualization, physical computing, manufacturing automation, and cloud computing. In 2007, he became involved in the RepRap project out of an interest in learning electronics and the opportunity to transfer his knowledge of 3D graphics into the creation of tangible objects. Together with the rest of the local RepRap team at the Metalab hackerspace in Vienna, Austria, OpenSCAD was created out of a need for an open-source multi-platform design tool more suitable for 3D printing. The project was adopted by the maker community at large, and has since grown to become one of the most popular open-source 3D modeling tools for 3D printing.

Justin Gohde has been teaching Math and Computer Science for more than 20 years. He is the Head of Computer Science at Trinity School in Manhattan, New York where he oversees the Computer Science curriculum and programs, including a Design Lab makerspace with a wide collection of rapid prototyping tools for supporting Computer Science, Robotics, and other STEAM-focused projects.

作者簡介(中文翻譯)

Marius Kintel是OpenSCAD的主要作者和維護者。他是一位軟體工程師,在3D視覺化、物理計算、製造自動化和雲端計算等多個領域擁有超過20年的專業經驗。在2007年,他參與了RepRap項目,出於對學習電子學和將自己對3D圖形的知識轉化為創造有形物體的機會的興趣。在奧地利維也納的Metalab黑客空間,與當地的RepRap團隊一起,他們創建了OpenSCAD,以滿足對於一個更適合3D打印的開源多平台設計工具的需求。該項目被廣大的Maker社區所接受,並且已經成為最受歡迎的開源3D建模工具之一。

Justin Gohde已經教授數學和計算機科學超過20年。他是紐約曼哈頓的Trinity School的計算機科學主任,負責監督計算機科學課程和計劃,包括一個設計實驗室裡擁有各種快速原型製作工具,以支持計算機科學、機器人和其他STEAM專案。