Contemplating Publishing

I have been using OpenScad for roughly a year now.  It’s been a great experience, and I’ve learned a lot about the program, and the limitations of my own design skills.  I have written a lot about using OpenScad, and where its strengths and limitations are, at least relative to my own design skills.

I recently asked a question on the OpenScad mailing list: Does anyone know of an effort to write a book on OpenScad?

The response thus far has been ‘the wiki book is THE book’.

So, I am contemplating the following, as I have before: Is there room/desire for a printed book on how to use OpenScad?

I had asked this question some time back in a different forum, and the recommendation at that time was “go ahead and start writing chapters, and put them on your blog”.

This is what I will start doing.  I believe there is room for some structured walk throughs of some nuances of OpenScad.  I will put some form around my various OpenScad musings and put them up here.  My intention is to not just cover what can already be found in the user’s manual, but taking a modeler’s approach.  Basically, show a picture of a thing, then deconstruct how that thing can be created with OpenScad, showing interesting techniques, and explaining various OpenScad functions along the way.  Similar to some of the screen casts and other tutorials I’ve seen, but probably getting into deeper detail.

Now, if only I can figure out how to put ‘code’ into my WordPress posts.  I will be able to do the following:

cylinder(r=3, h=25, center=true);

And it will show up with a pretty background, and line numbers.  That’s quite an incentive to improve my WordPress skills.

3 Comments on “Contemplating Publishing”

  1. ted stockwell says:


    I have only recently started using OpenScad. Previously I used Sketchup.
    Anyway, I started googling for help creating a cylindrical shape that I wanted make and I came across your revoloids library.
    I ended up reading most of what you have on Thingiverse and now I’m reading most of your blog! If there is anyone that qualifies as an OpenScad expert, other than the authors, then you’re the dude. I really like OpenScad so far and would definitely would have bought a book by now.

  2. ted stockwell says:

    BTW, you have mentioned elsewhere that you find the OpenScad language to be limiting.
    I’m a programmer myself AND I have a interest in languages.

    I wonder if you could give me a reference to a language or API that you would prefer for a modeling tool like OpenScad?

    • Hi Ted,

      Thanks for the compliments on my work.

      Just about any language would be good. I myself am exploring/implementing some stuff in Lua. There are some basic limiters from a ‘classic’ language perspective.

      Variables: They don’t exactly exist in OpenScad. What you have are compile time constants. They can be changed locally in a context, but they’re not what you’d traditionally consider to be ‘variables’.

      Functions: Functions are essentially single line expressions, NOT statements. Therefore, you can not have things like loops, with a final return value.

      Breaks: You can not break out of a loop. There is only “for ()” for iteration. There is no ‘do while’ or variants thereof. There is no ‘break’, to get out of a loop.

      Arrays: You can not change them, nor can you append to them. Ideally you’d like to generate your own mesh, and then hand that to the polygon, or polyhedron() modules to render. You can’t really do that as there’s no append, nor alteration of an array.

      Copy Semantics: Arrays, even though you can not alter them, are copied whenever they are referenced. This makes things like texture mapping pretty challenging from a performance perspective.

      Any language that overcomes these limitations would be a good fit. There is one effort in Python that I know of. I don’t so happen to like Python, so I’m not using it.

      These are pretty straight forward things that you’ve probably grown to love and depend on in most languages. They just don’t exist here.

      The primary benefits of OpenScad:
      Ease of use
      Connection to OpenCSG for realtime visualization
      Connection to CGAL for actual processing

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s