
| Role | User Research (Internal Workflow Observation) · Interaction Design · UI Design · Cross-functional Collaboration |
|---|---|
| Project Type | Feature Design & Iteration |
| Platform | Web App |
| Users | Internal CAD Drafting Team · Architects · Interior Designers |
| Team | Product Director · Product Manager · Designer · Engineering Team |
| My Contribution | 1. Helped define the feature from an open requirement with no existing spec or wireframes, and proposed the “Contour” concept and naming; |
Scanat’s CAD drafting team needed to extract plan and elevation contours from scanned 3D building models. Previously, some sections still had to be redrawn manually by referencing the model. We designed a contour-generation feature that lets users choose a plan or elevation direction, position one or more section planes, automatically generate a 2D contour, and export it as DXF for continued work in CAD.
My contribution: I joined at the open-requirement stage, helped define the feature, designed the core workflow and 3D spatial interactions, and completed two rounds of control iteration after launch based on real usage.
https://res.cloudinary.com/v7b2p5ho/video/upload/v1786613134/pu6weyazrptggllgv0iv.mov
After receiving Scanat’s 3D models, the CAD drafting team still had to manually redraw some plans and elevations. Because the geometry already existed in the model, the core question became: how could we automate 3D → 2D contour extraction while preserving the existing CAD workflow?

Interface constraint: section planes needed precise positioning, while controls could not permanently consume valuable 3D canvas space.
I reviewed sectioning workflows in 3D modeling, architectural visualization, and CAD tools, then compared them with our internal CAD workflow. Two principles emerged: the interface should use architectural concepts such as plan and elevation instead of exposing X / Y / Z directly, and generated results should flow smoothly back into CAD. The “Contour” feature name was also defined during this stage.
The project began from an open requirement, and the design process can be summarized in four steps:
The initial proposal used three stages: review the model and saved contour list, enter a separate page to create or edit a contour, then return to the list after saving.

I proposed keeping the contour list, section-plane controls, and 3D model in the same workspace. The key reason was that a contour is fundamentally defined by the current model together with one or more section planes. During creation, adjustment, and review, the model is not a disposable preview—it is the persistent operational context.
This decision came from two real usage patterns:

The team ultimately adopted a single-workspace structure: the list manages results, the section-plane controls handle the current operation, and the model continuously provides spatial context. The controls went through two later iterations, but the core page structure remained unchanged.

The single-workspace approach increased on-screen state complexity, but that was a trade-off worth accepting because every action depended on the current 3D model. Splitting the flow into multiple pages would have simplified page structure at the cost of losing task context.
Technically, contour generation places section planes along the model’s X / Y / Z axes. The most direct implementation would have been to ask users to choose an axis, but that would expose the model coordinate system and force them to translate axes into architectural directions.
Architectural drafting users do not think in terms of “cut along the Y axis.” They think, “I need a plan, front elevation, or side elevation.” So the primary interface language became Plan / Front Elevation / Side Elevation, rather than X / Y / Z.
Users first choose the drawing direction they want, and the system maps that choice to the appropriate section axis. This translates the system’s coordinate model into the user’s task model and separates two questions that are easier to understand independently: which direction to cut and where to place the cut.

The first version let users drag the section plane directly in the 3D canvas. This matched common direct-manipulation patterns in 3D software and made motion easy to understand, but internal testing showed that it did not work well for drafting tasks that require precise positioning. Users could tell roughly where the plane was, but not exactly where it was.
I therefore separated the responsibilities of the controls and the canvas:
This preserved immediate spatial feedback while meeting the precision requirements of CAD-oriented work.
Moving the controls into a panel introduced a second issue: a floating panel occupied model space, especially on smaller screens. We considered drag-to-reposition and minimize behaviors, but both would still make users manage the overlap themselves. The final solution integrated the contour controls into Scanat’s existing collapsible right-side panel, so they could be expanded when needed and hidden when not in use.

A contour is not limited to a single direction or a single section plane. Users can choose Plan, Front Elevation, or Side Elevation, then add the corresponding section planes within the current model as needed. A single contour can also include multiple section planes.
For that reason, multi-plane management stayed within the same model context instead of becoming a set of separate pages. While adjusting one plane, users can still see the model, other section planes, and the current contour together. The goal was not to build a complex object manager, but to keep multiple spatial states understandable around one shared model.
https://res.cloudinary.com/v7b2p5ho/video/upload/v1786935043/i4rxwmzj2rpy0olbfuch.mov
The original problem was very specific: the CAD team already had Scanat’s 3D models, but still had to manually redraw some 2D sections by referencing those models.
The product boundary was therefore not to complete the entire 2D drafting workflow inside Scanat. Instead, we used Scanat’s existing 3D geometry to automate the most repetitive step: users choose a direction and section position, Scanat generates the 2D contour, and the result is exported as DXF for continued editing in the existing CAD software.
This boundary let Scanat focus on the part where it had the strongest data advantage—3D → 2D geometry extraction—while preserving users’ mature CAD workflow instead of duplicating an entire professional drafting tool.

