/py3dp_book

Scripts I made while following along the Python for 3D Printing book by John Clark Craig

Primary LanguagePython

Python for 3D Printing Book

Following along the examples from the book

Study notes

Migrating to SolidPython

  • From chapter 16 (Rotate extrude) of the book, I decided to pickup the SolidPython library to do the exercises.
  • When translating the examples to SolidPython, I've realized an "oversight" of learning OpenScad through the book whilst using the author's own OpenScad translation library.
  • The author's library provides a lot of shortcuts and conveniences which is great to get started but detracts you to "get" the process and design flow of OpenScad.
  • SolidPython's approach follows closely the OpenScad thinking and provides little conveniences. This gave me a moment of disconnect.
  • The first 4 steps of this Instructible, set me in the right direction and I was able to convert the examples in the book so far.
  • I plan to continue through the examples in the book and maybe get around finishing the Instructible as well.

Following along the code samples

  • I'm using the Kindle version of the book and unfortunately the code samples are in image form so you'll really have to type stuff in yourself. I find that this may be a good thing for learning.
  • The author have created a lot of convenience objects that builts on top of the basic OpenScad objects (i.e. triangle, regular_polygon, etc.). I've translated some of them to SolidPython.
  • The author likes to put a lot of the normal OpenScad function under a linear_extrude function and this tripped me off as I was translating to SolidPython. If the examples are not the same as what you are producing, check the author's "reimplementation" in his library.

External resources

  • One annoying thing is that the author will leave you to search the internet for the libraries he uses (both his custom translation lib and the the OpenScad libs). I was able to find these and am including them in this repo for reference. I wish he would've uploaded the libs on github or somewhere easily accessible like any decent tech author would do.

Links