<- Back to the project page
Student Guide

Simple instructions for using Construct3D in class

Construct3D follows a selection-action workflow: first select the geometric objects you want to use, then activate the construction or analysis command from the menu. The order of selection matters for several tools.

1. Hold the menu in the non-dominant hand Use the handedness toggle in the System tab if you want to swap menu hand and controller pen fallback.
2. Create or select with the stylus Either MX Ink barrel button creates points, selects geometry, and drags points. A Quest controller provides the same pen-tip fallback.
3. Select first, then activate the tool Most commands need the correct input objects before the button is pressed.
4. Leave the menu after every action Move the stylus/controller tip fully out of the menu before selecting another tab or button.

Quick start

Hold the tip 1-5 cm above a button to read its input-output help, then poke the button. After each tab or button action, pull the tip roughly 5 cm in front of the panel or move it past a panel edge to re-arm the menu. Select only the exact number and type of objects required by the command. Even one extra selected object prevents the operation from running.

Points

Creating and moving points

  • Press either stylus barrel button in empty space to create a free point.
  • For a constrained point, select exactly one ready curve or surface, then move the tip a little more than 3 cm away until its hover grid disappears.
  • A point-sized, 60%-transparent ghost point then shows where the constrained point will be created. If there is no preview, a press will not create that constrained point yet.
  • Press and hold either button on a point to drag it.
Selection order

When order matters

  • For some tools, the last selected object defines the interpretation.
  • Example: with two lines in the Revolution tool, the first line is the axis and the second is the profile.
  • In Helical Sweep, select the pitch point before the swept point or profile.
General tip

Think in geometric dependencies

Constructed objects stay live. If you move an input point, downstream lines, planes, surfaces, intersections, and differential geometry objects update automatically. Heavy geometry may temporarily look translucent while it is recalculated; wait until it becomes solid before selecting it again.

Interaction cues that prevent common mistakes

The visible state tells you what the next press will do.

One menu action per entry

  • A tab or button remains consumed while the tip stays inside the panel region.
  • Moving directly from one button to another does not trigger a second action.
  • Withdraw about 5 cm in front of the panel, or leave it at any edge, before the next poke.

Hover grid versus ghost point

  • Inside the 3 cm geometry-hover range, the grid means the next press selects or manipulates that object.
  • Outside that range, one selected curve/surface can show the ghost point for constrained placement.
  • Multiple selected placement targets, pending geometry, menus, tracking loss, or an unreleased button hide the preview.

Exact selection and dragging

  • Select only the objects listed for the operation. Additional selected objects make the input combination invalid.
  • Points have picking priority, then curves, then surfaces and solids.
  • Hold either barrel button while moving a point; release it to finish the exact update.
  • Use Deselect All in System when you need a completely clear selection.

Language and handedness

  • Construct3D starts in English every time.
  • The System Deutsch/Englisch button changes labels and help for the current run.
  • The handedness button moves the menu and swaps the controller pen fallback.

Create geometry

These tools are available from the Create tab.

Point

  • Press either stylus barrel button in empty space to create a free point.
  • Select exactly one curve or surface, leave its 3 cm hover-grid range, wait for the ghost point, then press to create a constrained point.
  • Intersection and curvature tools can also generate derived points automatically.

Line / Normal / Tangent / Angle Bisector

  • 2 points -> line
  • Point + surface or solid -> normal line
  • Point + circle / intersection curve / sweep curve -> tangent line
  • 3 points -> angle bisector (middle point is the vertex)

Plane

  • 3 points -> plane
  • 2 points -> symmetry plane
  • 2 lines -> plane
  • Point + line -> plane through point and line
  • Point + line (line selected last) -> normal plane
  • Point + surface -> tangential plane

Circle

  • 3 points -> circle
  • Center point + radius point + normal line -> circle

Ellipse

  • Center point + major-axis point + ellipse point -> ellipse

B-Spline curve

  • 2 or more interpolation points -> B-spline curve

Sphere

  • Center + point on sphere -> sphere
  • Center + 2 radius points -> sphere

Cylinder

  • Axis start + axis end + surface point -> cylinder
  • Axis line + surface point -> cylinder

Cone

  • Base center + apex + surface point -> cone
  • Axis line + surface point -> cone

Interpolated NURBS surface

  • 4 corner points -> NURBS setup
  • Choose U and V between 2 and 8
  • Create an editable interpolated NURBS surface with a real point lattice
Tip: after creation, move the generated lattice points to reshape the surface dynamically.

Operations

These tools are available from the Ops tab.

Intersect

  • 2 geometry objects -> intersection
  • Curve + any shape -> intersection point(s)
  • 2 surface or solid shapes -> intersection curve
Supported curves include lines, circles, ellipses, B-splines, existing intersection curves, and sweep curves.

Revolve

  • Axis line + profile curve -> surface of revolution
  • Profiles can be line, circle, ellipse, B-spline, or an existing intersection curve
If both selected objects are lines, the first is the axis and the second is the profile.

Sweep

  • Path line or curve + point -> sweep curve
  • Path line or curve + profile object -> sweep surface
If both inputs are curves, select the profile curve last. Line paths use the finite selected line segment.

Helical Sweep

  • Axis line + pitch point + point -> helix
  • 2 axis points + pitch point + point -> helix
  • Axis + pitch point + profile object -> helical sweep surface
Always select the pitch point before the swept point or profile object.

Boolean Difference / Intersection / Union

  • 2 solids -> boolean result
  • Supported operands: cone, cylinder, sphere, surface of revolution, and existing boolean objects

Differential geometry

These tools are available from the DiffGeo tab.

Frenet Frame

  • Point on curve + curve -> Frenet frame

Circle of Curvature

  • Point on curve + curve -> circle of curvature

Center of Curvature

  • Point on curve + curve -> center of curvature

Osculating Plane

  • Point on curve + curve -> osculating plane

Osculating Sphere

  • Point on curve + curve -> osculating sphere

Dupin Indicatrix

  • Point on surface + surface -> Dupin indicatrix
Supported surfaces include cone, cylinder, surface of revolution, NURBS, sphere, boolean surfaces, and sweep surfaces.

MultiUser sessions and voice

Use the MultiUser tab to host, browse, join, communicate, and leave a shared construction session.

Host, join, and user colors

  • Host Session creates a room; Join Session opens the available-room browser.
  • The Join Session browser remains open if you temporarily visit another menu tab. Return to MultiUser to continue choosing a room.
  • Users keep stable colors: user 1 blue, user 2 red, user 3 green, and user 4 orange.
  • The colors identify each user's geometry, stylus, remote head, and occupied participant button.
  • You see the other users' heads at their tracked eye positions, but never your own head model.

Voice versus microphone

  • Voice Off stops both incoming headset playback and your outgoing microphone audio.
  • Mic Muted stops only your outgoing microphone; you can still hear allowed remote participants.
  • Remote or not-yet-classified users default to voice on. If microphone permission is unavailable, voice remains receive-only.
  • Only users confirmed in the same shared-anchor room default to voice off. Your manual Voice/Mic choice then wins for that session.

Same room and remote rooms

  • Co-located users share one aligned workspace; remote users receive the construction at a useful position in their own room.
  • Network playback is suppressed between confirmed co-located users so they can talk directly.
  • A nearby microphone may still physically pick up another person or headset speaker. Use headphones or a designated room microphone if this causes echo for remote users.
  • Voice requires an EOS session; LAN fallback shares geometry without voice.

System and file tools

These commands help manage the current construction and the interaction setup.

System tab

  • Undo / Redo -> move backward or forward in scene history
  • Delete -> remove selected objects
  • Deselect All -> clear the current selection
  • Hide / Show All -> hide selected objects or reveal hidden ones
  • New Construction -> start with an empty scene
  • Exit -> close the application

Extra controls

  • Left / Right Handed Menu -> move the menu to the other hand and swap controller pen fallback
  • Deutsch / Englisch -> change all labels and help for this run; the next launch starts in English
  • Passthrough +/- -> change the passthrough brightness in steps of 0.1

Files tab

  • Save -> store the current construction
  • Load -> open the saved-drawings browser
  • Use the browser page buttons to move through stored slots
  • A drawing loaded in a different room is translated once to a useful position near the viewer; collaborators receive that same placement

Need deeper technical detail?

The full repository documentation covers setup, geometry objects, differential geometry, save/load, runtime architecture, and the OCCT bridge in much more detail.

  • Use this page as a compact classroom instruction sheet.
  • Remember the two distances: about 5 cm to leave/re-arm the menu, and more than 3 cm to leave a geometry hover grid for constrained-point preview.
  • Use the repository docs for setup, developer, and research details.