NASSCADIllustrated user manual · 4.7.0

← NASSCAD website · Download PDF · NassScript reference

NASSCAD

User manual

A CAD IN A BROWSER

Complete illustrated guide to the graphical interface

Version 4.7.0 - current application files reviewed on 5 October 2026

NASSCAD workspace with a selected part
NASSCAD workspace with a selected part

Create mechanical parts, assemble geometry, import CAD models and prepare files for fabrication. This manual covers the visible application, its generators, the sketcher and its file workflows.

NassScript has its own reference. Its API and programming language are deliberately outside this manual; the console, demonstrations and documentation entry points are covered here.

NassLab | nasscad.com

01 | Start NASSCAD

Online edition

Open nasscad.com and launch the browser application. The CAD workspace does not require an account. Wait for initialization before starting a heavy import or boolean. Some engines load only when their tools are first used, so the first operation can take longer.

Offline edition

Keep the complete distribution together: the HTM entry point, JavaScript modules, WebAssembly engines, fonts and supporting assets. The current edition is not a self-contained single HTML file. Moving only the HTM can leave buttons visible while their engines fail to load.

Use the launcher supplied with your package, if available. If browser restrictions prevent WebAssembly loading through a file URL, serve the complete folder locally. For example, with Python already installed, open a terminal in that folder and run:

python -m http.server 8080

Then open http://127.0.0.1:8080/NASSCAD_V4_7_0.htm. Keep the local server running while using the application. This serves files on your computer; it does not send your models to a CAD cloud.

Display and compatibility

Use a current desktop browser with WebGL and WebAssembly support. The dense workspace is designed around a 1920 x 1080 display or larger. On a smaller screen, reduce browser zoom or hide panels to make more room. Browser memory limits still apply even on a machine with abundant RAM.

02 | Understand the workspace

The main workspace
The main workspace

Five working areas

- Top bar: projects, import/export, quality, memory, timing, worker settings, units, panels, logs, script, help and theme.

- Tools panel, left: primitives, generators, editing, CSG, views, snap and file utilities. Hover an icon to read its tooltip.

- Viewport, centre: the model, work grid, axes, selection controls and navigation cube.

- Objects panel: scene objects, imported file groups, selection, per-object reset, pin and framing controls, plus geometry and history counters.

- Properties / CSG panel: name, appearance, numerical transforms, generator editing, alignment and boolean tools.

Status bar

Read the active tool, snap step, FPS and memory indication at the bottom. The memory indicator concerns browser-managed memory and the geometry pool; it is not a complete measurement of system RAM or GPU memory. Hover it for the available breakdown.

Welcome card

The empty-scene welcome card offers Interactive tutorial, Import a model, Open project and NassScript demo. Close the card with its cross when you want an unobstructed viewport. The tutorial provides guided actions; this manual provides the broader reference.

03 | Panels, themes and help

Panel visibility menu
Panel visibility menu

Arrange your workspace

Drag a floating panel by its title bar. Use its minimize control where provided. The title-bar cross hides the panel; it does not delete the model or terminate the application. Restore Tools, Objects, Properties / CSG or NassScript from Panels.

H toggles the panel visibility arrangement. Use this when inspecting a large model or presenting a finished part. Closing a panel and clearing a model are separate actions.

Day and Night

Use the theme command at the top right, or press N in the main workspace. The geometry remains the same. The sketcher has its own theme button and shortcut. Translucent UI cards can show the grid behind them; grid lines are scene guides, not edges in an exported part.

Integrated help and tutorial

Open Help for the built-in explanation, controls and licensing information. Start the interactive tutorial from the welcome card or its available help entry. Read each tutorial instruction, perform the action, then continue. Keep the tutorial and property panel from covering the part you need to click.

Tooltips remain useful for identifying small icons. This manual uses their names rather than relying on icon colour alone. A few older help descriptions differ from the current implementation; the behaviour explained here follows the reviewed application files and interface.

04 | Navigate and select

Camera gestures

GestureResult
Right mouse dragOrbit around the camera target
Middle mouse dragPan the camera view
Mouse wheelMove the camera closer or farther
Navigation cubeSwitch to the indicated orientation
Frame selectionCentre and size the view around selected objects

Important: Alt-drag is reserved for moving the grid and scene in this edition. Alt + left drag moves the grid and objects in camera-relative horizontal directions and Y; Alt + right drag moves them in XZ. Use middle drag for ordinary camera panning. The grid-reset tool restores a displaced scene reference.

Object selection

Click a part once to select it. Click empty space to deselect. Click a row in Objects to select a part that is hidden behind another one. Shift + click or Ctrl + click adds or removes an object from a multiple selection.

Drag a rectangle from empty space to select objects by their projected screen bounds. Hold Shift to add the rectangle selection to an existing selection. Box selection works on projected object bounds, not on individual faces or vertices.

Dragging a selected part moves it on the XZ work plane. With several objects selected, the group moves together. Keep the pointer away from an active handle or rotation ring when you intend to translate.

Recover your view

Select the relevant object in Objects and use Frame selection. Use Reset camera, Top view or Front view if the orientation becomes confusing. The Scale selection controls change geometry; the Camera controls change wheel sensitivity. They are different tools.

05 | The double-click cycle

Four successive double-click states
Four successive double-click states

One selection, four display states

A single click selects a part. Each subsequent double-click on the selected part's surface advances the control display:

1. Handles: resize controls and the green Y lift control.

2. Dimensions: dimension lines and editable size labels.

3. Rotation gizmos: rings for rotating the selection.

4. None: the part stays selected, with these editing overlays hidden.

Double-click again to return to Handles. This is a cycle, not four separate selection commands. Clicking a different part resets the context. Clicking empty space clears the selection. When several objects are selected, double-clicking a member can preserve the group; clicking an unrelated part selects that part instead.

Use the right control

Drag the XZ resize handles to change the part's dimensions. Use the height handle to change its local height. The green lift arrow translates in Y; it does not stretch the part. Click a dimension label, enter a value and commit the input. Rotation rings change orientation, and a group rotation preserves the relative arrangement around the group centre.

06 | Position, rotation, dimensions and units

Selected part properties
Selected part properties

Numerical editing

Select a part, enter a number in the appropriate field and press Enter or leave the field to commit it. A typed value that has not been committed may not yet affect the geometry. In a multiple selection, the numerical transform fields describe the active, last-selected object. Use group dragging, rotation or alignment when you intend to affect the group.

FieldMeaning
Pos X / ZHorizontal object placement
Pos YBottom of the world bounding box relative to the work plane
Rot X / Y / ZOrientation in degrees
Dim X / Y / ZIntrinsic dimensions along the part's local axes
Bbox X / Y / ZRead-only dimensions of the world-axis bounding box

With an unrotated part, Dim and Bbox can agree. After rotation, Bbox can grow while the intrinsic dimensions stay unchanged. For example, rotating a square plate about Y does not change its side length, but changes its world XZ footprint. Negative Pos Y is useful for cutters that must extend below the work plane.

Display units

Choose mm, in or ft in the top bar. Position and dimension input converts between the displayed unit and internal millimetres; changing the unit does not rescale the model. Generator and section dialogs that explicitly say mm still expect millimetres. Read the unit beside the field.

The main positional precision reaches 0.001 mm in this interface. This is input precision, not a guarantee of manufacturing accuracy or of a tessellated surface's deviation from an ideal curve.

07 | Snap and object sizing

Grid snap

The snap control cycles through 1, 0.5, 0.1, 0.01, 0.001 mm and OFF. The five direct step buttons select a value immediately. The status-bar snap indication shows the current state; click it to cycle, or use its context menu to choose precision.

Use a large step for rough placement and a smaller step for finishing. Snap controls interactive movement; it is not an assembly mate or a permanent relationship between parts. The sketcher's grid and geometry snaps are configured separately.

Scale selection

The first VIEW row contains /5, /2, 1x, x2, x5 and x10. These controls proportionally change the selected geometry. With a group, the arrangement scales around the group centre. 1x restores the original size reference; it is not a fit-to-screen command and should not be treated as a universal undo.

Camera sensitivity

The second VIEW row has the same numerical factors but camera icons. It changes the size of wheel zoom steps. Use /5 or /2 for close inspection, x5 or x10 for large scenes. Clicking an active non-normal setting returns to normal. This changes neither dimensions nor export scale.

Resolution controls

The Properties resolution slider selects 8, 16, 32, 64, 128 or 256 segments for spherical-aspect primitive creation. It also rebuilds a selected sphere or half-sphere. Generator-specific quality, top-bar CSG quality and top-bar STL export quality serve other stages. Increasing one setting does not restore curvature already lost in an imported mesh.

08 | Appearance and inspection

Name and appearance

Rename the selected object in Properties. Clear names make assembly rows, CSG trees and exported parts easier to identify. Use Color, Opacity and Material for appearance. The palette combines colour, shininess, specular colour and opacity, with metals, plastics, elastomers, composites, glass, wood, ceramics and stone.

Material is a visual preset. Choosing Steel or Aluminium does not assign density, strength, a manufacturing material specification or a simulation model. Per-face colour imported from STEP can coexist with object-level appearance; applying a uniform material can change the appearance you imported.

Lighting

The Light slider controls scene illumination. It is not a property of the selected material and does not alter the solid. Use it to make a silhouette or recessed feature readable before changing geometry unnecessarily.

Three inspection modes

ToolUse
WireframeShow the selected object's mesh structure
X-RayMake bodies translucent and reveal edges through them
Feature edgesEmphasize creases rather than every triangle

Wireframe reveals tessellation, which may contain many triangles on a smooth-looking surface. Feature edges provide a cleaner engineering view. X-Ray is useful for overlapping parts and internal cutters but can make depth ambiguous. Turn it off before judging the final silhouette.

Appearance settings are not a substitute for geometry checks. A transparent body can still be a Solid; a red Hole body is a boolean role, not simply a translucent material.

09 | Copy, reset and placement

Duplicate, Copy and Paste

Duplicate / Ctrl + D creates independent copies of the selection and offsets them in X so they do not coincide. Copy / Ctrl + C stores the selection in the application clipboard; Paste / Ctrl + V creates independent copies with an offset. This is object copying, not copying a screenshot or text to another program.

Copies retain relevant shape data and construction information, but are not linked instances: editing one does not parametrically update the other. After duplication, type the exact desired position instead of relying on the initial visual offset.

Pins and resets

Use Pin position to record the selected objects' current position reference. The pin control in an Objects row provides the corresponding per-object reference. Reset all pinned objects recalls their recorded positions. Reset all to original restores the import/creation reference for all objects, a broader action than resetting the selection. The reset arrow in an Objects row acts on that object.

Read the tooltip before choosing a reset: pinned position, original position, original size and camera reset are different references. Save a project before resetting a carefully assembled scene.

Ground and origin

Drop to ground places the selection on Y = 0 using its world bounds. Recenter origin on real center of gravity changes the pivot reference using the geometry's volume calculation while retaining the part's placement. It does not assign material density or calculate a multi-material physical mass model.

Use the Objects row's framing control or Frame selection to inspect a specific part without moving it.

10 | Align and measure

Alignment controls around a multiple selection
Alignment controls around a multiple selection

Alignment

Select at least two parts, then use Align or press L. The alignment markers provide minimum, centre and maximum references along X, Y and Z. Hover to preview an arrangement and click the required marker to apply it. Toggle Align again to leave this mode.

Alignment uses world-axis bounding boxes. It is convenient for matching bottoms, centres, tops and side extents. On rotated or irregular parts, a bounding-box reference may not be the face you intended. Inspect from another view after applying it.

Pair measurements

Select at least two objects and toggle Measure. The overlay displays a distance for each pair and a gap value. The distance is between the objects' origin/pivot positions. For ordinary centred parts this resembles centre-to-centre spacing; changing a pivot can change this reference.

The gap is calculated between world-axis bounding boxes. It is not an exact closest-surface measurement on curved or rotated bodies. Overlapping boxes can report gap 0 even when the actual surfaces do not touch. In the reviewed edition, these overlay labels are written in millimetres.

Pair distance and bounding-box gap
Pair distance and bounding-box gap

11 | Primitive catalogue

Create a starting shape

Click a PRIMITIVES icon to add its basic shape. Most ordinary primitives start around a 20 mm reference size and are selected on creation. Set Dim, Pos and Rot numerically for the finished dimensions. Creation places successive parts apart to reduce overlap; always confirm their positions before a boolean.

PrimitiveTypical use
CubeBlocks, plates, bosses and rectangular cutters
SphereBalls and spherical features; uniform X/Y/Z gives a sphere
CylinderPins, bores, shafts and round cutters
ConeTapers; use Cylind.Gen for independently controlled end radii
PyramidFour-sided taper or cutter
Triangular pyramid (tetrahedron)Isosceles triangular base and three triangular sides
Triangular roofRoof-shaped prism
Rounded roofCurved roof-shaped profile
Half-sphereDome or hemispherical feature
TubeHollow cylindrical part with configurable inner/outer diameter
Hollow boxRectangular hollow section with configurable wall thickness
Bevel / wedgeWedge-shaped solid or cutting tool

Shape and scaling

The triangular pyramid starts at 20 x 20 x 20 mm. Dim X sets its base width, Dim Z its base depth, and Dim Y its height. The apex sits vertically above the base centroid. It has four flat faces and is a closed solid for booleans and export. These default dimensions do not make a regular tetrahedron. For a regular tetrahedron with 20 mm edges, use X = 20, Y = 16.3299 and Z = 17.3205 mm.

Nonuniformly scaling a sphere creates an ellipsoid; scaling a cylinder differently in X and Z creates an elliptical section. Use a generator when a dimension has engineering meaning such as wall thickness, thread pitch or gear module. Ordinary scale fields stretch geometry; they do not independently maintain those design parameters.

Set Solid for retained material and Hole for a subtractive cutter. Newly created objects can inherit the current role. Verify the role after creation, especially when your previous operation used a Hole.

12 | Tubes and hollow boxes

Tube diameter dialog
Tube diameter dialog

Tube

Enter Outer diameter and Inner diameter, in millimetres. The inner diameter must be smaller than the outer diameter; both should describe a sensible positive geometry. Radial wall thickness is (outer diameter - inner diameter) / 2.

For a 20 mm outer diameter and a 10 mm bore, the wall is 5 mm. Create the tube, then set its height with Dim Y. Use the tube edit command offered for a selected tube when you want to change bore and outer diameter as shape parameters. A general size change can scale both walls and bore together.

Hollow-box wall parameters
Hollow-box wall parameters

Hollow box

The creation dialog asks for an Outer size and Wall thickness. It initially creates a square hollow section with outer walls, inner walls and annular end faces. Its central passage is open at both ends. The wall must leave a positive inner opening: an excessive wall makes the requested geometry invalid or removes useful interior space.

Change the parameters through the selected object's edit command when wall thickness matters. Independently changing Dim X/Y/Z stretches the result and can make wall thickness different along different directions. For a tray with a bottom, add and union a base plate, or subtract a pocket from a solid block while retaining a bottom thickness.

For a print, verify wall dimensions in a section or slicer. Visual transparency alone does not prove that a part is hollow.

13 | Work with generators

Common workflow

1. Open the required GENERATORS tool.

2. Read the parameter labels and units. Use sliders for exploration and numeric fields for exact values.

3. Inspect the preview and the triangle/vertex indication where provided.

4. Choose an appropriate quality, then Add to scene. Cancel discards the pending generation.

5. Select the created part and use Edit .gen params to return to its parameters.

Generator editing differs from a general transform. Changing gear module rebuilds the gear design; changing Dim stretches the existing geometry. Choose parameter editing when preserving thread, tooth or wall geometry is important.

Quality and validity

Higher segment counts make curves smoother and create heavier geometry. They cannot correct self-intersections, a wall thicker than its cavity or an impossible edge radius. Begin with moderate quality, validate the proportions and increase only where needed.

Generator parameters are retained in project data where supported. Save as JSON before performing a boolean if you want a simple independent design checkpoint. A boolean result has its own construction tree; it is not merely the original generator dialog with another name.

Role and placement

Check Solid/Hole and the created part's position after generation. Previews are modelling aids, not collision or manufacturing certification. Avoid forcing a higher quality solely because a surface is poorly lit.

The following chapters describe each generator exposed by the current GUI. They intentionally do not repeat the NassScript programming interface.

14 | Cubic.Gen

Cubic.Gen parameter panel
Cubic.Gen parameter panel

Dimensions and edge type

Set Width X, Height Y and Depth Z. Choose Beveled for flat chamfers or Rounded for curved edge transitions. The size field controls Chamfer or Radius according to the chosen mode.

The edge treatment is generated as part of the shape. Use a value compatible with the smallest dimension. An edge radius that consumes half the thickness can leave little or no flat surface; an excessive value does not express a sensible block.

Segments

The segment choices include 1, 2, 6, 12, 24, 32 and 48. More segments improve a rounded transition's approximation. A planar bevel does not need many subdivisions to look flat. Read the preview's geometry count before increasing the setting.

Example

For a rounded equipment block, enter X = 60 mm, Y = 20 mm, Z = 40 mm, choose Rounded and start with R = 2 mm. Inspect the narrowest faces. Add it to the scene and place it with Pos. Reopen Edit .gen params to change the dimensions while keeping the radius explicit.

When to use Quick Fillet instead

Cubic.Gen treats the generated block's edge scheme. Quick Fillet can select individual edges, combine different finishes and work on an existing boolean result. Choose it when you need only the top perimeter or different treatment on an inner pocket.

15 | Cylind.Gen

Cylind.Gen controls
Cylind.Gen controls

Main dimensions

Height H, Top radius Rt and Bottom radius Rb define a cylinder or truncated cone. Radii are half diameters: Rt = Rb = 10 mm gives a 20 mm diameter body before edge treatment.

Choose Beveled or Rounded for the circular end transitions. Separate top and bottom treatment values allow different ends. Keep those values compatible with the height and end radii; two large treatments can collide or eliminate the straight body.

Two quality settings

- Chamfer / edge segments: subdivisions in the edge transition, especially useful for rounded ends.

- Facets: angular subdivisions around the body, from the available low-poly choices up to 128.

A low facet count deliberately produces a polygonal body. Increasing transition segments without increasing body facets does not make its circumference circular.

Example

For a tapered spacer, use H = 25 mm, Rt = 8 mm, Rb = 12 mm and a modest end chamfer. Add a concentric cylinder as a Hole and subtract it for a bore, or use Tube for a straight hollow cylinder.

General Dim scaling can change the taper or circularity. Reopen the generator when you need to preserve the relationship between height, radii and edge treatment. Save the resulting part as a project before downstream finishing.

16 | Tore.Gen

Torus ring and tube parameters
Torus ring and tube parameters

Ring radius and tube radius

Ring R is the radius from the torus centre to the tube's centreline. Tube r is the circular cross-section radius. For an ordinary ring, keep R greater than r.

The outside diameter is 2 x (R + r), and the clear inside diameter is 2 x (R - r). For R = 34 mm and r = 5 mm, the outside diameter is 78 mm and the inside opening is 58 mm.

Resolution

Ring N divides the large circular path. Tube M divides the small circular section. These multiply together: raising both can rapidly increase the mesh size. A large ring needs sufficient N to avoid a polygonal silhouette; a thick tube needs sufficient M to render its section smoothly.

Uses

Use a torus for a ring, rounded bead, sealing-ring visualisation or cutting shape. Its geometry does not define an elastomer material specification or guarantee that a seal will fit a groove.

Add the result, position it and rotate it if its default plane is not the required plane. Reopen its generator to change radii. Nonuniform scaling can produce an oval ring or an elliptical tube section, which no longer has the original circular design dimensions.

17 | ArcSphere and RevSolid

ArcSphere radius, arc and sampling
ArcSphere radius, arc and sampling

ArcSphere.Gen

Set the sphere Radius R, the longitudinal Arc in degrees and the longitude/latitude subdivisions. The arc ranges from 1 to 360 degrees, with shortcut presets including 90, 120, 180, 270 and 360. A partial arc is a closed spherical sector with end caps, not merely a visually clipped sphere.

Increase longitudinal and latitudinal sampling together when both silhouette directions require it. A tiny arc with a very large segment count can be unnecessarily heavy. Reopen the generator to retain the sector angle while changing its radius.

RevSolid arc controls
RevSolid arc controls

RevSolid.Gen

The current dialog exposes Radius R, Height H, Arc and Radial facets. It generates a closed cylindrical sector through the selected angle, up to a complete body at 360 degrees. End caps close a partial sweep.

This GUI does not provide a custom drawn profile editor for revolution. Use Sketch.Gen for arbitrary planar contours and extrusion; do not expect a sketch profile to be automatically revolved by this dialog. Radial facets control the angular approximation. R is a radius, not an outside diameter.

Use a sector as a retained solid or a Hole cutter. Check its placement and orientation before combining it with other parts.

18 | Pipe.Gen

Pipe.Gen path and wall parameters
Pipe.Gen path and wall parameters

Section and bends

Outer radius and Thickness define the tube section. The inner radius is outer radius minus thickness. Keep it positive for a hollow pipe. Bend radius controls the curved transitions between path segments; a tight bend relative to the section can create problematic geometry.

Three-segment path

The GUI describes three lengths separated by two turns:

- Len 1, Len 2, Len 3: straight portions of the path.

- Turn 1 Y / Z and Turn 2 Y / Z: angular changes controlling the two bends in space.

Change one turn at a time while watching the preview. Several strong turns can bring different portions of the tube into contact. The preview does not enforce a pipe-routing clearance specification.

Subdivisions

Longitudinal subdivisions sample the path and bends. Radial subdivisions sample the circular section. The implementation maintains a continuous frame along the path to avoid arbitrary section twisting. These controls improve tessellation, not wall-thickness tolerances in a manufactured bend.

Workflow

First set a plausible wall and path, then adjust bend angles, then increase quality. Add the result and position it with the main properties. Use Edit .gen params for a new wall thickness or bend radius; ordinary nonuniform scaling can distort the section and wall.

19 | Gear.Gen and mating gears

Gear parameters with mating-gear options
Gear parameters with mating-gear options

Tooth geometry

Choose Straight (spur), Helical or Herringbone. Select module in millimetres, teeth count, thickness, shaft-hole radius and helix angle when relevant. Shaft hole R is a radius: 6 mm means a 12 mm diameter bore.

For a straight gear, pitch diameter is module x teeth. A module-2 gear with 24 teeth has a 48 mm pitch diameter. Pitch diameter is not its outside diameter. The generated involute profile is intended for the module-based gear system; this dialog is not a catalogue of every industrial tooth standard.

Backlash

Backlash is tooth-space clearance at the pitch circle. Zero is the theoretical CAD configuration. The GUI suggests approximately 0.05 to 0.20 mm for a practical pair, but the right allowance depends on process, size and material. Inspect and test a physical pair rather than treating a default as a fit certificate.

Generate the mating gear

Check Generate the mating gear. Choose a ratio preset or set the mate teeth count. The application places the mate at the corresponding centre distance and clocking. For straight gears with module 2, z1 = 24 and z2 = 48 give pitch diameters 48/96 mm and centre distance 72 mm.

Keep mating module and profile compatible. A generated pair is geometry and placement, not a kinematic assembly with a live driving motor or permanent mate constraint. To animate it, use the separately documented NassScript workflow.

Quality controls radial/involute sampling. High teeth counts and helical sampling can produce large meshes; review the count before adding.

20 | Pulley.Gen

V-groove pulley settings
V-groove pulley settings

Enter the pulley mode

Open Gear.Gen and switch to the Pulley tab. Choose V-groove or Timing belt. Both modes expose outside diameter, thickness and shaft-hole radius.

V-groove

Set the groove's depth and width. Keep enough material between the groove root and the bore. A groove deeper than the remaining radial wall is not a usable design. The thickness must accommodate the requested groove and its side faces.

Timing belt

The current timing mode produces its built-in toothed outline from the exposed dimensions. It does not expose a separate tooth-count, pitch or named belt-profile selector. Do not infer GT2, HTD or another commercial belt standard merely from the Timing belt label. Verify profile compatibility before manufacturing a mating transmission.

Timing mode's actual exposed controls
Timing mode's actual exposed controls

Finish the part

Choose quality, inspect the preview and add it to the scene. The shaft field is R, not diameter. A 5 mm shaft bore needs R = 2.5 mm. Reopen the generator to change the groove or bore; general scale changes stretch the tooth or groove profile as well as the body.

There is no belt-tension calculation, belt-length solver or belt animation in this dialog. A belt and assembly animation can be modelled separately.

21 | Screw.Gen

Screw.Gen thread, head and end settings
Screw.Gen thread, head and end settings

Match the thread specification

Choose Metric ISO 68-1 or the imperial UNC / UNF system, then a size. Metric choices extend from M2 to M24 in the offered series. Choose Coarse, Fine, Custom or Plain. Custom exposes pitch; Plain removes the threaded form. Imperial pitch follows the selected thread series.

Set thread right-hand / left-hand and length. Use the matching system, size, pitch and hand for the nut. A nominal diameter alone does not ensure compatibility.

Head and ends

Head options include None, Hexagonal and socket-head CHC. Select the end-chamfer option for the ISO 4753 style termination. The Higbee / blunt-start option modifies the start of the thread. These are generated shape choices; they do not certify a strength class or an industrial fastener specification.

Clearance

Screw clearance is radial and reduces the external thread. Zero gives the theoretical CAD dimensions. The UI offers typical FDM starting allowances, but fit depends on printer calibration, orientation, material and size. Increasing radial clearance by 0.10 mm reduces a diameter by approximately 0.20 mm.

Resolution and editing

Radial choices include 32, 48, 64 and 96. Long fine-pitch screws can be heavy because the thread has many turns. Start with moderate quality. Add the screw, then use Edit .gen params to change pitch or length. Stretching Dim Y stretches pitch as well as length, so use the generator for thread-correct changes.

22 | Nut.Gen and thread fit

Nut.Gen parameters
Nut.Gen parameters

Specification and body

Choose Metric ISO or the offered imperial system, a size, coarse/fine/custom pitch and thread hand. Choose ISO 4032, ISO 4033 Tall or Custom body height. Use the chamfer switch for the 30-degree body treatment and the blunt-start option when wanted.

The size determines the nominal thread; body style determines the exterior and height. Do not change the thread diameter by scaling the entire nut if you need to retain a standard across-flats dimension.

Internal clearance

Nut clearance is radial and enlarges the internal thread. A screw's clearance reduces its external thread. If you add clearance to both, their contributions combine. Avoid applying the same desired final gap independently to each side without accounting for that sum.

For a trial M6 pair, start with matching metric size, coarse pitch and right-hand threads. Choose an allowance based on your actual manufacturing process. Print or machine a short test pair before committing to a complex assembly. The visual mesh and nominal thread standard cannot predict an uncalibrated printer's fit.

Quality and checks

Choose 32, 48, 64 or 96 radial subdivisions. Inspect the bore with X-Ray or a section, then inspect the exported mesh in the receiving program. Save both parts as a JSON project so their exact generator settings remain accessible.

NASSCAD generates the geometry; it does not perform fastener strength, fatigue or torque calculations.

23 | Straight and curved 3D text

Straight text creation
Straight text creation

3D Text

Enter the text, select a supplied font and set Size and Thickness in millimetres. Choose Create. The current GUI provides these controls; it does not expose a separate bevel setting. Supplied families include Helvetiker, Optimer and Gentilis in their available regular/bold variants.

Font availability and character coverage determine which glyphs can be generated. If a character is missing, test a supported Latin character or another supplied font before assuming the solid failed.

Curved text settings
Curved text settings

CircularText.Gen

Set text, font, size, thickness and Curvature. Curvature changes the arch/smile arrangement of the letters. Use zero for a straight arrangement and inspect the preview as the curvature increases. This is a curved letter arrangement, not automatic wrapping onto an arbitrary imported surface.

Emboss or engrave

Place the text so it overlaps the base by a deliberate amount. Keep it Solid and Union for raised lettering. Set it Hole and combine with the base for engraved lettering. A text body merely touching a surface can create fragile or ambiguous geometry; overlap it sufficiently for the intended operation.

Verify thin strokes and internal letter holes at the final scale. Increasing tessellation cannot thicken an unprintably narrow letter stroke. Save a checkpoint before merging the lettering into its support.

24 | Sketch.Gen workspace

Sketch.Gen with a rectangle and an inner circular contour
Sketch.Gen with a rectangle and an inner circular contour

Enter and navigate

Open the 2D Sketcher tool. It provides a drawing canvas, entity list and properties on the left, drawing/edit tools along the top, constraint actions on the right and a status bar. The main 3D workspace stays behind it.

Use the mouse wheel to zoom and middle drag to pan. Fit / F frames the drawing. Select an entity on the canvas or in the entity list. Shift + click selects several entities. Drag selection grips to move points or edit a shape, unless the entity is Fixed.

Snaps

Toggle Grid, Endpoint, Midpoint, Center and Intersection according to the task. Endpoint snap is particularly useful when closing line and arc chains. A visually near endpoint can still leave a topological gap, so inspect the snap indication.

Properties and history

The left properties describe the selected entity. Use them for exact coordinates, radius or other displayed shape values. The sketcher has its own Undo/Redo operations and shortcuts while it is open. Clear removes the drawing; it is not the same as returning to the 3D scene.

The sketcher's theme and grid are separate controls. Close returns to 3D without being an extrusion command. Use Extrude to scene when you want to create solid geometry from the drawing.

25 | Sketch drawing tools and numerical entry

ToolMouse sequence
PointClick to place a point
LineClick start, click end; continue the chain
RectangleClick two opposite corners
CircleClick centre, then click a radius point
ArcClick start, end, then a point on the desired arc
BezierClick start, end, then the two control points

The current circle, arc and Bezier tools use clicks, not the drag sequences described in some older help text. An arc requires three non-collinear points. The third point selects the curvature and which sweep passes through it. Bezier controls determine the curve rather than being extra points on the curve.

Typed dimensions during drawing

After the initial point of a supported tool, type a number and press Enter:

- Circle: a radius, for example 5 for a 10 mm diameter hole.

- Rectangle: width,height, for example 40,30; a single number produces equal dimensions.

- Line: length,angle in degrees, for example 25,90. A length alone uses the current pointer direction.

Use a decimal point inside numbers; the comma separates paired values. Rectangle numerical entry extends in the positive sketch directions from its first corner. Numeric completion is implemented for these three tools; do not assume that an arc or Bezier accepts the same command format.

Press Escape to cancel the current drawing sequence. Finish a closed chain by snapping its end to the starting point. Switch back to Select before editing entities or their properties.

26 | Sketch editing and constraint actions

Trim, Extend and Fillet

Trim removes the clicked portion between intersections. A rectangle can be broken into separate lines during trimming. Recheck closure afterward. Extend lengthens the selected end of a line or arc to a relevant intersection; it is not a general Bezier extension tool.

For a 2D Fillet, set R, choose the tool and pick two suitable lines. A valid corner and enough line length are needed. Parallel/collinear lines, fixed geometry or a radius too large for the corner can prevent completion. This edits the sketch; Quick Fillet edits edges of a 3D body.

What the constraint buttons currently do

ActionCurrent behaviour
Horizontal / VerticalAdjust a selected line's endpoints to the orientation
FixedMark an entity fixed and prevent interactive movement
EqualMatch supported line lengths or circle/arc radii to the first reference
Parallel / PerpendicularOrient selected lines relative to the first reference
TangentPosition a supported line tangentially to a circle/arc
CoincidentSnap compatible selected geometry together
Concentric / DimensionRecord a constraint tag in this edition; no geometric solving action

Most of these are applied adjustments, not a persistent network of solved parametric relationships. Editing one entity later does not automatically propagate every tagged relationship to other geometry.

Use the entity property fields for controlling numerical dimensions. Do not rely on Concentric or Dimension to solve a sketch in this build. Select the intended reference first when an action uses multiple entities, then inspect the resulting geometry before extrusion.

27 | Extrude a sketch

The closed profile becomes a 3D plate with a hole
The closed profile becomes a 3D plate with a hole

Closed profiles become solids

Draw a closed outer contour. A closed circle, rectangle or joined line/arc/Bezier chain can form a boundary. Nested closed contours create inner openings; separate closed outer contours can create several objects. An isolated point or an open chain is not an area to extrude.

Set Extrude H in millimetres, then use Extrude to scene. The 2D contour maps to the horizontal XZ plane and the extrusion extends in Y. After creation, use main Pos and Rot to place the part. Confirm its Solid/Hole role because the creation mode can be inherited.

Example: 40 x 30 mm mounting plate

1. Start Rectangle, click the first corner and enter 40,30.

2. Start Circle, place its centre inside the rectangle and enter radius 5.

3. Use the entity properties to set the circle's exact centre if needed.

4. Set H = 6 mm and extrude. Inspect the through-hole from Top and an oblique view.

Re-editing

Select the extruded sketch object and choose Edit 2D Sketch. Update the contour and extrude through the editing workflow. Keep a saved JSON checkpoint before a substantial contour change.

If extrusion fails

Look for unjoined ends, overlapping duplicate segments, self-intersections, a hole outside its outer boundary, or touching nested contours. Trim can open a formerly closed loop. Use endpoint snap and numerical properties to repair the profile. A dense curve sample cannot repair an open contour.

28 | Boolean CSG operations

A solid block and a red cutting cylinder
A solid block and a red cutting cylinder

Select the operands

Select at least two intended objects. Use Shift/Ctrl selection or the Objects list; avoid including nearby spare parts. Set retained bodies to Solid and cutters to Hole.

CommandResult with ordinary solid operands
UnionRetain the combined volume
SubtractRemove the later operands from the first operand
IntersectRetain shared volume

Mixed Solid/Hole selection is special: the current implementation performs a solid-minus-holes operation when both roles are present, regardless of the Union/Subtract/Intersect button used. Solids are ordered before cutters. To perform an ordinary intersection, make every selected operand Solid first.

Browser and native engines

Booleans work in the browser with Manifold WASM. MEDUSA is optional and adds native multicore processing. The engine indication in the CSG panel reports the chosen route. The first browser operation may load its engine.

Wait until refinement finishes. A coarse progressive preview is not the final result. Imported non-manifold geometry is warned about but can still be attempted; success is not guaranteed. Repair open or self-intersecting geometry upstream when required.

Finished through-hole
Finished through-hole

Union can retain disconnected components as one scene object; it does not necessarily bridge them. Intersect can be empty when there is no shared volume. Coplanar contact without overlap is often a poor subtractive construction; extend the cutter beyond the target faces.

29 | CSG trees, replay and ungrouping

CSG information and construction tree area
CSG information and construction tree area

Construction tree

Select a CSG result and use Tree. Its stored operation and operands are shown in the CSG information area. Nested operations retain a construction history. This is specific to CSG and differs from the application's chronological Undo journal.

Replay commands

- Re-run: replay one level of the selected result's construction.

- Deep Re-run: evaluate the full stored construction from its leaves.

Use these for rebuilding a construction, including when quality or source geometry warrants a new calculation. A replay is not a manual promise that every imported tessellated source regains exact analytic surfaces. Wait for the engine to finish and inspect the result.

Ungroup commands

- Explode / Ungroup: restore the immediate operands without merging them again.

- X-Deep / Recursive ungroup: restore the construction recursively to its leaves.

The original operands' placement is carried through the result's transforms. Ungrouping does not automatically spread the parts apart for a presentation view. Translate them yourself if you want an exploded assembly illustration.

Edit an intermediate design

Save a JSON checkpoint. Ungroup the appropriate level, modify the restored operand, select the intended solids/cutters and calculate the desired operation again. Check each operand's role rather than assuming that every restored child is a retained solid.

Undo can restore a construction stage while its journal remains available. Keep a saved file when you need a durable earlier version across New, Load or browser storage changes.

30 | Quick Fillet: rounding edges

Quick Fillet round mode
Quick Fillet round mode

Open and choose edges

Select a suitable part and open Quick Fillet. The tool uses the OpenCASCADE B-Rep kernel. Choose Round, then a constant radius or a variable-radius setting. Use all sharp edges when you want broad treatment, or use Pick edges for a controlled subset.

Click an edge to pick it; click again to remove it. Drag across edges to paint a selection. Top, Bottom, Corners and Concave add their corresponding edge sets. Clear removes picks and frozen groups. Sharp-edge detection concerns geometric creases, not every triangle in the display mesh.

Constant and variable radius

A constant R gives one radius along an edge. Variable mode transitions from R1 to R2; the end nearest your pick receives the starting radius. Swap reverses the direction. A closed loop returns to its starting value through the configured variation.

Corners / edge ends

Choose Same, Sharp, Round or Bevel for the vertical corner edges. Round and Bevel use their own corner value. Corners can be treated before the edge finish so that a plate perimeter runs around them.

Apply

Use Apply selection for picked edges/groups; unpicked edges remain sharp. All sharp edges executes the broad finish. Segment choices control the displayed result's tessellation. They do not increase the maximum feasible radius.

If the operation fails, reduce the radius, finish fewer edges or simplify the geometry. A fillet may be impossible where adjacent faces are too small. Existing tessellated cylinders are not automatically reconstructed as perfect analytic cylinders.

31 | Quick Fillet: chamfers, groups and presets

Chamfer mode and corner options
Chamfer mode and corner options

Chamfer types

TypeParameters and reference
d x 45 degreesEqual-distance symmetric bevel
d1 x d2Two distances on the reference face and the neighbouring face
d x angleDistance on the reference face and angle to that face
Throat aConstant throat; optional penetration on the reference face

For asymmetric finishes, the clicked face defines the reference. A preset such as Top or Bottom supplies its corresponding horizontal reference. Use Swap when the distances or angle are applied to the opposite face from the one intended.

Several finishes in one run

Pick a first set of edges and set its finish. Use + Group to freeze those picks with their current settings. Change the finish, pick a new set and freeze it if needed. Apply selection processes the stored groups and current picks in one B-Rep workflow. Clear removes both picked edges and groups.

The colours distinguish convex, concave, hovered, picked, grouped and automatically treated corner edges. Use the legend rather than assuming a selection from colour alone.

Presets

The preset menu offers starting recipes for top fillets, top chamfers, rounded/bevelled corners, double finishes, variable fillets, inner chamfers, multiple radii and angled chamfers. Selecting a recipe sets parameters and edge choices; inspect its applicability to your part before applying.

Save before an elaborate finish. Exit closes the tool; use Undo for a completed unwanted operation. Tight inner corners and imported open meshes may need geometry repair rather than a different preset.

32 | Import meshes

Import formats
Import formats

Import workflow

Open Import, choose a format or All, and choose a local file. Import adds model geometry to the scene. If you want a clean workspace, save your current scene and use New first. After import, select the object or file group, frame it, check orientation and check a known dimension.

FormatPractical characteristics
STLBinary/ASCII triangle geometry; no reliable unit declaration or standard colours
OBJWavefront geometry; do not assume that a separate MTL/texture package is reproduced
3MFManufacturing container, useful for slicer-oriented models
GLB / glTFglTF 2.0 geometry, including supported Draco-compressed input
PLYMesh and scan-oriented vertex/face geometry

Prefer a self-contained GLB when a glTF model otherwise needs companion resources. Keep such resources together and verify the imported appearance. An unsupported texture or external reference is not necessarily an absent geometric part.

Units and mesh quality

STL coordinates have no inherent engineering unit. Changing Unit to inches changes display, not the imported object's physical scale. If a known 25.4 mm feature appears as 1 mm, scale the geometry deliberately and recheck it.

Mesh imports can contain open edges, non-manifold topology or self-intersections. View the part with Feature edges or Wireframe, inspect the log and test the required downstream operation. Importing a mesh does not convert every triangle into an original parametric feature or restore cylinders, thread specifications and sketch history.

33 | STEP files and assemblies

Formats and representations

The import accepts common STEP AP203, AP214 and AP242 files, including the offered .step, .stp, .p21, compressed .stpz and supported XML/container variants. Actual content and implementation support matter as well as the extension.

STEP is used for CAD solids and assemblies. The browser displays tessellated geometry produced from the imported representation. A smooth-looking screen surface and the underlying exact CAD representation are different things.

Assembly workflow

1. Import the file and wait for body processing to finish.

2. Expand its file group in Objects. Select a body by its row when the exterior hides it.

3. Frame the body or several selected bodies.

4. Inspect names, colours, dimensions and placement before changing them.

5. Save a JSON scene checkpoint and keep the original STEP source alongside it.

MEDUSA and fallback

With a compatible MEDUSA running locally, the application can use native STEP processing, richer colour data and native representation references. Without it, the in-browser import path remains available but can have greater limits in speed, file size and colour/assembly interpretation.

There is no universal maximum STEP size that guarantees success: body count, surface complexity, tessellation and browser memory all contribute. Cache hits can make repeated imports faster. The cache is a performance aid, not a durable archive.

Preserve exact source data

Keep the original STEP file when an exact downstream native export matters. A JSON scene stores the working model but does not guarantee preservation of every original CAD/PMI entity or a live native-engine reference after a restart. Nonuniform or mirrored transformations and missing native references can force tessellated export fallback.

34 | STEP PMI and engineering annotations

Find the PMI panel

When supported PMI is discovered, the application shows a PMI indication/count. Use that control to open its panel. Importing PMI does not automatically mean the panel is already open. Select relevant entries to inspect available annotations and their association with the displayed parts.

PMI can contain dimensions, datums, tolerances and presentation geometry. Semantic data and purely graphical presentation are not interchangeable. Some files provide a drawable annotation but lack a complete semantic value the importer can expose.

Read annotations in context

Frame the associated part, orient the view and inspect the overlay with the model. Part transforms are accounted for by the available presentation workflow. Distinguish an imported design annotation from the main workspace's temporary dimension labels or pair-distance overlay.

Current limits

Not every authoring system's PMI convention is decoded. Missing values, unsupported entities or annotations that have only presentation data can limit the result. The current source skips its PMI scan above a 64 MB file threshold; an absent PMI button on such a file does not prove the original contains no annotations.

This interface is a viewer for supported imported PMI. It is not a full PMI authoring or certification system, and a JSON/project round trip is not a guarantee that every annotation survives a subsequent CAD export.

35 | IFC and BIM geometry

Import

Choose IFC from Import. The application uses web-ifc for the offered IFC2x3, IFC4 and IFC4x3 geometry workflows. Imported elements become named scene objects under their file grouping. Geometry placement, colours and opacity are interpreted for display; model lengths are converted to the internal millimetre scale.

Use Objects to select a specific element. For a large building, frame a small selection instead of continually increasing camera sensitivity. Check a known dimension and the model's placement before combining it with mechanical parts.

What is retained

This is a geometry-oriented working scene. Do not assume a complete round trip of IFC property sets, type relationships, material associations, spaces, zones, systems or the original spatial hierarchy. A renamed object in NASSCAD is not necessarily an edited authoritative BIM element with all relationships retained.

Export

IFC export writes IFC4 with a Project > Site > Building > Storey organisation and scene objects as building elements. It uses millimetres. Eligible primitives can use analytic representations; other generated, boolean or imported mesh geometry uses tessellation. Colours can be represented, including available face colours.

The menu's Tessellated wording does not mean every eligible primitive is always triangulated, but it also does not promise that an arbitrary mesh becomes an analytic building component.

Verification

Open the exported IFC in the intended BIM viewer. Check scale, orientation, element count and the attributes you actually need. Keep the original IFC if its semantic building information is important. MEDUSA is not required for this IFC workflow.

36 | Save projects and manage history

Save project as

Use the top-bar command or the save icon to write a JSON project. It is the editable NASSCAD scene format, retaining geometry and supported object, generator and CSG construction data. Browser support determines whether you get a native Save As picker or a downloaded file.

Use meaningful versioned names such as bracket-01.json, bracket-02-holes.json and bracket-03-finished.json. Verify where the browser saved the file. A download completing is different from saving into the folder you originally expected.

Load project and New

Load project opens the saved scene. It replaces the working project rather than being a general mesh import command. New clears the scene after its confirmation when it contains objects. New and Load purge the current Undo journal. Save first when the current scene matters.

Undo and Redo

Use Ctrl + Z / Ctrl + Y or the EDIT buttons. The current application maintains up to 200 operations in its journal. A new editing action after Undo creates a new branch and clears the old redo continuation. The Objects counters show the available history.

Sketch editing has its own history while the sketcher is active. Camera navigation and visual settings do not necessarily behave as model edits in the history.

Browser storage

IndexedDB supports settings, journal data, logs and import caching. Browser quotas, private browsing and clearing site data can remove or limit that storage. It is not a replacement for files you save yourself. Do not rely on an old help mention of a separate project-library button when that control is absent from the current GUI.

JSON saves the CAD scene, not the currently running NassScript animation or the complete original STEP/IFC source package.

37 | Export scope and format choice

Export menu with scope and all formats
Export menu with scope and all formats

Check Include every time

Choose All design or Selected shapes at the top of Export. The menu defaults to Selected shapes when objects are selected and to All design otherwise. The object counts show the scope. This applies to project JSON as well as geometry formats.

Save project as is the straightforward full-scene checkpoint. Export > JSON can save only the selected subset when that scope is active. Do not accidentally archive one selected part as if it were the complete assembly.

OutputChoose it for
STL BinaryCompact triangle geometry for slicers
STL ASCIIHuman-readable STL, usually substantially larger
OBJGeneral mesh interchange
3MFManufacturing/slicer interchange with supported object colours
GLBCompact glTF 2.0 scene/model geometry
GLB DracoCompressed GLB where the receiver supports Draco
PLY BinaryMesh/scan interchange
STEPCAD interchange with the available native/browser representations
IFCBIM-oriented geometry exchange
Section SVG / DXFHorizontal 2D cut contours
JSONEditable NASSCAD scene or selected subset

Keep a JSON source and export a separate fabrication/delivery file. Mesh formats do not retain the original generator parameters and CSG edit workflow. Verify colour and material expectations in the receiving program rather than assuming all formats preserve the same appearance.

38 | Mesh export quality and fabrication

Quality at export

Top-bar STL quality offers 128, 256 or 512 subdivisions for supported curved primitive reconstruction during high-definition export. The export path can rebuild eligible primitives; existing imported or completed CSG meshes retain their available geometry unless rebuilt through a supported workflow.

Top-bar CSG quality controls boolean input sampling, not the same stage as final STL sampling. Generator quality is another input. A high export value cannot restore an analytic surface from a coarse fixed triangle mesh.

Slicer workflow

1. Save the editable JSON project.

2. Set the intended export scope.

3. Export STL Binary or 3MF.

4. Open it in the actual slicer.

5. Check a known dimension, orientation, walls, bores, disconnected components and the layer preview.

STL does not provide a reliable embedded unit declaration. NASSCAD's coordinates use millimetres; confirm the slicer's import assumption. Where the export format maps axes for a receiving convention, inspect the result instead of assuming the screen orientation is the printing orientation.

Physical fit

Thread and gear allowances are design choices, not automatic compensation for a specific printer. Thin walls, small letter strokes, unsupported overhangs and tight bores need manufacturing judgment. The build-volume preview checks a geometric envelope; it is not a slicer and does not generate toolpaths, supports or a process plan.

For CNC or laser use, inspect the exported section in the target CAD/CAM tool and apply the process-specific kerf, tool diameter and machining allowances there or in your design.

39 | STEP export options

STEP protocol and face-fusion dialog
STEP protocol and face-fusion dialog

Protocol

Select AP203, AP214 or AP242 according to the receiving software. AP242 can use compact tessellated representation where appropriate; AP203/AP214 use the available faceted B-Rep route for meshes. The chosen protocol does not convert every polygonal input into its original analytic surface.

Face fusion

Exact and Robust use their configured small tolerances for coplanar merging. Facets leaves individual triangles without that merge. A custom positive tolerance changes the merge/representation settings; it is not a machining accuracy certificate. Coordinates and declared uncertainty do not replace a geometric inspection.

Engine selection

A compatible, reachable MEDUSA with native STEP export capability is preferred. If it is absent or cannot accept the request before streaming, the in-browser writer is used. A native stream interrupted partway through is reported as an error rather than silently starting another heavy export. Inspect Logs when no file appears.

Exact data and fallback

Native export can preserve available referenced imported B-Rep. Missing references, unavailable source data or unsupported transforms can force a tessellated route. Non-watertight geometry can be written as an open shell rather than a closed solid. Read warnings and keep the original source STEP for exact continuity.

After export, open the file in the intended CAD system. Check body count, dimensions, colours and whether the receiver recognises a closed solid. A .step extension alone does not prove that all surfaces are analytic or every body is watertight.

40 | Export 2D sections: SVG and DXF

Section export plane and output controls
Section export plane and output controls

Horizontal cut plane

Choose Export > Section cut. Check Include and enter Y in millimetres. Y = 0 is the work plane; positive Y is above it. The plane intersects the selected scope's geometry horizontally and projects the contours into the XZ plane.

For a 12 mm-high plate starting at Y = 0, a section at Y = 6 passes through its interior. A section exactly coincident with a bottom/top face can be less useful than a cut through the solid.

Choose SVG or DXF. SVG includes physical millimetre dimensions; the receiving program must respect them. DXF contours should also be checked for units and size in the intended CAD/CAM program.

Troubleshooting

If the plane does not intersect any selected object, no useful contour can be produced. Check scope, Pos Y, height and rotation. A rotated part's useful cutting height may differ from its local height midpoint.

The section follows available geometry. Tessellated curved surfaces produce sampled contours. The exported section is not a silhouette of the complete scene, an arbitrary oriented clipping plane, or automatic nesting/kerf compensation.

Fabrication check

Open the output in the target program, measure a known edge or bore, inspect closed paths and remove unwanted contours. Apply laser kerf or milling-tool compensation in the appropriate process workflow. Preserve a JSON copy of the 3D model that produced the section.

41 | Build volume and grids

Build volume with the working scene
Build volume with the working scene

Printer envelope

Open the build-volume menu from EDIT. Choose a printer preset from the offered Bambu Lab, Creality, Prusa, Elegoo, Anycubic or open-source printer families. The menu displays each preset's envelope. Verify it against the actual printer configuration, particularly nozzles, restricted areas or modified machines.

The preview shows the bed and relevant walls; their visibility adapts to the view. Show ceiling adds the height boundary. Hide build volume removes the envelope without deleting parts. Out-of-bounds indications identify geometry outside the configured envelope.

Grids

The work grid is the modelling plane. The optional World grid provides a larger floor/wall/ceiling reference with an automatically chosen scale. Neither grid is exported as part geometry.

The combined hide tool removes build volume and world grid while retaining the work grid. The ordinary grid toggle changes work-grid visibility. Read the different tooltips so that hiding a large room grid is not confused with removing the modelling reference.

Placement check

Drop a print part to ground, inspect Bbox and rotate it to the proposed build orientation. A bounding envelope fitting the printer does not prove that an overhang is printable or that multiple parts will be separated by enough clearance for the slicer.

Build-volume presets are convenient visual references, not a machine connection or printer-control interface. NASSCAD does not send a print job through this tool.

42 | MEDUSA and the calculation architecture

What runs where

ComponentMain role in this edition
Browser / Three.jsWorkspace, display and interaction
Manifold WASMBrowser boolean geometry
MEDUSA native companionMulticore native booleans and additional STEP capabilities
OpenCASCADECAD/B-Rep workflows, including Quick Fillet and STEP processing
web-ifcIFC geometry import/export workflows

Use the optional native companion

The currently offered MEDUSA download is Windows x64. Extract its complete package, start the executable from the official distribution and leave it running. NASSCAD probes the local companion and reports its availability in the engine status and Logs. Use a compatible current build for newer STEP features.

MEDUSA is a local service, normally on the loopback interface at port 8765. It is separate from the optional local static server used to serve offline application files. Running one does not substitute for the other.

If it is not detected

Check that the executable is running, that its startup completed, and that another process is not occupying its configured port. Read the MEDUSA-related log messages. The browser can still run booleans through Manifold WASM; lack of the native companion is not by itself a modelling failure.

Model processing is local in these workflows. The online website can still have network activity such as loading application assets or optional audience analytics. Local processing of models and absence of all network connections are different claims.

43 | Performance, quality and memory

Choose the setting for the stage

SettingEffect
CSG 32/64/128/256/512Boolean sampling trade-off between curves and work
STL 128/256/512Supported curved primitive export sampling
Properties ResolutionPrimitive creation and supported live rebuilding
Generator qualityThat generator's mesh subdivisions
pi adaptive displaySize-dependent display sampling for supported curved primitives

The pi option is off by default in the reviewed edition and concerns display. Booleans use uniform sampling per operation. Keep quality moderate while arranging a complex model, then rebuild the required final geometry deliberately.

Pool, Watchdog and Workers

Pool reserves geometry storage; choices are Auto, 512 MB, 1 GB, 1.5 GB or 2 GB. Changing the pool setting requires a reload to apply the allocation. Save first. A failed large allocation can trigger a smaller fallback; read Logs.

Watchdog provides Auto or 60/120/300 second base timing choices for guarded calculations. A longer allowance permits a long operation to finish; it does not make the operation faster.

Workers offers Auto or x4/x6/x8. In the current implementation, manual changes update client dispatch thresholds immediately. Native CSG parallelism is handled by MEDUSA/TBB. The older tooltip saying a worker reload is required does not describe that current implementation.

Practical recovery

Reduce unnecessary subdivisions and object count, save milestones and process a manageable selection. Flush GeometryPool frees eligible unused storage; it does not delete active parts or act as a guaranteed release of all browser/GPU memory. Close obsolete large scenes only after saving them. Use a compatible MEDUSA for workloads that benefit from native processing.

44 | Logs and diagnosis

Console Logs with filters and export controls
Console Logs with filters and export controls

Open the journal

Use Logs in the top bar. Filters include All, Info, Warn, Err, CSG, IDB, MEDUSA, OK and detailed debug entries. Auto-scroll follows newly added events. The journal can show engine choice, processing times, memory fallback, imports, topology warnings and save/export errors.

Controls

- Clear logs: clear the displayed diagnostic list.

- Export logs .txt: save a readable diagnostic file.

- Copy logs: copy the current log text.

- Restore: recover the last stored entries available in IndexedDB.

- Pull MEDUSA log: retrieve it from the local engine when supported, or select an existing medusa-logs-*.txt file through the fallback.

Use the first meaningful error

If a tool fails, read the error together with preceding warning and engine messages. A subsequent generic failure can be caused by an earlier missing module or allocation problem. Preserve a JSON model and the relevant log when requesting help.

Warning examples include a non-manifold operand, missing exact STEP references, an impossible fillet or an interrupted export. A warning is not always a failed operation: an export may continue through a documented fallback. Inspect the produced file and the final success/error message.

Logs can contain filenames, object names and other model context. Review them before sharing externally. They are diagnostic information, not an automatic upload to support.

45 | NassScript, demonstrations and resources

Open the console

Use Script or restore NassScript through Panels. The console is the programming entry point into NASSCAD. It can create geometry, automate operations and animate a scene, but its API belongs to the dedicated reference.

Use Run / Ctrl + Enter for the console workflow and Stop for a running script. Stop can end supported running work and registered animation resources; do not expect it to restore the scene to its pre-script state or make a blocking synchronous loop interruptible while it prevents browser events from running. Save before running a script that changes your model.

Demonstrations

From the welcome card, NassScript demo offers the real-date Solar System and the original inline-four engine. Let their script assets load and use the associated control to stop the demonstration before resuming ordinary modelling. They create and animate their own scenes; keep a project checkpoint first.

These demonstrations illustrate procedural modelling and animation. They do not imply a built-in physics simulation, engine durability calculation or full astronomical ephemeris certification.

Further reading

- NassScript reference and demonstrations

- Official NASSCAD site and downloads

- NASSCAD YouTube channel

- Manifold project

For use, redistribution and commercial permissions, consult the current integrated licence and the official site. Appearance or file export does not override those terms. Contact information is available on the official site.

46 | Worked example: a block with a through-hole

Completed mounting block
Completed mounting block

Dimensions

Use millimetres. The target block is 40 x 12 x 30 mm along X/Y/Z, with a 10 mm diameter vertical through-hole at X = 0, Z = 0.

1. Create a Cube and rename it Mounting_block.

2. Set Dim X = 40, Y = 12, Z = 30. Set Pos X/Z = 0 and Pos Y = 0. Keep Solid.

3. Create a Cylinder. Set Dim X = 10, Z = 10, Y = 30. Set Pos X/Z = 0 and Pos Y = -5.

4. Set the cylinder to Hole. It now extends below and above the block instead of merely touching its end faces.

5. Select the block and cylinder only. Use Subtract. Wait for the final result.

6. Frame the result and inspect the hole from Top and an oblique view. Check Dim and Bbox before any rotation.

7. Save a JSON checkpoint. For selected edge finishing, open Quick Fillet and begin with a small radius or chamfer on the intended edges.

8. Save another checkpoint after finishing. Export the desired scope and check it in the receiving CAD system or slicer.

What this exercise verifies

It combines numerical dimensions, bottom-referenced Pos Y, Solid/Hole roles and browser booleans. The reviewed scratch scene completed this construction through Manifold WASM without MEDUSA.

If the hole is absent, check overlap, role and selection. If the entire block disappears, inspect whether the cutter was larger than the retained body or whether an unintended object was selected.

47 | Worked workflows: gears, imports and delivery

A straight gear pair

1. Open Gear.Gen and choose Straight.

2. Choose module 2 and 24 teeth. Set the thickness and bore radius needed by the design.

3. Enable the mating gear and set 48 teeth, or use the corresponding ratio preset.

4. Choose a deliberate backlash and moderate quality. Add the pair.

5. Check the 72 mm nominal centre distance and inspect the tooth engagement.

6. Save as JSON. Export the parts separately or together using Include, and perform a manufacturing fit test.

Inspect a received assembly

1. Save the current scene. Use New if a clean project is appropriate.

2. Import STEP, retain the original source file and wait for processing.

3. Expand the file group, select representative bodies and frame them.

4. Check a known overall dimension. Inspect colour, body count and available PMI.

5. Save a NASSCAD JSON scene. Avoid treating it as a complete substitute for the original STEP.

Prepare a laser/CNC contour

1. Model the plate or extrude a closed sketch.

2. Select only the intended part(s). Choose Selected shapes.

3. Export a section through the body's interior at the correct world Y.

4. Open SVG/DXF in the target CAD/CAM software. Check size and closed contours.

5. Apply process compensation and generate the actual machine instructions in that system.

Deliver a model responsibly

Keep the editable JSON, original imported files and delivery export together. Include the unit and a known dimension in the handover. Inspect the export in the receiver, especially after a mesh/B-Rep fallback. A successful export dialog is not a proof of fit or complete semantic preservation.

48 | Troubleshooting reference

SymptomCheck and next action
Buttons show but an engine fails to loadKeep the full package; inspect missing-module errors; use a local server when file-URL loading is blocked
A part seems absentFind it in Objects, select and Frame; check opacity and whether it is hidden behind another body
Numeric value does not affect the partCommit the field with Enter/Tab; confirm the active object and the field's unit
Rotating seems to change dimensionsCompare intrinsic Dim with the read-only world Bbox
Part jumps or moves too coarselyCheck snap step; distinguish object scaling from camera sensitivity
Alt-drag moves everythingIt moves grid/scene in this edition; use middle drag for camera pan
Cannot reopen a generator by double-clickingUse Edit .gen params in Properties
Sketch will not extrudeRepair open ends, duplicates, self-intersections and invalid nested loops
A tagged sketch relationship does not updateCurrent actions are not a full persistent solver; edit numeric properties and apply supported actions again
Boolean failsCheck at least two operands, overlap, roles, topology and final engine error
Intersect acts like subtractionMixed Solid/Hole forces subtractive handling; make all operands Solid for an ordinary intersection
Fillet/chamfer failsReduce size, select fewer edges, inspect reference face and repair geometry
Export includes only one partReopen Export and choose All design or the correct selection
STEP is faceted in another CADRead export route/warnings and preserve original native source; protocol alone cannot recreate analytic surfaces
PMI control is absentCheck actual source annotations, supported entities and the large-file scan limit
STL has the wrong sizeCheck source unit assumption and deliberately rescale geometry, not just Unit display
Section has no contoursVerify scope and world Y intersects the model interior
MEDUSA unavailableCheck local process/version/port; browser booleans still remain available
Memory allocation warningSave, reduce pool/quality, reload where required and inspect fallback allocation
Recent work lost after reloadLoad a saved JSON; browser cache/history is not a guaranteed project backup

49 | Keyboard and mouse reference

Main 3D workspace

InputAction
Click / Shift or Ctrl + clickSelect / toggle multiple selection
Double-click selected surfaceHandles > Dimensions > Rotation > None cycle
Drag empty space / Shift + dragBox selection / add to selection
Left drag selected bodyTranslate selection on the work plane
Right drag / Middle drag / WheelOrbit / camera pan / camera zoom
Alt + left / Alt + right dragMove grid/scene in 3D / XZ
Select all buttonSelect the scene objects; use this explicit GUI control
Ctrl + D / C / VDuplicate / Copy / Paste
Ctrl + Z / YUndo / Redo
Delete or BackspaceDelete selection when not editing a text/number field
Arrow keysMove the active object horizontally, camera-relative
Alt + Up / DownMove the active object in Y
L / S / N / HAlignment / snap cycle / theme / panels
1 / 2 / 3 / 4 / 5Reset / Top / Front / Right / Reset camera
EscapeCancel the current selection gesture or clear selection as appropriate

Arrow movement uses the current snap step, or a 1 mm fallback when snap is off. It concerns the active object; do not assume it moves a multiple selection as a rigid group. Keyboard commands depend on focus: clicking into a field gives typing/editing priority. The built-in help lists Ctrl + A, but the reviewed main keyboard handler does not implement it as object selection; use Select all.

Sketcher

S Select; P Point; L Line; R Rectangle; C Circle; A Arc; B Bezier; X Trim; E Extend; K Fillet; F Fit; G Grid; T Theme. Ctrl + Z undoes; Ctrl + Y or Ctrl + Shift + Z redoes. Delete removes selected entities. Escape cancels the active draw sequence. Supported typed dimensions are completed with Enter.

50 | Glossary and review basis

TermMeaning in this manual
B-RepBoundary representation using faces, edges and vertices
TessellationA sampled triangle approximation of a surface
Manifold / watertightTopology suitable for a closed solid; not a claim of manufacturing accuracy
CSGConstructive solid geometry through union, subtraction and intersection
OperandA source body used by a boolean
HoleA subtractive body role in the workspace
DimIntrinsic size along local object axes
BboxWorld-axis enclosing box
Pivot / originReference used for object transforms and some measurements
PMIProduct and manufacturing information imported with supported STEP content
ModuleMetric gear tooth-size parameter
PitchThread axial advance per turn, or another explicitly stated periodic spacing
Radial clearanceAn allowance applied to radius; its diameter effect is twice as large

Review basis and scope

This manual describes the current NASSCAD 4.7.0 interface and adjacent application modules reviewed on 5 October 2026. It covers the visible Tools groups, Properties, Objects, project and file menus, the sketcher, Quick Fillet, optional MEDUSA and diagnostics. It does not claim to enumerate internal programming functions, which belong to the NassScript reference.

Illustrations are captured from a local working copy of the application. Selection cycles, numerical editing, a Solid/Hole browser boolean and closed-profile extrusion were exercised in a scratch scene. Import/export paths, PMI handling and advanced parameter details were also checked against their current implementation; every possible file variant or industrial model was not tested.

Source modules reviewed include the main HTM, nasscad-gens.js, nasscad-io.js, quick-fillet.js, step-import.js, step-export.js, step-xcaf.js, ifc-import.js, ifc-export.js, nasscad-buildvolume.js, nasscad-materials.js and the console integration. The manual intentionally corrects stale help wording where it conflicts with those implementations.

Keep this edition with its application version. Interface changes and engine updates can change behaviour. Consult the official site and current NassScript documentation for their respective updates.