The naturally complementary components of computer-aided design and 3D printing are used today by millions of people around the world to create objects of every kind for every conceivable purpose. Users range from independent craftspeople doing low-volume manufacturing, to research scientists who use digital fabrication to develop and characterize experimental samples, to hobbyists working at home.
That affinity between the two elements in the digital design and “making” processes, however, is not always reflected in reality. Currently, says Jennifer Jacobs, an assistant professor in the UC Santa Barbara Computer Science Department and the Media Arts & Technology program, “Digital fabrication technologies function in a rigid way that makes it very difficult to do anything that involves custom workflow or manual intervention during the process of making an object.”
Jacobs, who leads the Expressive Computation Lab, which falls under the auspices of both the College of Engineering and the Division of Humanities and Fine Arts, describes her work as conducting “research across the fields of computational art and design, human-computer interaction, and systems engineering.” She recently received a National Science Foundation (NSF) Early CAREER award, the NSF’s most prestigious award for junior faculty, allowing her to expand research aimed at adding flexibility to digital-fabrication workflows.
“The project is about building not only software tools, but also hardware platforms — new types of digital-fabrication control technologies that allow people to build custom workflows into every stage of the process and integrate their own domain expertise,” Jacobs says, adding, “Artists are definitely one target audience for this research, but the entire audience is much broader. It is inspired by how people work in art and craft, but this happens in engineering and science, too. There are some amazing digital-fabrication techniques that exist because people have, say, turned a mistake into a feature, which they then used to build a new type of material. This work is aimed at helping domain professionals integrate digital fabrication into their work in domain-specific ways.”
Digital fabrication emerged in an industrial context, and one of its biggest weaknesses, Jacobs says, is that, while the technology has evolved, the process has changed little since digital fabrication first appeared. “Whether you have a thousand-dollar 3D printer or a $200,000 industrial CNC [computer numerical control] mill, the process is very similar,” she notes. “They use the same control language, called G code, which tells the machine where to move in sequence. The whole process involves using computer-design software to create a design, using some type of computer-aided-manufacturing software to convert the design into G code, uploading that to your machine, hitting ‘start,’ and hoping that it executes correctly.”
The trouble with that system is that the printer automatically executes the code, “So, if you have an error, or there is a point when you want to intervene, there are ways to do it, but they are very restricted,” she says. “If, for instance, you are conducting a series of experiments, and you do more research and then want to reflect that in the next iteration of the digitally produced object, or if you realize while a piece is printing that you need to change its diameter slightly, you have to start all over. I’m interested in rethinking the entire process so that both engineers and designers can invent new fabrication machines that better support domain experts to make changes while they're fabricating.”
The work is focused on three main areas: 1) reviewing case studies of low-volume products developed through CAM [computer-aided manufacturing], manual machining, and CNC; 2) developing a general-purpose dynamic CNC machine control architecture; and 3)
integrating digital design and material machining through CAM-based design systems.
The first, Jacobs says, is “something I do in most of my work: looking at what people are already building and drawing inspiration from how we make things non-digitally to inform how we design digital machines. For example, if we're not going to use G-code, what's a different way that we might think about controlling machines?”
Regarding the second area, Jacobs says that while G-code does some things quite well, such as driving entirely automated processes with high precision, it standardizes the operation workflow and prevents alternative interactions with CNC machines. Each command effectively tells the machine to move to a certain point in space. Standard machine controllers on CNC machines auto-convert G-code commands into step and direction signals.
In Jacobs’s approach, she says, “We’re looking below the G-code to the level of the system, the machine itself, which is controlled by a series of ‘stepper’ motors; you send signals to them that tell the motor how many steps [i.e., how far] and in what direction to move,” she explains. “Every digital-fabrication machine has a certain number of these motors that correspond to what it can do. If you enable practitioners to manipulate the motors at the level of step and direction, then you can do things like mixing in different signals and controlling a motor from multiple inputs.”
Researchers in Jacobs’s lab have built an initial prototype system that gives them control at the level of step and direction, while also remaining compatible with designs created in standard G-code. “Our system enables the end user to manipulate step and direction signals as first-class data types. That gives us the best of both worlds: the precision of G-code and the adaptability available by controlling production at the motor level,” she explains. “You can have a pre-programmed design and a manual input, like a lever, that changes, say, the radius of your design in real time. And you can mix those together and avoid disruptions and faults in the machine. That ability provided a basis for this award.”
The CAREER award will fund efforts in Jacob’s lab to expand on the work done so far. “We developed a control system for one specific test case for a clay 3D printer, and it worked,” she says. “Now, we're trying to expand it into a general-purpose control system, so that we can take any existing digital-fabrication machine, replace its standard geo controller with this new controller, and rapidly expand the range of things we can do with it.”
In the third area of the project, Jacobs says, “Building new control systems for digital-fabrication machines requires rethinking methods used to design for digital fabrication in the first place,” Jacobs says. “We have to transition from enabling people to design generic forms exclusively, to instead enabling them to design for machine-and-material interactions.”
To that end, she is researching CAM-based design technologies that give creators flexibility in describing geometry-, machine-, and material-aware digital fabrication toolpaths that can be interspersed with direct operator control, sensor feedback, and non-linear workflows.
One approach to enabling people to design for machine-and-material interactions involves programming. “We’re building domain-specific programming languages that make it possible to program the machine tool path,” Jacobs notes, adding that, because programming may pose a barrier to some creators, “We're also building direct-manipulation tools that make it possible to draw or otherwise graphically express the machine tool path, significantly lowering the barrier to entry in this space. It’s a new area that we've pioneered in my lab. We started in clay, then 3D printing, and are now moving to new directions.”
Moving forward, Jacobs says she sees a time, not far off, when something is being printed and the maker wants to change a dimension or an angle, and will be able to draw it onto a pad to achieve the desired change. In fact, she says, she is already doing some such work on the lab prototype tool.
“Generally, design and fabrication are separate in digital fabrication,” Jacobs explains. “Because of how we're modifying the workflow, you can still do them separately, but you can also move the design activity to the machine itself, so that, on the fly, you can alter the design in response to how the material is behaving.”
To evaluate the technologies she is developing, Jacobs seeks to examine how they connect to existing practices and interests of both professionals and young learners. “The educational context is another component of this work,” she says. “We have looked initially at how combining computer programming and digital fabrication can offer an opportunity to engage young people, particularly those who are interested in physical making, in computer-science learning.
Jacobs has run some preliminary workshops for high school students through the UCSB Center for Science and Engineering, adapting some of the techniques described above to curricula for young people so that they can use programming to describe machine-tool paths and then make functional objects for their lives.
Importantly, Jacobs notes, “We don't make a distinction between the design sophistication of young people and that of professionals. You need different types of approaches for those different audiences, but we consider young people to be designers as well, so we're looking at the opportunities that this work might present for them both to learn new concepts, and also to make things that are meaningful in their lives. That’s one of our most important metrics: are they able to make things? The answer is yes. We’ve seen young people in some of the workshops fabricate really lovely crafts.”

The Digital Pottery Wheel (DPW, upper left) is a ceramic throwing wheel augmented with a clay 3D printing mechanism and a modular control platform. This mechanism-and-control approach allows the wheel to support standard manual ceramics throwing (upper right), autonomous 3D printing (lower left), and integration of manual manipulation and 3D printing in the same vessel (lower right).