CompFab Project 1--2D Ornamental Pattern

Introduction: CompFab Project 1--2D Ornamental Pattern

Following Jennifer's tutorial using Rhino + Grasshopper, I linked all the components together to get a parametric design going from the two points (based on the Python script provided). After playing around with the parameters a bit and following through the rest of the tutorial, I was able to adjust the Python code and parameter values to a design that I liked. I then followed the steps in the tutorial to extrude the shape into rhino. Lastly, I exported it as an STL and was able to print the design in Cura.

Supplies

3D printer filament and Ender 3 3D printer

Software: Rhinoceros (using Grasshopper, Pufferfish, and Python) & Ultimaker Cura

Step 1: Basic Param Linking in Rhino + Grasshopper

After getting the basic link-up done for a parametrized design (using two points, no curvature yet), I played around with some parameter values to see how it changed my design.

Step 2: Adding Curved Lines to the Design

Troubleshooting Rhino + Grasshopper and just learning the interface was a bit of a challenge for me, especially in this step here. While the tutorial was easy to follow and helped me grasp what was going on, it definitely took me a lot of time step by step, trying to figure out what changes to make and how it affected what was happening in my design.

After getting the line connections working in my design, I played with the parameters more to fine-tune the visual aesthetic. I noticed that my first iterations were these crazy busy designs, partly because I am aesthetically obsessed with geometric form. However, I needed to tell myself to back off on the complexity and find a balance between space and structure. After messing around with the extrusion height and the thickness of the lines, I decided on this final design structure that resembled a honeycomb-like form. I settled on this choice because it was a successful balance between negative and positive space. The parametrized nature of the design made it easy to find a pattern--however, my fine-tuning of parameters and the way that the design is created in the python script made it to where this repetition is slightly off, slightly broken (based on the size of the negative spaces as the design progresses, the position of the negative spaces, and the edges of the design).

Step 3: Final Structure in Rhino + 3D Print!

After settling on a final design, I was able to export it as an STL file and use Cura to 3D print the design. I chose to not use scaffolding/supports when printing my design, as I did not have any overhangs and it cut my print time from 9 hours to 3 hours. I also magnified the size when printing, as my model in Rhino exported too small.

Overall, I am excited about this design. It was my first parametrized design that was 3D printed successfully, and I learned a lot about the troubleshooting and flow process between software, as well as how that translates to a physical object. I am definitely excited to play around with this more after this initial project, as I heavily relied on examples and the tutorial document provided this go-around instead of playing and developing from a blank page. However, for my next try, I will code from scratch, taking what I learned and creating something more personal and unique.

Step 4: More 3D Prints!

I printed out 2 more iterations of this design as coasters for mugs/glasses for my home. They were very successful with the wood filament! The original STL file was scaled in Cura to better suit a coaster shape, which resulted in a different output.

Be the First to Share

    Recommendations

    • Stone, Concrete, Cement Challenge

      Stone, Concrete, Cement Challenge
    • DIY Summer Camp Contest

      DIY Summer Camp Contest
    • Summer Fun: Student Design Challenge

      Summer Fun: Student Design Challenge

    8 Comments

    0
    baojingyinyin
    baojingyinyin

    1 year ago

    Very nice documentation. I am wondering what direction you will go for a more personal and unique design outcome?

    0
    stejaraiulia
    stejaraiulia

    Reply 1 year ago

    Hi!! Thinking about still keeping the more organic structure, playing with negative and positive space... Basically just trying some math out on my own and seeing what the visual result is.

    0
    merttoka
    merttoka

    1 year ago on Step 3

    It's great that you actually used the printer! Do you remember how much material your ornament consumed when printed?

    0
    stejaraiulia
    stejaraiulia

    Reply 1 year ago

    Not too much material! Maybe 1/5 of the spool they gave us with the printer?

    0
    solenk
    solenk

    1 year ago on Step 2

    I really like your design principles and the end product itself, as well. Balance between simplicity and complexity, between negative space and positive space. You say that "my fine-tuning of parameters and the way that the design is created in the python script made it to where this repetition is slightly off, slightly broken". It would be very helpful to see in what way you have implemented the notion of "slightly off". Mind sharing the code?

    0
    stejaraiulia
    stejaraiulia

    Reply 1 year ago

    Hi Solen! Thanks for your comment. I added a conditional statement in the double for loop provided in the tutorials for this, just changing the way that the points are displayed/omitted:

    for i in range(0,ry+1):
    for j in range(0,rx):
    x = p1.X + j * dx
    y = p1.Y+ i*dx
    if(mtype == 0):
    if((i*i - j*j) % mod) == 0:
    pt.append(rs.CreatePoint(x,y,0.0))
    elif(mtype == 1):
    if((i*i + j*j) % mod) == 0:
    pt.append(rs.CreatePoint(x,y,0.0))
    elif(mtype == 2):
    if((i*j) % mod) == 0:
    pt.append(rs.CreatePoint(x,y,0.0))
    elif(mtype == 3):
    if((i*j+j+i) % mod) == 0:
    pt.append(rs.CreatePoint(x,y,0.0))
    else:
    if((i*i + j) % mod) == 0:
    pt.append(rs.CreatePoint(x,y,0.0))

    This last else statement is what I used to compose my design. I also expanded the range of my parameters and made those numbers bigger, which led to different point patterns (however, it takes forever to render sometimes).

    Let me know if you want me to send you my rhino + grasshopper files!

    0
    weidi
    weidi

    1 year ago

    very detailed description - and it is great you already start to experiment with the printer

    0
    soniahashim
    soniahashim

    1 year ago on Step 3

    So cool that you printed this out! I had a similar experience where I found it challenging to balance the positive and negative space. Excited to see what you come up with next!