Archivi del mese: luglio 2018

Markforged Cleared of Desktop Metal IP Infringement Claims

Markforged Cleared of Desktop Metal IP Infringement Claims
By Tyler Koslow

In March, Desktop Metal filed a lawsuit against Markforged for allegedly copying portions of its patented metal 3D printing processes. Last week, a federal jury decided to clear Markforged of both IP infringement allegations, marking a major victory for the defendant. 

UPDATE (7/30/18) – Court Clears Markforged of IP Infringement Accusations

Earlier this year, two of the pioneers in metal additive manufacturing squared off in court over accusations of patent infringement. The Massachusetts-based startup Desktop Metal alleged that its competitor Markforged– also based in Massachusetts –had copied two patents relating to their metal 3D printing process.

After a three-week trial concluded on July 27th, a 12-person federal jury reached a verdict clearing Markforged of the charges that it infringed upon Desktop Metal’s Intellectual Property. Court proceedings relating to the five counts of trade and contract violations are still pending and have yet to be settled, but the verdict on IP infringement can certainly be considered as a victory for Markforged.

The lawsuit was initially launched in March 2018 when Desktop Metal accused Markforged of infringing upon U.S. Patent No. 9,815,118, entitled ‘Fabricating Multi-Part Assemblies’, and U.S. Patent No. 9,833,839, entitled ‘Fabricating an Interface Layer for Removable Support’. Shortly after the infringement lawsuit was filed, Markforged CEO Greg Mark came out strongly against the allegations, calling them “far-fetched.”

Both companies have been developing metal 3D printing systems for around the same time, with Markforged unveiling its own three months about before Desktop Metal did. However, aside from having similar aspirations in the metal 3D printing field, there was also an odd familial link between the two companies. Desktop Metal had previously employed a man named Matiu Parangi as a print lab technician. Unbeknownst to them at the time of hiring, Matiu’s brother Abraham Parangi was working as the Director, Technology & Creative at Markforged.

In the lawsuit, Desktop Metal alleged that the former employee downloaded a host of proprietary information relating to IP and processes, sharing them with his brother and thus Markforged, directly violating a Non-Disclosure Agreement that he signed in 2016. While some aspects of the case is still pending, the decision to dismiss the IP infringement charges against Markforged is certainly newsworthy.

All3DP reached out to Desktop Metal and Markforged for comment, and received the following responses.

Markforged’s Statement

“Markforged printers have changed the way businesses produce strong parts while dramatically impacting the delivery times, cost, and supply chain logistics. We feel gratified that the jury found we do not infringe, and confirmed that the Metal X, our latest extension of the Markforged printing platform, is based on our own proprietary Markforged technology,” said Greg Mark, founder and CEO of Markforged. 

Desktop Metal’s Statement

“Desktop Metal is pleased that the jury agreed with the validity of all claims in both of Desktop Metal’s patents asserted against Markforged. Desktop Metal has additional claims pending alleging trade secret misappropriation by Markforged. The Federal District Court has bifurcated those counts and will try them at a later date. At Desktop Metal, we remain committed to building on our leadership in the metal 3D printing sector and continuing to provide innovative products and solutions to our hundreds of customers across industries. We are currently reviewing legal options concerning the infringement issue,” Desktop Metal stated.

We will continue to update this story as more information comes to light.

If you’re unfamiliar with the origins of this case, continuing scrolling to read our previous coverage on the case, as well as the public statements issued by both Desktop Metal and Markforged. 

UPDATE (3/21/18 at 11:15 EST) – Desktop Metal Statement

UPDATE 2 (3/26/2018) – Markforged Responds 

Last year, the industry saw a massive influx of metal 3D printing innovation. This sudden charge was led by the Massachusetts-based startup Desktop Metal, which has successfully raised $277 million in funding over the past couple of years.

This metal manufacturing movement also saw contributions from the likes of Digital Metal and Markforged, the latter of which was already a household industry name for its development in continuous carbon fiber 3D printing.

Interestingly enough, right around the same time that Desktop Metal unveiled its metal 3D printing systems, Markforged also made a public shift into the very same market.

In January 2017, the continuous carbon fiber 3D printing pioneers announced the Markforged Metal X, a metal 3D printer that operates similarly to Desktop Metal’s Studio System. Meanwhile, Desktop Metal had been working on its process since it was founded in 2015, and officially debuted the Studio System and Production System in April 2017.

At the time, both Desktop Metal and Markforged were recognized as two prominent trailblazers on the new frontier of affordable metal 3D printing.

But this week, we learned some shocking revelations that seem to have pitted the two companies against one other in the courtroom.

Desktop Metal has launched a lawsuit against Markforged, alleging that the competitor and fellow Massachusetts-based business had copied portions of their patented metal 3D printing process. The official lawsuit, which was filed in the United States District Court for the District of Massachusetts, is leveled against Markforged and an ex-employee of Desktop Metal named Matiu Parangi.

We were intrigued by the case for obvious reasons, and after taking a deeper look at the court documents, discovered a riveting and longwinded history between this pair of 3D printing companies.

The Unique History Between Desktop Metal’s CEO and Markforged

In the lengthy complaint, Desktop Metal accuses Markforged of infringing on two particular patents. The first is entitled  “Fabricating Multi-Part Assemblies” (U.S. Patent No. 9,815,118). This patent refers to Desktop Metal’s method for fabricating a first object from a first material, which includes a powdered material and a binder system.

The second patent is entitled “Fabricating an Interface Layer for Removable Support” (U.S. Patent No. 9,833,839). This patent refers to the support structure system developed by Desktop Metal.

In the recently filed complaint, these two patents are commonly referred to as the “Patents-in-Suit”.

Although the two competitors both unveiled its metal 3D printing technology in 2017, the origins of this story actually start in 2015, the very same year that Desktop Metal was founded by CEO Ric Fulop.

Prior to starting the company, Fulop worked as a General Partner at the venture capital fund North Bridge. According to complaint, Fulop was directly involved with the venture capital fund’s investment in Markforged.

Section 14 of the complaint states:

At North Bridge, Mr. Fulop led the software and 3D investing practices, and was an early stage investor and board member in Dyn (acquired by Oracle for $600 million), Gridco, Lytro, Markforged, Onshape, and Salsify. In the spring of 2015, Mr. Fulop began to the process of winding up his activities at North Bridge and thinking of new projects to pursue.

The court filing goes on to state that Fulop informed North Bridge and Markforged on his intention to pursue metal 3D printing, eventually leading to the founding of Desktop Metal. At that time, Markforged’s co-investor Matrix Partner expressed interest in investing in the new metal 3D printing startup, but Fulop opted to accept funding from other investors, and also stepped down from the Board of Markforged. In fact, the two companies even agreed to a review to ensure that Fulop’s plan for Desktop Metal didn’t infringe on Markedforged’s IP, and both sides agreed that it did not.

In April 2016, Desktop Metal filed the first provisional patent application that lead to the two “Patents-in-Suit”. The complaint alleges that, during this time, Markforged remained focused on its continuous carbon fiber 3D printing technology, releasing the Mark 2 3D printer in the same month.

The Hiring of Mr. Parangi: Another Unusual Connection Between Desktop Metal and Markforged

Let’s fast-forward to August 2016, the moment where this story and connection between Desktop Metal and Markforged gets really interesting. Desktop Metal had hired a man named Matiu Parangi to work as a technician on the startup’s “print farm”, which is where parts were 3D printed with prototypical machines.

Section 63 of the complaint explains the depth of sensitive information that Parangi was granted access to:

According to the complaint, in October 2016, Parangi “downloaded documents unrelated to his work on the print farm, including documents relating to Desktop Metal’s R&D strategy and proprietary technology” without the company’s knowledge.

Simultaneously, Fulop had revealed to employees that the company was about to close a financing round. Just one month later, Markforged’s counsel sent a letter to the Desktop Metal CEO to remind him “of obligations asserted to be owed to Markforged”.

Section 17 in the filed complaint reads:

On information and belief, this letter was intended to interfere with the financing of Desktop Metal. Nevertheless, the financing was successful and Mr. Fulop received no further communication from Markforged’s counsel.

In December 2016, Desktop Metal discovered that Matiu Parangi was actually the brother of Abraham Parangi, the “Digital Prophet” / Director, Technology & Creative” at Markforged. One month later, Markforged announced its Metal X 3D printer at CES 2017.

The Studio System was officially debuted by Desktop Metal in April 2017, showcasing the office-friendly 3D printer and its proprietary Separable Supports method, which enables users to remove support structures by hand. The company began shipping Studio System to customers in December 2017.

One year after announcing the Metal X at CES 2017, Markforged exhibited its new metal 3D printer at the very same trade show.

In an article written by in January 2018, Jon Reilly, Markforged’s Vice President of Product, was interview about the capabilities of the new Metal X 3D printer. He was directly quoted as stating that “the ceramic release layer sinters right off in the furnace for easy support removal,” in describing the capabilities of Markforged’s metal 3D printing technology.

Desktop Metal clearly believes that Markforged was infringing upon these “Patents-in-Suit” in order to compete with the Studio System. Section 25 of the complaint states:

As Desktop Metal begins shipping its Studio System, Markforged is seeking to compete directly with Desktop Metal by offering its Metal X 3D print system. Based on at least Markforged’s recent disclosures that its Metal X 3D print system uses a ceramic release layer that turns to powder during sintering, Markforged seeks to compete using Desktop Metal’s patented technology protected by the Patents-in-Suit.

Desktop Metal Files Lawsuit Against Markforged: What are the Allegations?

Desktop Metal has filed eight separate counts against Markforged and Mr. Parangi in the recently filed complaint. To gain a better understanding of what the company is alleging, let’s take a brief look at each count:

Count I – Infringement of ‘839 Patent

The first count accuses Markforged of infringing and continuing to infringe on Desktop Metal’s “Fabricating an Interface Layer for Removable Support” patent. This patent pertains to the unique support removal process featured in the Studio System, which uses an interface layer for easy removal.

The complaint states that Markforged has been selling the Metal X 3D printer for performing the same support removal methods Desktop Metal patented without permission.

Desktop Metal believes that this patent infringement was done knowingly, and that Markforged has caused damage and “irreparable injury” to the company.

Section 39 in the complaint states:

On information and belief, Markforged has had actual notice of the ’839 patent at least since Desktop Metal publicly announced its issuance on January 3, 2018, before Markforged exhibited its Metal X printer at CES and before Markforged granted an interview explaining its use of the methods claimed in the ’839 patent. On information and belief, Markforged’s infringement has been willful, as further evidenced by the allegations of 16 misappropriation and unfair competition set forth below. Markforged’s infringement will continue to be willful if Markforged does not discontinue its infringement.

Count II – Infringement of ‘118 Patent

This allegation pertains to the other half of the Patents-in-Suit, entitled “Fabricating Multi-Part Assemblies”. This patent refers to the process of fabricating a first object from a material that includes both powdered material and a binder system. Desktop Metal alleges that Markforged also knowingly infringed upon this patent, making the same argument displayed in Count I.

Count III – Violation of the Defend Trade Secrets of 2016

Count III is leveled against Markforged and Mr. Parangi, who Desktop Metal claims signed a Non-Disclosure Agreement (NDA) while working with the company. The plaintiff accuses Parangi of acquiring trade secrets from Desktop Metal through improper means and disclosed them, therefore violating his NDA and obligations to his employer.

This allegation is summed up nicely in Section 77 of the complaint:

As a direct and proximate result of Mr. Parangi’s and Markforged’s misappropriation of trade secrets, Desktop Metal has suffered and will continue to suffer irreparable harm and other damages, including, but not limited to, loss of value of its trade 26 secrets. Desktop Metal is therefore entitled to civil seizure of property, injunctive relief, monetary damages for its actual losses, and monetary damages for unjust enrichment where damages for its actual losses are not adequately addressed.

Count IV – Trade Secret Misappropriation

Similar to the Count III, the following allegation refers to the misappropriation of Desktop Metal’s trade secrets, and is again leveled against both Markforged and Parangi. Here, the plaintiff expounds about the economic value that Desktop Metal’s trade secrets have, and that the ex-employee stole or unlawfully took these secrets and passed them onto his brother’s company.

Count V – Unfair or Deceptive Trade Practices

Count V alleges that both Markforged and Parangi engaged in unfair or deceptive trade practices through Desktop Metal’s Proprietary Information. The complaint states that Mr. Parangi assisted Markforged “to develop a directly competing product in the 3D metal printing field”, and that the defendant (Markforged) “knowingly received the benefits from the disclosure” of this information.

Count VI and VII – Breach of Contract (NDA)

These two counts focus strictly on Parangi, discussing the belief that the ex-employee knowingly violated the NDA, non-competition, and non-solicitation agreements that he had signed while working with Desktop Metal. Due to this alleged breach of contract, the plaintiff believes that Desktop Metal “has been and will continue to be irreparably harmed”. Therefore, the company believes it is entitled to injunctive relief and damages for these counts.

Count VIII – Breach of the Covenant of Good Faith and Fair Dealing

This final count is also focused on Parangi, once again covering the “breaches of his contractual obligations and his improper use and/or disclosure of Desktop Metal’s Proprietary Information”. In Section 117, the plaintiff explains:

In Conclusion: Which Way Will the Gavel Fall?

We’ve reached out to Desktop Metal and Markforged for comment, and are still awaiting a response from both parties. Of course, we will continue to update this story as more information comes to light.

In the complaint, Desktop Metal requests that the Massachusetts Court takes a number of actions in favor of them and against Markforged and Parangi. These actions include:

A declaration in favor of Desktop Metal for each count.
Preliminary and permanent injunction preventing Markforged from continued infringement of the two patents.
Compensation for any current or future profits that Markforged has achieved as a result of the alleged breaches.
An award of three times the actual damages for Markforged’s unfair trade practices.
Civil seizure of property incorporating Desktop Metal’s trade secrets.

Until then, we can only speculate on how this strange case will play out. However, what we do for sure is that the connection between Desktop Metal and Markforged goes far beyond the two companies being located in Massachusetts and involved with metal 3D printing technology.

Stay tuned as this story develops…

UPDATE (3/21 at 11:15 EST)

A few hours after reaching out to Desktop Metal for a comment, we received a background statement from the company. Because the case is now in litigation, the company was unable to provide any further comments. Here’s the full statement released to All3DP:

Desktop Metal has filed a patent infringement lawsuit in the United States District Court for the District of Massachusetts to protect the Company’s intellectual property from unauthorized use by Markforged. The lawsuit alleges Markforged’s Metal X 3D printer violates two Desktop Metal patents related to interface layer and separable support strategies for printing 3D metal parts, as well as trade secret misappropriation.

The lawsuit is based on U.S. Patent Nos. 9,815,118 and 9,833,839 that were granted to Desktop Metal in 2017 covering the Company’s interface layer technology for both its Studio System™, the first office-friendly metal 3D printing system for rapid prototyping, and Production System™, the only 3D printing system for mass production of high resolution parts. This technology makes it possible to print support structures that do not bond to parts and consolidate during sintering, as well as assemblies that do not consolidate during sintering.

In addition to the two patents covering the interface layer and Separable Supports™ technology, Desktop Metal has a portfolio of 100+ pending patent applications covering more than 200 inventions.

Desktop Metal was founded in October 2015 by CEO Ric Fulop and a group of the world’s leading experts in advanced manufacturing, metallurgy, and robotics, including 4 MIT professors, seeking to create a new category of metal 3D printers. Mr. Fulop has a long history as a successful entrepreneur and was an early stage investor and board member for a number of 3D printing startups, including Markforged. In the summer 2015, Mr. Fulop discussed with Markforged his intent to pursue untapped opportunities in metal 3D printing, and thereafter left the board to launch Desktop Metal.  At that time, Markforged was not in the metal 3D printing business.

“Metal 3D printing is an exciting, quickly growing and rapidly evolving industry and, as a pioneer in the space, Desktop Metal welcomes healthy and vibrant competition,” said Mr. Fulop. “When that competition infringes on our technology, however, we have a duty to respond. We believe Markforged products clearly utilize technology patented by Desktop Metal and we will do what is necessary to protect our IP and our Company.”

“Desktop Metal has invested significant resources in developing innovative additive manufacturing technologies for metal 3D printing and our intellectual property portfolio reflects the hard work of our engineers and scientists,” said James Coe, General Counsel of Desktop Metal. “We owe it to our customers, employees and shareholders to protect the ground-breaking nature of our technology and preserve that investment so we can continue to promote innovation.

Shortly after we received the response from Desktop Metal, a company spokesperson for Markforged also responded to our inquiry with a brief statement that “Markforged does not discuss ongoing legal matters publicly”.

UPDATE 2 (3/26) – Markforged Responds 

A few days after the story made rounds throughout the community, Markforged CEO Greg Mark released a statement in response to the accusations by Desktop Metal:

I founded Markforged in my kitchen six years ago. I dreamt of giving every engineer the ability to 3D print real, functional, mechanical parts. We invented something that had never existed before – a continuous carbon fiber 3D printer. Our Metal X product is an extension of that platform.

We’ve come a long way. We now have the most advanced technology platform in 3D printing, and I’m incredibly proud of what our team of engineers have accomplished.

On Monday, a competitor filed a lawsuit against us, including various far-fetched allegations. Markforged categorically denies these allegations and we will be formally responding shortly in our own court filing.

Markforged is a thriving business with a dedicated team of passionate people, and we’re going to continue to execute and deliver amazing products to our customers.

– Greg Mark, founder & CEO

Source (Court Documents): Law360

The post Markforged Cleared of Desktop Metal IP Infringement Claims appeared first on All3DP.

July 30, 2018 at 09:09PM
via All3DPAll3DP

Weekend Project: Get Scientific with this 3D Printed Open Source Laboratory Rocker

Weekend Project: Get Scientific with this 3D Printed Open Source Laboratory Rocker
By Tyler Koslow

Need some affordable scientific equipment to experiment and make a breakthrough discovery? This 3D printed open source laboratory rocker is a terrific tool for biological and molecular mixing applications.

In the scientific setting, a laboratory rocker is used as a mixing device for various biological and molecular applications. It consists of a tray mounted on top of a base, which contains the electronics and motor that control the speed and tilt angles of the platform.

It’s a necessary tool for various scientific experiments, but this piece of equipment tends to cost a pretty penny. That might be why one of the most popular 3D models currently on Thingiverse is an open source laboratory rocker.

This 3D printed lab rocker was designed by biomedical engineer and designer Akshay Dhamankar. It’s a variable speed, two-dimensional device that moves back and forth to create waves in liquid samples at mild to moderately aggressively rate. The design uses a changeable apparatus rack that can either hold a test tube or beaker.

While this 3D printed lab device sounds a bit difficult to put together, Dhamankar lays everything out in a few simple steps. If you’re a researcher on a budget who wants to spruce up your wet lab, bring some science home, or just take on a fun and educational project, this open source laboratory rocker is worth a look.

The creator of this project lists a number of applications that this lab rocker can be utilized for, including biological and molecular mixing, aggressive agitation of a biological mixture, PCB etching via Ferric Chloride bath, and even for mixing paint and thinner.

“It is my sincere hope that my design and contribution will help out many of the research personnel, small labs, wet labs etc. who plan to incorporate laboratory equipment like this with a tight budget,” the designer writes on Thingiverse.

3D Printed Open Source Laboratory Rocker: What you Need & How to Built it

The purpose of this open source project is to provide access to researchers and scientists on a tight budget, so the components needed to build your own lab rocker aren’t too costly. Aside from your 3D printer and material, here’s what else you need:

Arduino UNO Starter Kit
Skateboard bearings
NEMA 17 stepper motor
EasyDriver v4.4
12V DC power supply

The schematics for the circuits and Arduino code are available in a Google Drive folder.

There are 10 different STL files you’ll have to 3D print for this project, which the designer recommends using 25 percent infill for. Once you’ve printed the parts out, the rest of the assembly process is relatively straightforward.

Following along schematics and provided photos, you need to connect all of the electronic components and situate them inside of the 3D printed base.

Dhamankar uses super glue to mount the skateboard bearings in the various slots that are embedded in the 3D printed parts. He also suggests using a thick silicone rubber sheet (3mm) on the surface of the ‘Single Piece Beaker Tray’ to act as an anti-slip mat.

Since this project is open source, all of the 3D models and product photographs are available to all. If you need more information on this project, you can contact Dhamankar directly through Thingiverse.

The post Weekend Project: Get Scientific with this 3D Printed Open Source Laboratory Rocker appeared first on All3DP.

July 29, 2018 at 03:05PM
via All3DPAll3DP

Weekend Project: Make a Summer Splash with this 3D Printed WiFi Paddle Boat

Weekend Project: Make a Summer Splash with this 3D Printed WiFi Paddle Boat
By Tyler Koslow

Summertime is here, and what better way to spend it then by lounging outside by a refreshing body of water. Take your enjoyment of the outdoors a step further by becoming the captain of your own 3D printed WiFi Paddle Boat, designed by Greg Zumwalt.

When the heat of the summer hits, we all want to flock to the nearest pool or lake to cool off. Just because you’ve decided to get off of the computer and outdoors doesn’t mean you can’t utilize WiFi for some recreational fun. At least that’s what we’ve learned from maker and designer Greg Zumwalt, who recently shared his 3D printed WiFi Paddle Boat on Instructables.

The WiFi Paddle Boat is controlled use WiFi via a smart phone, tablet, or any other touch enabled device. The designer explains that his boat creates a WiFi access point that you can connect directly to. From there, you can navigate the ship from his WiFi Paddle Boat webpage.

This project offers a great way to entertain the kids or even yourself this summer, and is a bit complex but also undeniably awesome. Think you’re up for the challenge? Let’s take a closer look at this project to see whether you’re seaworthy or not!

3D Printed WiFi Paddle Boat: What You Need & How to Build

This is a pretty complex project that requires a wide range of 3D printed parts, components and also some soldering. However, don’t get discouraged, as Zumwalt lays out the entire project in detail on his Instructables page. We’ll give a quick overview of what you need and how to build the WiFi Paddle Boat.

For printing, the designer shares the STL files for three versions: the base model, detailed model and another for those that have a dual extrusion 3D printer. Depending on which model you choose, you’ll need to print anywhere from seven to ten parts. You should also test fit and trim, file, and sand the 3D printed parts prior to assembly. The STL files can be downloaded directly from Instructables.

Here’s the rest of the checklist for this project:

Main Components

Heltec WiFi Kit 32 with Oled display
Timesetl L298N Motor Drive Controller
2x 300 RPM 6 VDC Mini Gear Motors
4x Sealed Ball Bearings (10 x 15 x 4mm)
Ares AZSZ2503 1200 mAh 2-Cell/2S 7.4V 25C Lipo Battery
JST Female Connector

Additional Tools

Cyanoacrylate Glue
Acrylic Caulk
Needle Nose Pliers
Jewelers files
Wire cutters
Wire strippers
Clear PLA safe spray paint
Solder and soldering iron

Once you’ve gathered your supplies and printed the parts, it’s time to start the assembly process. The instructions are bit lengthy, so we’ll just spell out the basics for you. After preparing the 3D printed parts for assembly, you’ll have to program the Heltec WiFi Kit 32 board. The WiFi Paddle Boat was written in the Arduino environment for the ESP32 chip, and Zumwalt shares the libraries and everything else you need on the project page.

Next, there’s some wiring required, so you’ll need to have a soldering iron and solder on-hand. The maker shares each step on Instructables, but to give you an idea of the complexity level, here’s a photo of the wiring:

Finally, once the wiring is complete, it’s time to assemble the WiFi Paddle Boat. There are a number of steps to take in order to put everything together, making this project more ideal for seasoned makers. However, if you’re feeling ambitious enough, a determined beginner can also follow along with Zumwalt’s step-by-step instructions. You can find the lengthy assembly process on Instructables, along with detailed photos and videos showcasing how to build and test your 3D printed ship.

The post Weekend Project: Make a Summer Splash with this 3D Printed WiFi Paddle Boat appeared first on All3DP.

July 22, 2018 at 05:04PM
via All3DPAll3DP

Weekend Project: 3D Print Your Own Magnetic Levitation Device!

Weekend Project: 3D Print Your Own Magnetic Levitation Device!
By Tyler Koslow

Instructables user and designer 3DSage has unveiled an amazing 3D printed Levitation Device that you can make at home. It’s a crazy contraption that uses a magnet to make objects float before your very eyes! 

For many of us, childhood was marked by amazement when we witnessed our favorite superhero defy the laws of gravity and levitate to the rescue. The concept of levitation is one that seems highly technical or even impossible to some. But that couldn’t be further from the truth, and we’re here to show you how.

One maker named 3DSage has proven that you can bring this phenomenon to reality with your 3D printer and a few components. That’s right…You can make your own Magnetic Levitation Device at home! It might sound like a daunting task, but this project is actually quite easy for beginners and advanced makers alike.

This project is designed for those who lack experience with electronic circuitry and soldering, so don’t be intimidated by the end result. You will need to 3D print a few parts and obtain and handful of components to assemble this Magnetic Levitation Device, so let’s take a closer look at this incredible Weekend Project!

3D Printed Magnetic Levitation Device: What You Need & How to Build

There are eight different parts that need to be 3D printed, all of which are available to download on Thingiverse. The designer suggest printing the parts with 20 percent infill, no support structures necessary. When printing the spool holder parts, 3DSage recommends using a slow print speed.

Other than the STL files, here’s what else you need to create your own 3D printed Magnetic Levitation Device:

Hall Effect Sensor A3144 Unipolar
4x AA Battery Holder Cover & Switch

Neodymium Ring Magnets 9.5×1.5mm (Or any small strong magnet)
Magnet Wire AWG 30
Steel Screw 4x15mm Philips head
1K Resistor (Brown, Black, Red)
Mini breadboard 25 tie-points

Once you have all of your materials, it’s time to get started on the assembly process. 3DSage begins with the 3D printed spool holder and magnet wire. First, place the small 3D printed spool holder inside of the larger one, adding the 4x15mm screw on top. Insert a couple of inches of the wire through the small hole closest to the center of the spool holder and wind the wire tightly.

The next step is the breadboard circuit, which the designer has made as simple as possible. Here’s a diagram to help you follow along:

You have to place the hall sensor in the exact right position  to make this levitation device work properly. This is why 3DSage made a breadboard holder so that you can move it around and tune it accordingly. The designer goes into the assembly process in more depth on YouTube, so if you want to learn more about how to created a levitation device, check out the video below!

Source: Instructables

The post Weekend Project: 3D Print Your Own Magnetic Levitation Device! appeared first on All3DP.

July 21, 2018 at 03:05PM
via All3DPAll3DP

Weekend Project: 3D Print These Seaworthy Voronoi Jellyfish Lights

Weekend Project: 3D Print These Seaworthy Voronoi Jellyfish Lights
By Tyler Koslow

Give your home an aquatic feel with these incredible 3D printed DIY Voronoi Jellyfish lights created by German maker and Thingiverse user UniversalMaker3D. 

Who needs IKEA when you have your very own 3D printer? Okay, well sometimes it’s nice to buy some new furnishings and chow down on those Swedish meatballs, but you can also go the DIY route and produce your own stylish and decorative objects to spruce up the home. One common use for 3D printing is to create custom lighting fixtures, and we’ve seen a myriad of great ideas across the maker-sphere.

German student and Thingiverse user UniversalMaker3D has recently designed free-floating Jellyfish lights. The design is inspired by the mathematically-driven design concept of Voronoi, which provides a complex structure to the 3D printed sea creature.

The Voronoi design gives a coral reef-like impression, adding to the oceanic vibe that these jellyfish lights conjure up. The 3D printed shell is embedded with a number of tiny holes, creating a jaw-dropping lighting effect on your walls. Add some tentacles to the mix and you’ve got yourself a lighting fixture that will have you feeling as if you’re living under the sea.

3D Printed Voronoi Jellyfish: What You Need & How to Build it

Since the jellyfish-like lighting enclosure is designed in the complex Voronoi style, you’ll need to use supports when 3D printing the base of the model. UniversalMaker also shares the STL files for the tentacles and other parts, all of which are freely available on Thingiverse.

Aside from your 3D printer, filament and the 3D model, there’s still some other components you’ll need to make your sea creature lamp light up. Here’s the checklist:

9V Battery
5mm LEDs 
SPDT Slide Switch
Voltage converter
9V battery connectors

Once you have your 3D printed jellyfish body and tentacles, along with all of the necessary electronic components, it’s time to put everything together. Take the LEDs and run them through the bottom of the 3D printed top and connect it via the switch to the battery.

The 3D printed top and bottom sections are designed to slide perfectly over each other, but might require a bit of sanding. Finally, mount the jellyfish with the cables, which are used to activate the LEDs. That’s about it as far as assembly goes! If you want to catch a visual of how awesome these 3D printed jellyfish lights look, check out the designer’s instructional video below.

The post Weekend Project: 3D Print These Seaworthy Voronoi Jellyfish Lights appeared first on All3DP.

July 15, 2018 at 03:10PM
via All3DPAll3DP

2018 3D Printed Gun Report – All You Need to Know

2018 3D Printed Gun Report – All You Need to Know
By Tyler Koslow

Should you fear 3D printed guns? Read our 2018 3D printed gun report to learn about the latest news, laws and actual threats to help you sort facts from fears.

BREAKING NEWS UPDATE (7-12-2018): After taking the U.S. government to court, Cody Wilson and Defense Distributed have reached a settlement that will allow the organization to re-upload 3D printable gun models to their website. Learn more about this potentially landmark decision on All3DP

Both makers and lawmakers around the world have taken notice of 3D printed guns. Regardless of intention, their efforts to stifle the use of 3D printed firearms have given rise to a number of difficult questions.

Should someone with the files for a 3D printed gun be charged with the same crime as someone that actually has the gun? Has the media sensationalized the rise of 3D printed guns? What’s the best way to regulate 3D printed weapons? And most importantly, should you fear 3D printed guns? 

To answer these questions, we will examine the reasons why you should and shouldn’t fear the 3D printed gun, explain the history, and then go over the laws that have been put in place to stop them.

The 3D Printed Gun: All You Need to Know Right Now

Reasons to Fear & Not to Fear 3D Printed Guns
A Brief History of the 3D Printed Gun
3D Printed Gun Laws in United States of America
3D Printed Gun Laws in Australia
3D Printed Gun Laws in Europe and United Kingdom
3D Printed Gun Laws in Asia and the Middle East
3D Printed Guns on the Dark Net
The 3D Printed Gun: Conclusion

Reasons to Fear & Not to Fear 3D Printed Guns

There are valid arguments for why you should and shouldn’t fear 3D printed guns, making this quite the loaded issue. To offer a fair and balanced view on this controversial topic, we’ll offer reasons on both sides of the 3D printed gun debate to help you decide for yourself.

Why You Should Fear

From CNN to Gizmodo, mainstream media outlets have focused more on 3D printed firearms than any other innovative application of this wide-ranging technology. But where does this fear stem from?

Perhaps what stirs this fear isn’t the functionality of these homemade weapons, but the ease of creating one without anyone knowing. Many states in the U.S. and other countries throughout the world have strict gun control laws. Generally speaking, those who are allowed to own a firearm must have it registered. But with 3D printed guns, people fear that criminals and other unstable people will be able to produce firearms at home and commit crimes with it.

Although the current state of desktop 3D printing doesn’t necessarily allow high-quality firearms to be manufactured at home, this could also change as the technology advances. For instance, as metal 3D printing becomes more affordable and accessible, the potential to create higher-grade weapons could grow.

Another valid fear is that 3D printing could lead to cheap firearm factories for criminals. But again, having a gun 3D printed in metal would cost thousands of dollars, making it more convenient for criminals go to through other illegal channels to find one.

Needless to say, it’s not a 3D printed gun that should be feared. If anything, it’s the idea of being able to manufacture firearms unchecked that really drives this frenzy forward.

Why You Shouldn’t be Concerned

It’s quite easy to produce a plastic firearm with the proper 3D files and desktop printer. But this homemade 3D printed gun is far from reliable when it comes to functionality. In fact, police testing has proven that a 3D printed gun could endanger the shooter as much as anyone else.

A firearm produced with ABS material could break apart or even potentially explode in the hands of the user when fired. Softer PLA will likely cause the parts to bend or deform after firing.

Realistically, neither ABS or PLA is ideal for producing firearms. While most 3D printed guns are made using ABS, chances are only a single shot will be able to be fired before it either breaks or fails. The reason for this is because the act of firing a bullet simply exerts too much power for most thermoplastics to withstand.

Some gun enthusiasts have created hybrid 3D printed guns, consisting of traditional metal components and thermoplastics. In theory, these firearms should offer much better functionality than an ABS-based weapon. But again, building a hybrid 3D printed gun seems counterproductive to just finding an actual one.

Lastly, metal 3D printing can and has been used to produce a fully functional firearm. There’s no denying this. But, these type of prints are extremely costly, and it makes no sense for a criminal to go to a metal 3D printing service instead of finding a cheaper and more discreet way on the black market.

This also helps to quell the fear that a 3D printed gun would be able to slip through a metal detector, seeing that at least a metal firing pin would be needed to make the makeshift firearm functional. 3D printed guns that are comprised primarily of thermoplastic are extremely ineffective and thus aren’t worth the trouble of manufacturing cases where they will be used in a menacing way.

Essentially, there is no reason to fear a 3D printed gun any more than you would a traditionally manufactured one. In fact, in the United States, actual firearms are easier to get and are much more lethal. There are approximately 300 million firearms spread across the U.S., making the potential 3D printing gun epidemic pretty pointless.

As you will see later in this article, the threat level of a 3D printed gun is much higher in places with strict gun control, especially Australia.

A Brief History of the 3D Printed Gun

The world’s first functional 3D printed gun was designed back in 2013 by Cody Wilson, a crypto-anarchist and the founder of the Texas open source gunsmith organization Defense Distributed. The 3D files for this one-shot pistol were the first to be released into the world. They sparked an unprecedented controversy that still looms over the 3D printing community to this very day.

After the files for the Liberator were downloaded over 100,000 times in two days, the US Department of State compelled Defense Distributed into taking the model down. This demand has sparked an ongoing legal battle between the techno-anarchist and government.

Most of the 3D printed guns that have surfaced thus far are pistols. But even semi-automatic weapons have been released by Defense Distributed – and confiscated by police.

As 3D printed gun blueprints are distributed by the internet, they have been found across the world, from Australia to Japan, Europe to the Americas. These makeshift firearms have found their way into the hands of police, criminals, and libertarians alike.

Since the release of the Liberator, many government bodies have been scrambling to impose laws that would strictly prohibit 3D printed guns, and in some cases even 3D models of firearms.

Nowadays, additively manufactured weapons remain an unknown threat, but countries like Australia and the United States are not wasting any time in fear-mongering and passing laws.

Most 3D printed guns are based off previously existing designs. Most of them are freely available to download, but also hard to find due to increasing illegality. But when Defense Distributed’s Liberator first hit the scene, it proved that a firearm could be produced almost entirely out of thermoplastic material.

Every component of Wilson’s Liberator was 3D printed except for the metal firing pin and the actual bullet. As you can see in the photo below. The Defense Distributed founder has also created an automatic weapon that is not fully 3D printed but is equipped with additively manufactured components, in the past.

Since then, Wilson has continued on his campaign to put DIY firearms in the spotlight. After his 3D model was forced off the internet, Defense Distributed released the Ghost Gunner, a desktop CNC milling machine designed to manufacture guns. At first, the machine was only capable of producing the lower receiver component for an AR-15. However, Wilson recently upgraded the Ghost Gunner software to make it capable of creating the aluminum frame of a M1911 handgun.

While Wilson believes that he is advocating for gun rights by making firearm production more accessible and undetectable, others have grown worried about this technology getting into the wrong hands. Across the world, countries are passing laws that equate 3D printed guns with traditional firearms. In some places, even having the 3D model for a firearm would be considered possession of an illegal weapon.

Now that we’ve shared a brief history of 3D printed guns with you, let’s take a look at the laws that have been drawn up to prevent people from 3D printing their own firearms.

3D Printed Gun Laws in the United States of America

After the Liberator was deemed in violation of the International Traffic in Arms Regulations (ITAR), Wilson filed a federal civil suit against the State Department. To this very day, Wilson is still fighting for his right to publish his 3D printable firearm files. 

In September 2016, the United States Court of Appeals for the Fifth Circuit rejected his preliminary injunction request, claiming that national security concerns outweigh Defense Distributed’s First Amendment right to freedom of speech.

Even though the State Department has succeeded to keep 3D gun files illegal in court, Wilson’s design and a handful of others have seeped through the cracks of the internet. There have been a number of instances where 3D printed guns have been confiscated by police the US.

In August 2016, Transportation Security Administration (TSA) at the Reno–Tahoe International Airport found a 3D printed gun and five .22-caliber bullets in a passenger’s carry-on bag. The year prior, two felons in Oregon were caught with an assault rifle that had a 3D printed lower receiver attached to it.

It is illegal under the Undetectable Firearms Act to manufacture any firearm that cannot be detected by a metal detector. 3D printed guns are usually made from PLA or ABS and are therefore not allowed in the US, as legal designs for firearms require a metal plate to be inserted into the printed body.

Some states that allow firearm ownership have taken up the issue of 3D printed gun themselves. For example, California passed a law that requires a 3D printed gun to be properly approved and registered. But with relatively lax gun laws in a number of US states, 3D printed guns have proven to be a more glaring problem in Australia, which has much stricter anti-gun legislation.

But 3D printing isn’t the only manufacturing method being used to create gun parts under the radar. In February 2017, a California man known as “Dr. Death” was arrested and sentenced to three and a half years in prison for using CNC milling to manufacture and sell firearms. This traditionally industrial technology has also become more accessible over the years, and is considerably more of a threat due to its ability to work with metal.

All in all, when it comes to producing or obtaining weapons in an unlawful manner, 3D printing is far from preferable, at least in the current state of the technology. Criminal organizations may look towards 3D printing more often as the technology advances, but for now, most of the fear seems unjustified. At the end of the day, where there’s a will, there’s a way.

3D Printed Gun Laws in Australia

No country has encountered as much legal trouble with 3D printed guns as Australia has. Their strict firearm legislation has limited the access to traditional weapons. So some have turned to 3D printing to help circumvent the law.

In November 2016, Gold Coast police discovered a highly sophisticated weapons production facility that used 3D printers to produce machine guns. A month later, a collection of 3D printed firearms were seized in Tasmania, but the manufacturer was let off with a warning. Perhaps Australia’s most concerning case, police recently linked the discovery of 3D printed guns in Melbourne to the Calabrian mafia.

To combat the rise of 3D printed guns, New South Wales passed a law equating possession of 3D gun files to actual possession of a 3D printed gun. Some of Australia’s Senate members have their doubts about 3D printed guns being an imminent threat, and that further restrictions would hinder 3D printing innovation overall. The country’s Green Party has been a staunch opponent to 3D printed guns, citing the growth of the technology as proof that 3D printing will be capable of producing more dangerous weapons soon.

In 2013, New South Wales police tested out a 3D printed gun. With this handgun, they were able to fire a bullet 17 centimeters into a standard firing block, but the plastic exploded when the bullet was discharged.

In 2015, the county amended its firearms act to include a clause that says “A person must not possess a digital blueprint for the manufacture of a firearm on a 3D printer or on an electronic milling machine… [or face a] Maximum penalty: imprisonment for 14 years.”

But the situation in Australia is trickier than most. The glaring amount of confiscated 3D printed weapons seems to be linked to the country’s strict laws, making traditional metal firearms much more difficult to come across than they are in the US. It’s important to note that while a plastic 3D printed gun poses a minimal risk, most Australian legislators fear the increasing accessibility and affordability of metal 3D printers will come back to haunt them.

3D Printed Gun Laws in Europe and United Kingdom

3D Printed Gun Exhibit C

Contrary to Australia, the strict gun control laws in Europe have reduced the threat of 3D printed guns. Still, when you look at the regions that downloaded the Liberator files the most, you’ll find that most of the leading countries are located in Europe. During the two initial days Wilson’s infamous 3D printed gun was available online, it was downloaded the most in Spain, followed by the US, Brazil, Germany, and the United Kingdom.

The United Kingdom has been particularly concerned with the rise of 3D printed guns, calling them a threat to national security. In 2013, the UK Home Office introduces stricter regulations on 3D printed guns or gun parts, making it highly illegal to create, buy, or sell them in Great Britain.

Thus far, the threat of 3D printed guns in Europe has mostly been confined to television. The Italian crime TV series Gomorra recently depicted a RepRap 3D printer being used to create a 3D printed gun.

3D Printed Gun Laws in Asia and the Middle East

The 3D printed gun controversy isn’t just restrained to the western world. Shortly after Wilson’s design surfaced, Japanese citizen Yoshitomo Imura designed and printed a six-shot revolver known as the ZigZag. The government ended up sentencing him to two years in prison for 3D printing guns and also instructing others.

In Singapore, possession of a 3D printed gun is punishable by death, even if it’s an air pistol.

China has also taken extreme measures to monitor and prevent 3D printed guns and other weapon from surfacing. Police in Chongqing are requiring all companies with 3D printers to register themselves as “special industries”, asking for the equipment in use, the security measures they have in place, and even information on all employees.

While police in China certainly fear the potential rise of the 3D printed gun, other citizens feel that the law is an overreaction. According Kwok Ka Wai, assistant professor in the mechanical engineering department at the University of Hong Kong, there are practical limitations on using 3D printing to manufacture weapons or other items protected by copyright.

“There are a lot of tools that you can use to make bad things, but they are not tailor-made for that purpose,” he says.

Although they’re the most focused on, 3D printed guns are far from the only weapon that 3D printing can potentially be used to manufacture. Concerns have also mounted in the Middle East over the possibility that ISIS is using 3D printing to produce bombs.

3D Printed Guns on the Dark Net

With the distribution of 3D gun models illegal across the world, these 3D gun models have found a home on the dark net. Sold alongside traditionally manufactured firearms and other black market weapons, 3D printable gun designs are being distributed more and more through the deep web.

A recent study from the non-profit research organization RAND Corporation discovered a startling rise in 3D gun models. While looking at the entire dark net market for weapons, the researchers found that 11 of the for-sale items were CAD files for firearms.

Read More: 3D Printed Gun Designs Surface on Dark Web for $12

Now, it’s clear that CAD models are still way less threatening than the physical firearms sold on the black market, but the mere presence hints at a potentially dangerous situation in the future. What stood out the most to the RAND research team is the average cost of 3D gun models. While the average gun costs $1,200 on the dark net, a price for a 3D printable gun design averages out to $12.

Not only is the cost for these CAD models extremely low, but such files can be sold over and over again. Therefore, if and when the day comes where metal 3D printers become more affordable, it’s possible that this minor issue could start to loom larger.

The 3D Printed Gun: Conclusion

There’s no denying that 3D printed guns are being discovered in different parts of the world. They are getting more popular in Australia and US. But are these makeshift weapons really the treat the media portrays them to be? Ultimately, the answer seems to be yes, but more so no.

The current lack of access to affordable metal 3D printing makes producing a functional 3D printed gun solely with plastic difficult. But for most firearm components, this emerging technology could soon become a viable option for gunsmiths, gun advocates, and even criminal organizations. Also, the materials you can 3D print with are getting better and better.

At this point, there have been no violent crimes attributed to a 3D printed gun. But still, a more realistic threat will likely arise when access to metal 3D printing increases in the near future.

At the moment, it’s easy to dismiss anti-3D printed gun legislation as overreaching and embellished. But that doesn’t mean that various laws preventing the production and sharing of 3D printed guns don’t have any merit. Just as with any other youthful technology, 3D printing will continue to advance and become more affordable.

Needless to say, the fear-mongering campaign on 3D printed guns is way overblown, especially for the time being. While this emerging technology is providing incredible benefits to the medical, industrial, and consumer sectors, all the mainstream media seems interested in is making it seem like weapons are falling out of your 3D printer’s extruder.

At the end of the day, there’s no reason to fear a 3D printed gun any more than you would a conventionally manufactured or CNC milled firearm. Desktop 3D printers are not capable enough to create a lethal weapon on their own, and metal 3D printed guns are far too expensive to appeal to criminals.

There’s a reason that no violent crimes involving 3D printed guns have been reported. They’re unreliable, difficult to produce, and in most places, are harder to come across than a black market firearms. Regardless of your view on the right the bear arms, there’s no reason to lump in a technology that does much more good than harm.

The post 2018 3D Printed Gun Report – All You Need to Know appeared first on All3DP.

July 13, 2018 at 02:40PM
via All3DPAll3DP

Fashion Design Graduate Takes Major Step With Woven 3D Printed Shoes

Fashion Design Graduate Takes Major Step With Woven 3D Printed Shoes
By Anne Freier

In the world of fashion, 3D printing has opened the door for a whirlwind of new looks and styles, and designers have leveraged this technology to showcase just how unique their concepts can be.

Fashion design Ganit Goldstein, a fashion design graduate from the Bezalel Academy of Arts and Design in Jerusalem, has recently unveiled a collection of 3D printed clothing and shoes.

Goldstein’s “Between the Layers” collection consists of seven outfits and six pairs of shoes, all of which were created using 3D printing. By bridging the boundaries between modern manufacturing technology and traditional fashion design, Goldstein has created a range of unique pieces. The collection is a part of Goldstein’s graduation project, fusing additive manufacturing with traditional crafts such as weaving.

“My work begins with the design and production of digital objects that serve as a three-dimensional object. […] I then weave handmade threads in a unique manner to each object,” she explained in an email.

The inspiration behind this collection arose when Goldstein visited Japan as part of an exchange program at the Tokyo University of the Arts. During her stay abroad, she had the opportunity to learn a traditional Japanese textile technique called IKAT weaving.

Upon her return to Israel, she began to develop a weaving process using an Orginal Prusa i3 Mk3 3D printer. She then finished off the designs by adding hand-woven layers.

Intel collaboration highlights process behind the designs

Goldstein also worked in collaboration with the tech giant Intel, using the company’s 3D scanning technology as a part of the project. Specifically speaking, she developed an Augmented Reality app that showcases the process behind his 3D printed shoes and clothing.

One of the shoes in the collection was produced with the Stratasys Connex 3 printer. The latter provides multi-color printing capabilities.

“My work begins by examining the characteristics of the material, the qualities with which I can work with,” she explained. “Working with 3D software gives me the freedom to test which boundaries can be broken. [It provides] the understanding that the connection to the traditional craft material will create a completely new essence to the original material. For example, the technique of 3D layer printing allows me to re-examine which layers can be added and what new connections I can create.”

Overall, the final collection accomplishes an interesting balance between modern technologies and traditional fashion design.

Source: Ganit Goldstein

Animated GIF - Find & Share on GIPHY

The post Fashion Design Graduate Takes Major Step With Woven 3D Printed Shoes appeared first on All3DP.

July 10, 2018 at 06:59PM
via All3DPAll3DP

Weekend Project: 3D Print a Servo-Driven Tiny FPV Tank (with a Camera!)

Weekend Project: 3D Print a Servo-Driven Tiny FPV Tank (with a Camera!)
By Tyler Koslow

Roll through the upcoming workweek in a servo-driven 3D printed Tiny FPV Tank. This RC model comes equipped with a camera, LEDs, and uses Lego threads to roll around. 

Spearheaded by projects like OpenRC, the team here at All3DP definitely noticed an increase of interest in using 3D printing to create remote-controlled cars, planes, drones and boats. While we’ve featured a handful of these fun hobbyist-type projects in our Weekend Project series, few of them pack a compact punch like this Tiny FPV Tank designed by Thingiverse user RotorGator.

Not only is this servo-powered tank small, it also implements Lego threads, a tiny FPV camera and LEDs. It might not be battle-ready, but this miniaturized tank will provide you with a fun way to inconspicuously cruise around and film all of life’s top-secret missions.

Let’s take a look at what you need to put together your own 3D printed Tiny FPV Tank.

3D Printed Tiny FPV Tank: What You Need & Putting it Together

This Tiny FPV Tank is comprised of a handful of 3D printed parts, but RotorGator has split the body into six sections: the chassis, frame, two drive wheels, two non-drive wheels, two non-drive spacers and the FPV camera mount. Use of support structures is only necessary for a few parts if you decide to print them whole, otherwise you can go support-less by printing the wheels and frame in halves.

The files are freely available on Thingiverse, you can download them here.

Although the body of this tank is heavily based around 3D printing, you’ll still need a handful of components to put this armored vehicle into action. Here’s what else you need besides your 3D printer:

2x Lego Treads
2x Servos (continuous )
Small Receiver
Mini FPV camera
5v Pololu Step up/down Regulator
1s Tattu 800mah batteries
2x 5mm LEDs

The details on the assembly process are sparse, but the build seems relatively easy. Here’s how the designer lays things out on the Thingiverse page.

Once you have the parts 3D printed, remove any supports before you start putting it together. Cut off the servo arm in order to fit it snugly into the driven wheel and attach it using the supplied screw. Using M3 bolts and spacers, mount the non-driven wheels. If you decided to print the parts in halves, use super glue to put them together. The 3D printed frame and chassis should snap together quite easily. Finally, use a bit of super glue to attach the FPV pod to the top of the tank’s frame.

Following these steps and the provided photos, you should be able to build your own Tiny FPV Tank. If you have any questions or comments, you can head on over to Thingiverse and drop a line to the creator of the project.

The post Weekend Project: 3D Print a Servo-Driven Tiny FPV Tank (with a Camera!) appeared first on All3DP.

July 8, 2018 at 10:44PM
via All3DPAll3DP

G-Code Commands – Simply Explained

G-Code Commands – Simply Explained
By Dibya Chakravorty

G-code is the programming language of your 3D printer. In this tutorial, you’ll easily learn all G-Code commands.

Using G-code, a computer tells a printer when, where, how to move and how much to extrude throughout the entire print process.

If you have never dealt with it so far, that’s normal. Slicers like Cura and Simplify3D generate G-code “automagically” from CAD models, so most users never see or program a single line of code. However, if you want to develop a deeper understanding of 3D printing, it is essential to know about this programming language.

A knowledge of G-code commands will give you 3D printing superpowers. People who this are able to troubleshoot their printers better, control every aspect of the print process and identify and prevent print failures much before they happen.

If that sounds interesting, this post is for you. Our aim is to get you started with the basics. After reading this post, you will be able to:

Read and understand G-code commands
Write it yourself and test it online
Use the preview functionality of Slicers to troubleshoot complicated prints

Let’s get started!

What are G-code Commands?

G-code stands for “Geometric Code”. Its main function is to instruct a machine head how to move geometrically in 3 dimensions. However, it can also instruct a machine to do non-geometric things. For example, G-code commands can tell a 3D printer to extrude material at a specified extrusion rate or change its bed temperature.

In formal terms, it is a numerical control programming language. For those who know how to program, it’s an easy programming language. It is rudimentary and does not have advanced constructs like variables, conditionals, and loops.

For those who don’t know about programming languages, you can think of G-code as sequential lines of instructions. Each line tells the printer to do a specific task. The printer executes the line one by one until it reaches the end.

How to read G-code Commands

So, how does a line of code look like? Here is a typical example:

G1 X-9.2 Y-5.42 Z0.5 F3000.0 E0.0377

This particular line tells the printer to move in a straight line towards the destination coordinates X=-9.2, Y=-5.42, and Z=0.5 at a feed rate of 3000.0. It also instructs the printer to extrude material at a rate of 0.0377 while it is moving.

How did we read and interpret that? It’s quite easy. Every line starts with a command. In this case, the command is G1.

G1 X-9.2 Y-5.42 Z0.5 F3000.0 E0.0377

It means “move in a straight line in a controlled fashion”. You can look up the meaning of every G-Code command in a table that we have provided at the end of the article. We will also go through the most important G-Code commands in a later section.

The code snippets that appear after the command are called arguments.

G1 X-9.2 Y-5.42 Z0.5 F3000.0 E0.0377

Each argument tells the printer about how to execute the command. The arguments start with an English letter and then specify a value. For example, X-9.2 means a destination X coordinate of -9.2. F3000.0 means a Feed rate(F) of 3000.0. E0.0377 means an Extrusion rate(E) of 0.0377.

Try reading the following line of code now.

G1 X5 Y5 Z0 F3000.0 E0.02

If you interpreted it to mean “move towards X=5, Y=5, and Z=0 in a straight line at a feed rate of 3000.0 while extruding material at the rate 0.02”, then you have already learned how to read G-code commands!

G-code commands which start with the letter G are geometric commands. They tell the printer head how to move, but this is clearly not enough to control all aspects of a 3D printer. What if you needed to tell the printer to turn the motor off or raise the bed temperature? For these non-geometric tasks, G-code implementations also define another set of commands which start with the letter M. They are aptly called M Codes. For example, the command M140 sets the bed temperature, and the command M190 tells the printer to wait for the temperature to reach the target.

Each English letter that you encounter in the code will have a specific meaning. For example, we learned that G means a geometric command, M means a non-geometric command, X means the X coordinate, Y means the Y coordinate, F means Feed rate and so on. For your reference, here’s a table with the meaning of every letter.

Standard GCode command, such as move to a point
RepRap-defined command, such as turn on a cooling fan
Select tool nnn. In RepRap, a tool is typically associated with a nozzle, which may be fed by one or more extruders.
Command parameter, such as time in seconds; temperatures; voltage to send to a motor
Command parameter, such as time in milliseconds; proportional (Kp) in PID Tuning
A X coordinate, usually to move to. This can be an Integer or Fractional number.
A Y coordinate, usually to move to. This can be an Integer or Fractional number.
A Z coordinate, usually to move to. This can be an Integer or Fractional number.
Additional axis coordinates (RepRapFirmware)
Parameter – X-offset in arc move; integral (Ki) in PID Tuning
Parameter – Y-offset in arc move
Parameter – used for diameter; derivative (Kd) in PID Tuning
Parameter – used for heater number in PID Tuning
Feedrate in mm per minute. (Speed of print head movement)
Parameter – used for temperatures
Parameter – not currently used
Length of extrudate. This is exactly like X, Y and Z, but for the length of filament to consume.
Line number. Used to request repeat transmission in the case of communications errors.
Checksum. Used to check for communications errors.

(source: RepRapWiki)

G-code Commands: A Simple Example

Now that you know how to read a line of code, let’s look at a simple example in action. The following video shows G-code commands at work in a cutting machine (not a 3D printer). The cutting machine will cut a circular edge in a rectangular slab. The G-code commands instruct the cutter on how to move to achieve the desired result.

Do not worry that the video is about a cutting machine. The geometric aspects of G-code commands work similarly for all machines that have a machine head. In the case of the 3D printer, the nozzle is the head. For the cutting machine, the head is the cutter. That’s the only difference. All other geometric aspects of the code remain the same.

If you understand the cutter’s movements, you will also know how to move a print head.

The most important G-code Commands

In the last section, we discussed the G1 command, which means “move the nozzle in a controlled fashion in a straight line”. This is just one of the many G-code commands. In this section, we will discuss other important commands that are used frequently.

G-code commands #1: G0 or “rapid motion”

The G0 command tells the print head to move at maximum travel speed from the current position to the coordinates specified by the command. The head will move in a coordinated fashion such that both axes complete the travel simultaneously. The nozzle will not extrude any material while executing this command. This G-code command is usually used to bring the nozzle rapidly to some desired coordinates at the start of the print or during the print.

Example: G0 X7 Y18

G-code commands #2: G1 or “controlled motion”

The G1 command tells the print head to move at specified speed from the current position to the coordinated specified by the G-code command. The speed is specified by the Feed rate parameter F.  The head will move in a coordinated fashion such that both axes complete the travel simultaneously. The printer can extrude material while executing this G-code command at an extrusion rate specified by the extrusion rate parameter E. Most of the 3D printing happens while executing this command. If you open the G-code file for an actual 3D printing process, you will see a lot of G1 commands.

Example: G1 X7 Y18 F500 E0.02

G-code commands #3: G17/G18/G19 or “set planes”

These G-code commands set the plane in which the nozzle should move. Typically, G17 is the default for most machines and it denotes the X-Y plane. G18 denotes the Z-X plane and G19 denotes the Y-Z plane.

G-code commands #4: G20/G21 or “set units”

These G-code commands set the units. G20 denotes inches while G21 denotes millimeters. This makes a big difference because


G0 X7 Y18

means “move rapidly to X=7 inches and Y=18 inches” while


G0 X7 Y18

means “move rapidly to X=7 mm and Y=18 mm”.

G-code commands #5: G28  or “homing”

A G28 command tells the machine to go to its home position. A home position can be defined by the G28.1 command as follows.

G28.1 X0 Y0 Z0

G-code commands #6: G90 or “absolute mode”

Absolute mode tells the machine to interpret coordinates as absolute coordinates. This means a G-code command

G0 X10

will send the machine head to the coordinate X=10.

G-code commands #7: G91 or “relative mode”

The relative mode is the opposite of the absolute mode. G91 tells the machine to interpret coordinates as relative coordinates. If the machine is currently at X=10, then the following G-code commands


G0 X10

tell the machine to move 10 units in the X direction from its current position. At the end of the operation, the machine head will be located at X=20.

G-code commands #8: G2 or “clockwise motion”

G2 tells the machine to move clockwise starting from its current location. The endpoint is specified by the coordinates X and Y. The center of rotation is specified by the parameter I, which denotes the  X offset of the current position from the center of rotation. J denotes the Y offset of the current position from the center of rotation.


G21 G90 G17

G0 X6 Y18

G2 X18 Y6 I0 J-12

G-code commands #9: G3  or “counterclockwise motion”

Just like the G2 command, the G3 command creates a circular motion but in the counterclockwise direction.


G21 G90 G17

G0 X-5 Y25

G3 X-25 Y5 I0 J-20

G-code commands #10: Code comments

If you look at any real world G-code file, you will find that in addition to G-code commands and arguments, it also contains things written in plain English. Here’s an example:

G0 X-25 Y5  ; rapid movement to X=-25 and Y=5

The English text will always be preceded by a semicolon, as you can see in the above line.

Programmers often need to write down explanations in plain English so that other programmers can understand the motivation behind a certain line or section of code. In fact, forget about other programmers! If you are looking at your own code after a year, chances are that you will have forgotten why you coded things in a certain way and would have a hard time figuring things out again.

To solve this problem, you can include code comments. Comments are written after adding a semicolon punctuation mark.You can write anything after adding a semicolon, but most often it is used to explain the rationale behind the code in a human-friendly way.  Anything that appears after a semicolon character in a line is ignored by the printer while executing the G-code commands and is only meant for human eyes.

Here is another example of a line that has a code comment.

G1 X-25 Y5  ; I am a code comment!

G-code Commands: The Structure of a Full-fledged Program

We are now in a good position to look at actual code that is used for printing a 3D model.

Most G-code programs contain three important sections. The first section initializes the printer for the printing process. The second section instructs the printer to print the model. The third section resets the printer to its default configuration after the print finishes. Let’s take a look at these sections one by one.

1. Initialization phase

Certain tasks need to be performed before a print can begin. For example, we need to heat the print bed, heat the extruder, purge the nozzle, bring the nozzle to the start position etc. These tasks form the first section of any program.

Here are the first five lines of initialization G-code commands from an actual 3D printing task. You should be in a position to read and understand them at this point, with help from the reference table at the end.



M106 S0

M140 S100

M190 S100

The first line sets the coordinates to absolute positioning. The second line tells the extruder to interpret the extrusion rate as absolute values. The third line turns the fan on, but sets the speed to 0, which essentially means that the fan is off. The fourth line sets the bed temperature to 100 degrees. The fifth line tells the printer to wait till the bed temperature reaches the desired value, in this case, 100.

During the initialization phase, the printer will not extrude any material except when it is purging the nozzle. This is an easy to way to figure out when the initialization phase stops and the actual printing begins. During the actual printing, the printer will be extruding material at almost every step.

2. Printing phase

A 3D printer prints a model layer by layer. Slicers like Simplify3D or Cura typically slices a 3D model into many horizontal layers that stack on top of each other to create the final print.

Therefore, the print phase consists of many movements in the X-Y plane (printing a single layer), then one movement in the Z direction (move to next layer) followed by many movements in the X -Y plane again (print the next layer).

Here is how the G-code commands look like.

G1 X108.587 Y111.559 F525 ; controlled motion in X-Y plane

G1 X108.553 Y111.504 F525 ; controlled motion in X-Y plane

G1 Z0.345 F500 ; change layer

G1 X108.551 Y111.489 F525 ; controlled motion in X-Y plane

G1 X108.532 Y111.472 F525 ; controlled motion in X-Y plane

3. Reset the printer

Finally, when the printing is over, some final lines of G-code commands bring the printer to a reasonable default state. For example, the nozzle is brought back to the origin, the heating is turned off (both for the bed and the extruder) and the motors are disabled.

G28 ; bring the nozzle to home

M104 S0 ; turn off heaters

M140 S0 ; turn off bed

M84 ;  disable motors

G-code Commands: Input and Output

Till now, we have only talked about the computer sending G-code commands to the printer, so it seems like the communication is one way. But 3D printing actually involves a two-way communication between the computer and the printer. Here’s how it works.

When you hit the print button on your computer, the 3D printing software starts sending the G-code commands to the printer, one line at a time. The printer executes the line and responds back to the computer. If the response indicates no error, the computer then sends the next line of code to be executed.

The printer’s response usually follows the following format:

<response> [<line number to resend>] [<current printer parameters>] [<Some debugging or other information>]

<response> can be ok, rs or !!.

Ok means that no error has been detected. This prompts the computer to send the next line of code to the printer.
Rs means “resend the instruction”. This is usually followed by the line number to resend.
Two exclamation marks(!!) implies hardware error. The machine shuts down immediately in this case and the print job is aborted.

In addition to these 3 responses, the printer might also report printer parameters like temperature, coordinates of the nozzle etc. to the computer.

Temperature is reported in response to a M105 G-Code command.  The format of the response is

T:value B:value,

where T indicates the extruder temperature and B indicates the bed temperature. If the machine does not have a temperature sensor, then -273 is returned as a value.

The coordinates are reported in response to M114 and M117 G-code commands. The format of response is

C: X:9.2 Y:125.4 Z:3.7 E:1902.5.

Here, C stands for “coordinates follow”. This is followed by current X, Y, Z coordinates and other information.

G-code Commands: Visualization Tools

Now that you know how to write G-code, it’s your turn to write some G-code commands and test your understanding. You can use an online visualization tool, where you can write some G-code commands and see the machine head move according to your instructions. It’s a lot of fun! We recommend that you try out this online visualization tool to test your skills.

Slicing software like Simplify3D or Cura also come with a G-code viewer. In the viewer, you will be able to visualize the path of the extruder for actual 3D printing tasks. Check out this must-see video for an excellent demonstration of the G-code viewer in Simplify3D.

G-code Commands: Preventing Print Failures

The G-code viewer can be the difference between a successful and failed print for tricky 3D models. In general, whenever you want to print a complicated 3D model, we advise that you run the viewer and go through the print simulation step by step.

We need to do this because the automatically generated code is often not ideal. You will often find that there are problematic areas that do not have enough support, leading to a failed print. In this case, you need to modify the code to ensure successful printing. Most of the time, this can be done by adding additional support structures using the graphical interface. Here is a video that shows how to do this for a complicated model of a 3D puppy.

G-code Commands: Conclusion

In conclusion, we learned about how a 3D printer prints a CAD model by following an instruction set written in G-code. We learned how to read the G-code commands, and saw some realistic examples. We discussed the most common G-Code commands and some ways of visualizing and testing them. Finally, we introduced G-code viewer, a common feature of Slicers, which can be used to prevent failed prints.

We hope that an understanding of G-code commands helps you become a more knowledgeable and powerful user of your 3D printer. If you found this article useful, share it with other 3D printing enthusiasts and spread the word. Do you have some questions or remarks? Let us know in the comments below!

Appendix 1: Compatibility notes

Each 3D printer comes with a firmware. There are many firmware’s, and developers of these firmware’s tend to implement different flavors of G-code commands. This leads to major compatibility issues. The G-code commands that work for one machine might not work for another.

This problem is usually solved by connecting the Slicer, which generates the code, to a machine specific post-processing driver. The post-processor detects the incoming code flavor and converts the code to the specific flavor^ that the firmware understands.

Therefore, the G-code commands that you see on the Slicer might not necessarily be the code being executed on the machine because of this subtle implementation detail.

Appendix 2: G-code commands

Milling (M)
Turning (T)
Corollary info
Rapid positioning
On 2- or 3-axis moves, G00 (unlike G01) traditionally does not necessarily move in a single straight line between start point and end point. It moves each axis at its max speed until its vector quantity is achieved. Shorter vector usually finishes first (given similar axis speeds). This matters because it may yield a dog-leg or hockey-stick motion, which the programmer needs to consider depending on what obstacles are nearby, to avoid a crash. Some machines offer interpolated rapids as a feature for ease of programming (safe to assume a straight line).
Linear interpolation
The most common workhorse code for feeding during a cut. The program specs the start and end points, and the control automatically calculates (interpolates) the intermediate points to pass through that will yield a straight line (hence “linear”). The control then calculates the angular velocities at which to turn the axis leadscrews via their servomotors or stepper motors. The computer performs thousands of calculations per second, and the motors react quickly to each input. Thus the actual toolpath of the machining takes place with the given feedrate on a path that is accurately linear to within very small limits.
Circular interpolation, clockwise
Very similar in concept to G01. Again, the control interpolates intermediate points and commands the servo- or stepper motors to rotate the amount needed for the leadscrew to translate the motion to the correct tool tip positioning. This process repeated thousands of times per minute generates the desired toolpath. In the case of G02, the interpolation generates a circle rather than a line. As with G01, the actual toolpath of the machining takes place with the given feedrate on a path that accurately matches the ideal (in G02’s case, a circle) to within very small limits. In fact, the interpolation is so precise (when all conditions are correct) that milling an interpolated circle can obviate operations such as drilling, and often even fine boring. Addresses for radius or arc center: G02 and G03 take either an R address (for the radius desired on the part) or IJK addresses (for the component vectors that define the vector from the arc start point to the arc center point). Cutter comp: On most controls you cannot start G41 or G42 in G02 or G03 modes. You must already have compensated in an earlier G01 block. Often a short linear lead-in movement will be programmed, merely to allow cutter compensation before the main event, the circle-cutting, begins. Full circles: When the arc start point and the arc end point are identical, a 360° arc, a full circle, will be cut. (Some older controls cannot support this because arcs cannot cross between quadrants of the cartesian system. Instead, four quarter-circle arcs are programmed back-to-back.)
Circular interpolation, counterclockwise
Same corollary info as for G02.
Takes an address for dwell period (may be X, U, or P). The dwell period is specified by a control parameter, typically set to milliseconds. Some machines can accept either X1.0 (s) or P1000 (ms), which are equivalent. Choosing dwell duration: Often the dwell needs only to last one or two full spindle rotations. This is typically much less than one second. Be aware when choosing a duration value that a long dwell is a waste of cycle time. In some situations it won’t matter, but for high-volume repetitive production (over thousands of cycles), it is worth calculating that perhaps you only need 100 ms, and you can call it 200 to be safe, but 1000 is just a waste (too long).
G05 P10000
High-precision contour control (HPCC)

Uses a deep look-ahead buffer and simulation processing to provide better axis movement acceleration and deceleration during contour milling
G05.1 Q1.
AI Advanced Preview Control

Uses a deep look-ahead buffer and simulation processing to provide better axis movement acceleration and deceleration during contour milling
Non-uniform rational B-spline (NURBS) Machining

Activates Non-Uniform Rational B Spline for complex curve and waveform machining (this code is confirmed in Mazatrol 640M ISO Programming)
Imaginary axis designation

Exact stop check, non-modal
The modal version is G61.
Programmable data input
Modifies the value of work coordinate and tool offsets
Data write cancel

Full-circle interpolation, clockwise

Fixed cycle for ease of programming 360° circular interpolation with blend-radius lead-in and lead-out. Not standard on Fanuc controls.
Full-circle interpolation, counterclockwise

Fixed cycle for ease of programming 360° circular interpolation with blend-radius lead-in and lead-out. Not standard on Fanuc controls.
XY plane selection

ZX plane selection
On most CNC lathes (built 1960s to 2000s), ZX is the only available plane, so no G17 to G19 codes are used. This is now changing as the era begins in which live tooling, multitask/multifunction, and mill-turn/turn-mill gradually become the “new normal”. But the simpler, traditional form factor will probably not disappear—it will just move over to make room for the newer configurations. See also V address.
YZ plane selection

Programming in inches
Somewhat uncommon except in USA and (to lesser extent) Canada and UK. However, in the global marketplace, competence with both G20 and G21 always stands some chance of being necessary at any time. The usual minimum increment in G20 is one ten-thousandth of an inch (0.0001″), which is a larger distance than the usual minimum increment in G21 (one thousandth of a millimeter, .001 mm, that is, one micrometre). This physical difference sometimes favors G21 programming.
Programming in millimeters (mm)
Prevalent worldwide. However, in the global marketplace, competence with both G20 and G21 always stands some chance of being necessary at any time.
Return to home position (machine zero, aka machine reference point)
Takes X Y Z addresses which define the intermediate point that the tool tip will pass through on its way home to machine zero. They are in terms of part zero (aka program zero), NOT machine zero.
Return to secondary home position (machine zero, aka machine reference point)
Takes a P address specifying which machine zero point is desired, if the machine has several secondary points (P1 to P4). Takes X Y Z addresses which define the intermediate point that the tool tip will pass through on its way home to machine zero. They are in terms of part zero (aka program zero), NOT machine zero.
Skip function (used for probes and tool length measurement systems)

Single-point threading, longhand style (if not using a cycle, e.g., G76)

Similar to G01 linear interpolation, except with automatic spindle synchronization for single-point threading.
Constant-pitch threading

Single-point threading, longhand style (if not using a cycle, e.g., G76)

Some lathe controls assign this mode to G33 rather than G32.
Variable-pitch threading

Tool radius compensation off
Turn off cutter radius compensation (CRC). Cancels G41 or G42.
Tool radius compensation left
Turn on cutter radius compensation (CRC), left, for climb milling.
Milling: Given righthand-helix cutter and M03 spindle direction, G41 corresponds to climb milling (down milling). Takes an address (D or H) that calls an offset register value for radius.
Turning: Often needs no D or H address on lathes, because whatever tool is active automatically calls its geometry offsets with it. (Each turret station is bound to its geometry offset register.)
G41 and G42 for milling has been partially automated and obviated (although not completely) since CAM programming has become more common. CAM systems allow the user to program as if with a zero-diameter cutter. The fundamental concept of cutter radius compensation is still in play (i.e., that the surface produced will be distance R away from the cutter center), but the programming mindset is different; the human does not choreograph the toolpath with conscious, painstaking attention to G41, G42, and G40, because the CAM software takes care of it. The software has various CRC mode selections, such as computer, control, wear, reverse wear, off, some of which do not use G41/G42 at all (good for roughing, or wide finish tolerances), and others which use it so that the wear offset can still be tweaked at the machine (better for tight finish tolerances).
Tool radius compensation right
Turn on cutter radius compensation (CRC), right, for conventional milling. Similar corollary info as for G41. Given righthand-helix cutter and M03 spindle direction, G42 corresponds to conventional milling (up milling).
Tool height offset compensation negative

Takes an address, usually H, to call the tool length offset register value. The value is negative because it will be added to the gauge line position. G43 is the commonly used version (vs G44).
Tool height offset compensation positive

Takes an address, usually H, to call the tool length offset register value. The value is positive because it will be subtracted from the gauge line position. G44 is the seldom-used version (vs G43).
Axis offset single increase

Axis offset single decrease

Axis offset double increase

Axis offset double decrease

Tool length offset compensation cancel

Cancels G43 or G44.
Define the maximum spindle speed

Takes an S address integer which is interpreted as rpm. Without this feature, G96 mode (CSS) would rev the spindle to “wide open throttle” when closely approaching the axis of rotation.
Scaling function cancel

Position register (programming of vector from part zero to tool tip)

Position register is one of the original methods to relate the part (program) coordinate system to the tool position, which indirectly relates it to the machine coordinate system, the only position the control really “knows”. Not commonly programmed anymore because G54 to G59 (WCSs) are a better, newer method. Called via G50 for turning, G92 for milling. Those G addresses also have alternate meanings (which see). Position register can still be useful for datum shift programming. The “manual absolute” switch, which has very few useful applications in WCS contexts, was more useful in position register contexts, because it allowed the operator to move the tool to a certain distance from the part (for example, by touching off a 2.0000″ gage) and then declare to the control what the distance-to-go shall be (2.0000).
Local coordinate system (LCS)

Temporarily shifts program zero to a new location. It is simply “an offset from an offset”, that is, an additional offset added onto the WCS offset. This simplifies programming in some cases. The typical example is moving from part to part in a multipart setup. With G54 active, G52 X140.0 Y170.0 shifts program zero 140 mm over in X and 170 mm over in Y. When the part “over there” is done, G52 X0 Y0 returns program zero to normal G54 (by reducing G52 offset to nothing). The same result can also be achieved (1) using multiple WCS origins, G54/G55/G56/G57/G58/G59; (2) on newer controls, G54.1 P1/P2/P3/etc. (all the way up to P48); or (3) using G10 for programmable data input, in which the program can write new offset values to the offset registers. Which method to use depends on shop-specific application.
Machine coordinate system
Takes absolute coordinates (X,Y,Z,A,B,C) with reference to machine zero rather than program zero. Can be helpful for tool changes. Nonmodal and absolute only. Subsequent blocks are interpreted as “back to G54” even if it is not explicitly programmed.
G54 to G59
Work coordinate systems (WCSs)
Have largely replaced position register (G50 and G92). Each tuple of axis offsets relates program zero directly to machine zero. Standard is 6 tuples (G54 to G59), with optional extensibility to 48 more via G54.1 P1 to P48.
G54.1 P1 to P48
Extended work coordinate systems
Up to 48 more WCSs besides the 6 provided as standard by G54 to G59. Note floating-point extension of G-code data type (formerly all integers). Other examples have also evolved (e.g., G84.2). Modern controls have the hardware to handle it.
Exact stop check, modal
Can be canceled with G64. The non-modal version is G09.
Automatic corner override

Default cutting mode (cancel exact stop check mode)
Cancels G61.
Rotate coordinate system.

Rotates coordinate system in the current plane given with G17 G18 or G19. Center of rotation is given with two parameters, which vary with each vendors implementation. Rotate with angle given with argument R. This can be for instance be used to align coordinate system with misaligned part. It can also be used to repeat movement sequences around a center. Not all vendors support coordinate system rotation.
Turn off coordinate system rotation.

Cancels G68.
Fixed cycle, multiple repetitive cycle, for finishing (including contours)


Fixed cycle, multiple repetitive cycle, for roughing (Z-axis emphasis)


Fixed cycle, multiple repetitive cycle, for roughing (X-axis emphasis)


Fixed cycle, multiple repetitive cycle, for roughing, with pattern repetition


Peck drilling cycle for milling – high-speed (NO full retraction from pecks)

Retracts only as far as a clearance increment (system parameter). For when chipbreaking is the main concern, but chip clogging of flutes is not. Compare G83.
Peck drilling cycle for turning


Tapping cycle for milling, lefthand thread, M04 spindle direction

See notes at G84.
Peck grooving cycle for turning


Fine boring cycle for milling

Includes OSS and shift (oriented spindle stop and shift tool off centerline for retraction)
Threading cycle for turning, multiple repetitive cycle


Cancel canned cycle
Milling: Cancels all cycles such as G73, G81, G83, etc. Z-axis returns either to Z-initial level or R level, as programmed (G98 or G99, respectively).
Turning: Usually not needed on lathes, because a new group-1 G address (G00 to G03) cancels whatever cycle was active.
Simple drilling cycle

No dwell built in
Drilling cycle with dwell

Dwells at hole bottom (Z-depth) for the number of milliseconds specified by the P address. Good for when hole bottom finish matters. Good for spot drilling because the divot will be certain to clean up evenly. Consider the “choosing dwell duration” note at G04.
Peck drilling cycle (full retraction from pecks)

Returns to R-level after each peck. Good for clearing flutes of chips. Compare G73.
Tapping cycle, righthand thread, M03 spindle direction

G74 and G84 are the righthand and lefthand “pair” for old-school tapping with a non-rigid toolholder (“tapping head” style). Compare the rigid tapping “pair”, G84.2 and G84.3.
Tapping cycle, righthand thread, M03 spindle direction, rigid toolholder

See notes at G84. Rigid tapping synchronizes speed and feed according to the desired thread helix. That is, it synchronizes degrees of spindle rotation with microns of axial travel. Therefore, it can use a rigid toolholder to hold the tap. This feature is not available on old machines or newer low-end machines, which must use “tapping head” motion (G74/G84).
Tapping cycle, lefthand thread, M04 spindle direction, rigid toolholder

See notes at G84 and G84.2.
boring cycle, feed in/feed out

– Good cycle for a reamer.
– In some cases good for single-point boring tool, although in other cases the lack of depth of cut on the way back out is bad for surface finish, in which case, G76 (OSS/shift) can be used instead.
– If need dwell at hole bottom, see G89.
boring cycle, feed in/spindle stop/rapid out

Boring tool will leave a slight score mark on the way back out. Appropriate cycle for some applications; for others, G76 (OSS/shift) can be used instead.
boring cycle, backboring

For backboring. Returns to initial level only (G98); this cycle cannot use G99 because its R level is on the far side of the part, away from the spindle headstock.
boring cycle, feed in/spindle stop/manual operation

boring cycle, feed in/dwell/feed out

G89 is like G85 but with dwell added at bottom of hole.
Absolute programming
T (B)
Positioning defined with reference to part zero.
Milling: Always as above.
Turning: Sometimes as above (Fanuc group type B and similarly designed), but on most lathes (Fanuc group type A and similarly designed), G90/G91 are not used for absolute/incremental modes. Instead, U and W are the incremental addresses and X and Z are the absolute addresses. On these lathes, G90 is instead a fixed cycle address for roughing.
Fixed cycle, simple cycle, for roughing (Z-axis emphasis)

T (A)
When not serving for absolute programming (above)
Incremental programming
T (B)
Positioning defined with reference to previous position.
Milling: Always as above.
Turning: Sometimes as above (Fanuc group type B and similarly designed), but on most lathes (Fanuc group type A and similarly designed), G90/G91 are not used for absolute/incremental modes. Instead, U and W are the incremental addresses and X and Z are the absolute addresses. On these lathes, G90 is a fixed cycle address for roughing.
Position register (programming of vector from part zero to tool tip)
T (B)
Same corollary info as at G50 position register.
Milling: Always as above.
Turning: Sometimes as above (Fanuc group type B and similarly designed), but on most lathes (Fanuc group type A and similarly designed), position register is G50.
Threading cycle, simple cycle

T (A)

Feedrate per minute
T (B)
On group type A lathes, feedrate per minute is G98.
Fixed cycle, simple cycle, for roughing (X-axis emphasis)

T (A)
When not serving for feedrate per minute (above)
Feedrate per revolution
T (B)
On group type A lathes, feedrate per revolution is G99.
Constant surface speed (CSS)

Varies spindle speed automatically to achieve a constant surface speed. See speeds and feeds. Takes an S address integer, which is interpreted as sfm in G20 mode or as m/min in G21 mode.
Constant spindle speed
Takes an S address integer, which is interpreted as rev/min (rpm). The default speed mode per system parameter if no mode is programmed.
Return to initial Z level in canned cycle

Feedrate per minute (group type A)

T (A)
Feedrate per minute is G94 on group type B.
Return to R level in canned cycle

Feedrate per revolution (group type A)

T (A)
Feedrate per revolution is G95 on group type B.

(source: Wikipedia)

Appendix 3: M-Code commands

Milling (M)
Turning (T)
Corollary info
Compulsory stop
Non-optional—machine will always stop upon reaching M00 in the program execution.
Optional stop
Machine will only stop at M01 if operator has pushed the optional stop button.
End of program
Program ends; execution may or may not return to program top (depending on the control); may or may not reset register values. M02 was the original program-end code, now considered obsolete, but still supported for backward compatibility.[7] Many modern controls treat M02 as equivalent to M30.[7] See M30 for additional discussion of control status upon executing M02 or M30.
Spindle on (clockwise rotation)
The speed of the spindle is determined by the address S, in either revolutions per minute (G97 mode; default) or surface feet per minute or meters per minute (G96 mode under either G20 or G21). The right-hand rule can be used to determine which direction is clockwise and which direction is counter-clockwise.
Right-hand-helix screws moving in the tightening direction (and right-hand-helix flutes spinning in the cutting direction) are defined as moving in the M03 direction, and are labeled “clockwise” by convention. The M03 direction is always M03 regardless of local vantage point and local CW/CCW distinction.
Spindle on (counterclockwise rotation)
See comment above at M03.
Spindle stop

Automatic tool change (ATC)
T (sometimes)
Many lathes do not use M06 because the T address itself indexes the turret.
Programming on any particular machine tool requires knowing which method that machine uses. To understand how the T address works and how it interacts (or not) with M06, one must study the various methods, such as lathe turret programming, ATC fixed tool selection, ATC random memory tool selection, the concept of “next tool waiting”, and empty tools.
Coolant on (mist)

Coolant on (flood)

Coolant off

Pallet clamp on

For machining centers with pallet changers
Pallet clamp off

For machining centers with pallet changers
Spindle on (clockwise rotation) and coolant on (flood)

This one M-code does the work of both M03 and M08. It is not unusual for specific machine models to have such combined commands, which make for shorter, more quickly written programs.
Spindle orientation
Spindle orientation is more often called within cycles (automatically) or during setup (manually), but it is also available under program control via M19. The abbreviation OSS (oriented spindle stop) may be seen in reference to an oriented stop within cycles.
Mirror, X-axis

Tailstock forward


Mirror, Y-axis

Tailstock backward


Mirror OFF

Thread gradual pullout ON


Thread gradual pullout OFF


End of program, with return to program top
Today M30 is considered the standard program-end code, and will return execution to the top of the program. Today most controls also still support the original program-end code, M02, usually by treating it as equivalent to M30. Additional info: Compare M02 with M30. First, M02 was created, in the days when the punched tape was expected to be short enough to be spliced into a continuous loop (which is why on old controls, M02 triggered no tape rewinding).[7] The other program-end code, M30, was added later to accommodate longer punched tapes, which were wound on a reel and thus needed rewinding before another cycle could start.[7] On many newer controls, there is no longer a difference in how the codes are executed—both act like M30.
Gear select – gear 1


Gear select – gear 2


Gear select – gear 3


Gear select – gear 4


Feedrate override allowed

Feedrate override NOT allowed
Prevent MFO. This rule is also usually called (automatically) within tapping cycles or single-point threading cycles, where feed is precisely correlated to speed. Same with spindle speed override (SSO) and feed hold button. Some controls are capable of providing SSO and MFO during threading.
Unload Last tool from spindle
Also empty spindle.
Automatic pallet change (APC)

For machining centers with pallet changers
Subprogram call
Takes an address P to specify which subprogram to call, for example, “M98 P8979” calls subprogram O8979.
Subprogram end
Usually placed at end of subprogram, where it returns execution control to the main program. The default is that control returns to the block following the M98 call in the main program. Return to a different block number can be specified by a P address. M99 can also be used in main program with block skip for endless loop of main program on bar work on lathes (until operator toggles block skip).

(Source: Wikipedia)

The post G-Code Commands – Simply Explained appeared first on All3DP.

July 7, 2018 at 10:11PM
via All3DPAll3DP

Weekend Project: Turn Back Time with a 3D Printed Delorean Clock From ‘Back to the Future’

Weekend Project: Turn Back Time with a 3D Printed Delorean Clock From ‘Back to the Future’
By Tyler Koslow

Have you always wanted to travel through time like Marty McFly and Doc Brown in ‘Back to the Future’? Well, Great Scott! Now you can with this amazing 3D printed Delorean clock. 

Originally released in 1985, the critically acclaimed film Back to the Future has proven itself to be timeless, which is a bit ironic considering the plot is about a teenager and mad scientist traveling through time. The instant classic quickly transformed into a gigantic franchise, spawning two sequels, several video games, a theme park ride, and even acting as the inspiration behind the main characters featured in the animated hit-series Rick & Morty

Of all the many memorable scenes in Back to the Future, few are as iconic as those featuring the time-traveling Delorean, which is a sleek and futuristic car that is still famously recognized as “the car from that movie!” In the movie, Marty McFly and Doc Brown use the car as their personal time machine, dialing in the settings on the zany clock-like contraption that is mounted on the center console.

Now, fans of Back to the Future can 3D print their own time circuit device by following along with a project by Thingiverse user Premium95. The maker and engineer has created a 3D printable Delorean clock, taking the device from the film and turning it into a functional clock that shows you the time and date of the past, present and future.

This project requires a fair bit of soldering and post-processing, but hey, nobody said being a time traveller was easy work. If you’re up for the challenge, keep on reading to learn more about this awesome Weekend Project.

3D Printed Delorean Clock: What You Need & How to Build it

While the case of the Delorean Clock is 3D printed, you’ll still need a handful of electronic components and parts to complete the job. Here’s the checklist of what you need, all of which is available through Banggood:

Geekcreit ATmega328P Nano 
3x Red Displays
3x Yellow Displays
3x Green Displays
Real Time Clock Module
Wires (Male to Female)
Wires (Male to Male)
5V Power Supply Adapter

The Thingiverse user also shares a download link to the code that allows the Delorean to function. The labels that are attached to the clock are included in the collection of Thingiverse files. According to Premium95, the six 3D printable files should have 20 percent infill, no supports needed.

The engineer also shares the circuit digram for the entire clock, showing where soldering connections needs to be made.

However, other than that, assembly instructions are sparse. Judging from the photos, the 3D printed parts seem to be post-processed with sandpaper and black paint.

The soldering process seems a bit complex for unexperienced makers, but this project can be approached as a challenging way to learn. Of course, if you have any questions about the project, you can head over to the Thingiverse page and drop a comment for the designer.

The post Weekend Project: Turn Back Time with a 3D Printed Delorean Clock From ‘Back to the Future’ appeared first on All3DP.

July 7, 2018 at 05:03PM
via All3DPAll3DP