Skip to content

Open-source Grasshopper definitions for 3D printing with a UR robotic arm, tailored for various extrusion processes.

License

Notifications You must be signed in to change notification settings

cxlso/Robotic_Printing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robotic Printing

Open-source Grasshopper definitions for 3D printing with a UR robotic arm, tailored for various extrusion processes

Cover

This repository contains Grasshopper definitions designed for 3D printing with a robotic arm, specifically using a UR10e and the Robots plugin by Visose. Each script is tailored for different aspects of the robotic extrusion process, with illustrations provided for each definition.

The field of computer-aided design often lacks cohesive resources for robotic arm applications, with existing materials being scattered, disorganized, or closed source. This project addresses these challenges by offering open-source tools and comprehensive documentation. I designed these scripts as part of my work at FAU to help set up the robotic lab from scratch.

All scripts share a common base setup for the tool and system, including choosing the robot, setting parameters such as speed and extrusion rate, and providing a similar user interface. More scripts will be added over time.

Getting Started

Each script includes detailed comments and annotations to help you understand and customize them for your specific needs. These scripts were tested using a UR10e robotic arm.

Hardware Requirements

Software Requirements

Scripts Overview

1. Robotic Printing Basic Script

RoboticPrinting_Basic_Script

This script includes everything you need to get started with robotic extrusion on a Universal Robot. It serves as the foundation for the other, more specialized scripts.

2. Robotic Printing Open Curve

RoboticPrinting_Open_Curve

Designed for printing non-closed objects, this script creates vertical zigzagging, which is useful for portions of an object with a hole. It can be used in addition to the standard closed curve technique. Applications include creating a two-part mold of a column or a shape with a vertical opening from the side.

3. Robotic Printing Seam Adjustment

RoboticPrinting_Seam_Ajustment

This script allows for the adjustment of seam points in an object. The end points of a curve are relative to an adjustable attractor point, enabling you to hide the seam or place it in a convenient location. It also helps fix random endpoint errors that can occur during contouring. For example, bypassing this part of the script can reveal path errors.

4. Robotic Printing Jump Between Curves

RoboticPrinting_Jump_Between_Curves

This definition enables jumping from one curve to another and stopping/starting the extrusion command when printing complex shapes. Steps to use:

  1. Split your shape into multiple parts to isolate the zone requiring jumping.
  2. Set up the jump height.
  3. Set up the position of the extrusion ON/OFF command for the jump. An offset can be added if the extruder is unpredictable. Overlap can be useful.

5. Robotic Printing Non-Planar Extrusion

RoboticPrinting_Non-Planar_Extrusion

This script slices your BRep with tweened surfaces automatically generated from the BRep. You need to create a curve at the center of your volume, from bottom to top, which will be used to generate one or more surfaces to control the planar orientation of the toolpath. For meshes, additional smoothing operations and threshold controls are required to avoid open curves.

6. Robotic Printing Adjustable Speed

RoboticPrinting_Ajustable_Speed

This script provides variable speed or extrusion rates to compensate for localized differences in layer height in certain areas. Define a curve as an attractor for variable speed and adjust the Bezier curve on the GraphMapper to control the speed transition precisely. A color gradient helps visualize the speed.

Photos and Videos

RoboticPrint_Basic_Script-light.mp4
RoboticPrinting_Open_Curve-light.mp4
RoboticPrinting_Seam_Ajustment2-light.mp4
RoboticPrinting_Jump_Between_Curves-light.mp4
RoboticPrint_Non-Planar_Extrusion-light.mp4
RoboticPrinting_Ajustable_Speed2-light.mp4
RoboticPrinting_Ajustable_Speed_1-light.mp4

Contributing

Contributions and suggestions are welcome! Please submit a pull request or open an issue to discuss any changes or improvements. You can also contact me.

License

CC BY-NC-SA 4.0

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

CC BY-NC-SA 4.0

Acknowledgements

Special thanks to Luigi Pacheco and Bhavleen Kaur from the FIU RDFlab for the tips.

This project was developed on my own initiative at the School of Architecture of Florida Atlantic University within the Environmental Design and Natural Materials lab, directed by Shermeen Yousif.

About

Open-source Grasshopper definitions for 3D printing with a UR robotic arm, tailored for various extrusion processes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published