OpenSCAD Princess Castle Project

Initial Design Idea


Our goal is to create a Disney castle in openscad that sort of models this one above (from thingiverse). We really liked this idea of creating a Disney castle because the different shapes present a new challenge for us to tackle. We also think it is easy to personalize and make it the way we want to. We think we bring knowledge from learning openscad already, however, we realize we are going to have to continue to learn the system and how to code. We are going to have to learn how to get all the shapes to come together and how to build the walls of the castle. This will be able to be learned from youtube tutorials and through trial and error. Even though we are not full skilled in openscad we believe that we will be determined to learn how to make the castle the way we want to.

Design Iteration




s = [30, 50, 15];




module castle()


   //four corner towers

   for(x=[-1:2:1], y=[-1:2:1])

       translate([s[0]/2*x, s[1]/2*y, 0])





       translate([0,y*s[1]/2, 0])

       wall([s[0], walls, s[2]*3/4], false);

   //front and back walls


       translate([x*s[0]/2, 0, 0])

       wall([walls, s[1], s[2]*3/4]);


module tower(height = 15)


   translate([0, 0, height/2])



       cylinder(d=height/3, h=height, center=true);

       translate([0,0, height*5/8])

       cylinder(d1=height/2.75, d2=0, h=height/4, center=true);



module wall(dims=[30, 3, 10])


   translate([0, 0, dims[2]/2])

   cube(dims, center=true);


In order to code this castle, we watched a Youtube tutorial by Les Hall explaining each specific part we needed to code in order to create our castle. The code works because each part of the castle walls had to be coded individually with specific x and y dimensions. We also had to translate each cylinder to the walls in order for the castle to connect properly and work. At first, the shape of the roofs on top of each cylinder was not fitting correctly so we had to alter the size of each one to look correct. We also had to change the translations walls and dimensions because they were not fitting together right. Overall, the video was helpful but it did not create the model exactly how we wanted to, the dimensions were off and translation wasn’t working, so we had to change it a few times so that it all came together.

First Draft Print

Overall, we think our first print was a success! We learned from this print that we need to make the print a lot bigger and taller. We also want to change. a few things for our final print. We want to add a brick texture or possibly a door to our print to make it more advanced and unique. We wanted the draft to be simple so we can see the logistics of the shape.  We are going to have to do some exploring in that aspect of the project in terms of finding a good texture to customize it. For the most part we are pleased and are going to work on it becoming more advanced!

Thingiverse Customizer

10 points, due by noon on Thursday 2/21

  • copy part of your code here and describe how it works with the Customizer
  • which parameters will you let users modify or not, and in what ranges?
  • include a screenshot of your model in use in the Thingiverse Customizer
  • upload code and demo model and image to Thingiverse and enable Customizer
  • add JMU3SPACE tag and link both ways between Thingiverse and this post

Final Prints

10 points, due by noon on Thursday 2/21

  • print three final customized versions of your model
  • include photos of your final prints and describe the parameters used for each
  • discuss these final prints and their strengths and weaknesses
  • change the Featured Image for this post to your photo of final print(s)