Manufacturing Software Development Notes · Sean Kim

SketchUp furniture workflow: BOM, labels and CNC data

Drawing a furniture model on screen and producing the data a factory uses are not separate jobs. From panel recognition research and Wedraw Pro development, these notes cover the problems I ran into while making manufacturing data follow design changes.

Cover page for the "Wedraw Pro" project, which bridges the gap between furniture design and manufacturing data.
Related project: Development of furniture design and manufacturing data based on SketchUp.

Distinguishing between the geometry and the function of the panels.

In our research on furniture panel recognition, we analyze panels and their contact surfaces, using AI to identify the function of each panel and calculate rules for resizing. Even when two components are similar rectangular parallelepipeds, their specific roles and resizing rules can vary depending on their orientation and how they interface with other panels.

This research was a team project; my part was analyzing panels and joint faces, the AI research and the coefficient calculations.

Check role recognition and resizing rules separately

When the width or height is altered, you must calculate which panels to expand and how their positions should shift. By separating the process of identifying the function of each component from the process of calculating how those components respond to dimensional changes, you can more easily determine whether an incorrect result stems from a recognition error or a flaw in the established rules.

So rather than a single result screen, I aimed to explain the input geometry, joint relations, calculated rules and the resulting change in sequence. Research screens and what was checked are in the panel recognition case.

Bill of materials (BOM) versus CNC machining data

A bill of materials (BOM) lists the parts and quantities needed. Checking panel sizes, quantities and materials is a different task from generating machining positions, orientations and code for a CNC machine.

In this development case, we generated parts lists, labels, machining drawings and machining code from the same SketchUp design and compared the outputs. A parts list alone cannot verify machining positions or panel feed orientation, so the production handoff checks also covered rotation, flipping and edge banding.

Includes panel rotation and actual feed orientation in the output specifications.

Wedraw Pro is a product, developed with my team, that carries furniture designed in SketchUp through to drawings, orders, manufacturing data and production. I led manufacturing data output and production handoff, and led the initial development of drawings and ordering.

When a panel is rotated or flipped, the machining positions, edge-banding, and grain direction must all be adjusted accordingly. Machining files are categorized based on nesting or "skipper" (point-to-point) processing standards, and labels include "flip" indicators and feed-direction arrows to ensure operators know the correct orientation for loading the panel.

When the door cup had to be machined on the back but the tool sits on top, a rule was needed that flips the door left-to-right together with the machined face. It is easy to miss if you only look at the coordinate transform on screen; it shows up only when you also consider the direction the panel is fed in on the shop floor.

  • BOM, label, processing drawing, MPR, and PGI are output from the same design.
  • For five furniture items—comprising 66 individual panels—the system's output was compared against independently calculated rotation results.
  • The machining positions were reconstructed using the output file and flip marks, then cross-referenced with the design.
  • This verification does not include on-site machine setup, operator deployment, or actual CNC machining.

In operations, both server status and task completion are monitored.

In services linked to design and manufacturing, a task—such as transmitting an invoice—might fail even if the server provides a successful response. For operational monitoring, we analyzed not only server status but also task outcomes, API errors, and issues occurring within the user's PC software to identify the root causes.

The research, product development and service operations in this note are separate projects. What I did in each is described in the cases linked below.