Documentation – CNC & Laser Cutting Pricing in 3D Print Calculator (DXF)


This guide explains how 3D Print Calculator (Yee3DPrint, by add-ons.org) prices CNC and laser cutting jobs. Besides 3D models, the configurator accepts DXF drawings: it measures the cutting and engraving paths on your server, lets the customer decide what to cut, engrave or ignore layer by layer, and turns the measured lengths into a price using the rates of the selected cutting material and laser machine. You will find the setup of the laser catalog, the customer flow, the exact pricing and time formulas, worked examples with real numbers, checkout and quote screens, and a FAQ. For the general plugin documentation (installation, settings, 3D printing), see the main 3D Print Calculator documentation.

Video tutorial

1. What Counts as a CNC Job

  • A DXF upload switches the configurator to laser-cutting mode: the heading becomes “Configure your laser cutting”, the badge reads LASER CUTTING, the drawing is previewed in 2D and the price is based on path length instead of volume.
  • Only ASCII DXF files up to 5 MB are measured automatically. Supported entities: LINE, CIRCLE, ARC, ELLIPSE, LWPOLYLINE (without bulges) and SPLINE. Limits: 50 layers and 30,000 points.
  • Drawings with unsupported entities, binary DXF, and DWG or other CAD formats cannot be measured: the customer gets the manual quote form instead (name, email, phone, quantity, notes).
  • Only Laser cutting materials and Laser Cutting machines are offered for a drawing; 3D printing materials, infills, coatings and print quality are hidden. Post-processings stay available.
  • DXF carries no unit. The File units choice (mm / cm / in) made before the upload, or the default unit from Settings → Uploads and limits, tells the plugin how to read the coordinates.
The Uploads and limits settings tab with DXF among the accepted formats and the Default file unit setting
Settings → Uploads and limits: keep DXF enabled and choose the default file unit your customers use.

2. Set Up the Laser Catalog

The quickest start is Yee3DPrint → Settings → Sample data → Create CNC sample data. It creates a Default Laser Cutter and two cutting materials, Plywood 3 mm and Acrylic 3 mm, grouped under Laser Cutting and priced at 1 per cm of cutting path. The examples below use those samples with the prices changed to the values shown in the screenshots.

2.1 Cutting materials

The Materials list filtered on the Laser Cutting group with Plywood 3 mm and Acrylic 3 mm priced per cut cm
Materials in the Laser Cutting group. The Price column shows the amount and its basis, “per cut cm”.

A cutting material is a normal Material entry whose Material type is Laser cutting (General tab). Its thickness and its price per centimetre are set on the other tabs.

The General tab of the Plywood 3 mm material with Material type set to Laser cutting
Material → General: Material type “Laser cutting” is what makes the entry appear for DXF jobs.
The Pricing tab of the Plywood material: Base price 1.2 per 1 cm of Laser Cutting Total Path, minimum charge 5, setup fee 3
Material → Pricing: the base price uses the basis “1 cm of Laser Cutting Total Path”; minimum charge and setup fee complete the rule.
SettingMeaning for a drawingExample (Plywood)
Base price + basis 1 cm of Laser Cutting Total Pathamount × centimetres of all layers set to Cut1.20 per cm
Base price + basis Fixed Pricea flat amount per piece, whatever the drawing—
Minimum material charge per piecethe material charge never goes below this amount5.00
Material setup fee once per uploaded modeladded once per drawing, not per piece3.00
Extra pricesrows with the Fixed or Total Path basis are added; rows with volume, area, weight, support or hour bases are ignored for drawings—
The Technical Specs tab of the Plywood material with Laser material thickness 3 mm
Material → Technical Specs: the laser material thickness becomes the Z dimension and the box volume of the job.

2.2 The laser machine

The Printers list showing the Default Laser Cutter with technology Laser Cutting
Printers: a machine with the technology “Laser Cutting” is a CNC machine.
The General tab of the Default Laser Cutter with Technology set to Laser Cutting
Printer → General: Technology “Laser Cutting”.
The Build Volume and Specs tab of the laser cutter with bed size, laser cut speed, engrave speed and setup time
Printer → Build Volume & Specs: the bed size (used for the “larger than the build volume” warning) and the speeds used for the time estimate.
The Pricing and Setup tab of the laser cutter with base price per piece, setup fee and laser engraving price per cm of path
Printer → Pricing & Setup: machine price per piece, setup fee per drawing and the engraving rate.
SettingMeaningExample (Default Laser Cutter)
Base price per pieceadded to every piece, whatever the drawing2.00
Setup fee once per uploaded modeladded once per drawing5.00
Laser engraving price per cm of pathamount × centimetres of all layers set to Engrave. Leave it blank to send every drawing with engraving to a manual quote0.40 per cm
Laser cut speed / engrave speed (mm/s), Laser setup time (s)only used for the Print Time estimate20 / 120 / 30
Build width X / depth Ydrawings larger than the bed show a warning300 × 200 mm

3. The Customer Flow

Step 1: Upload the DXF

The configurator in laser-cutting mode with a 2D preview of the bracket plate drawing, dimensions 120 x 80 mm, and the Cutting configuration panel
After the upload the drawing is measured on the server and drawn in 2D. The stats show the size, the number of paths and the path lengths.

The customer drops a DXF on the viewport or picks it with Choose model or drawing. The plugin measures it on the server, reports “Measuring DXF cutting paths…”, and shows the Model Stats: Model Dimensions, Cutting path, Engraving path, Total Path, Number of paths and Bounding box XY area. Scale and the X/Y size fields work as for 3D models.

Step 2: Choose a cutting operation per layer

The Cutting operations box listing the CUT layer with 57.03 cm and the ENGRAVE layer with 15.07 cm, both set to Cut
Every DXF layer gets a row with its measured length. All layers start as “Cut”.
The Cutting operations box with the ENGRAVE layer switched to Engrave
Switching a layer to Engrave moves its length from the cutting charge to the engraving charge. “Ignore” removes it from both.
  • Cut: the layer’s length is added to the Cutting path and priced by the material.
  • Engrave: the length is added to the Engraving path and priced by the machine’s engraving rate; engraved paths are drawn in a different colour.
  • Ignore: the layer is hidden in the preview and not priced at all.
  • Name your layers meaningfully (CUT, ENGRAVE, SCORE…) so customers understand the rows.

Step 3: Material, machine and price

The configurator with Plywood 3 mm selected, the Default Laser Cutter chosen automatically and the price panel filled in
Choosing a cutting material. With a single laser machine, the machine step is filled in automatically.
The Your cutting job panel: Plywood 3 mm 68.43, Default Laser Cutter 2.00, Laser engraving 6.03, Setup fee once 8.00, Estimated subtotal 84.46
The price panel lists the material charge, the machine price, the engraving line and the one-time setup fee.
The Model Stats table for the drawing: box volume, dimensions with thickness, print time, cutting path, engraving path, total path, number of paths, bounding box area, material thickness
Once a material with a thickness is selected the stats also show the box volume, the material thickness and the estimated time.

4. How the Price Is Calculated

ComponentFormula
Material charge per piecemax( Minimum charge, Base price × cut cm + fixed/total-path extra rows )
Laser engraving per pieceEngraving rate × engrave cm (only when at least one layer is set to Engrave)
Machine price per pieceBase price per piece of the laser machine
Post-processingstheir prices, if any are selected
Unit pricematerial charge + engraving + machine price + post-processings
Setup (once per drawing)Material setup fee + Machine setup fee
Estimated subtotalUnit price × Quantity + Setup

Lengths are measured from the drawing in its file unit, converted to centimetres and multiplied by the scale. The server repeats the measurement when the drawing is submitted, so a price cannot be altered in the browser. The WooCommerce cart line uses the unit price × quantity, and the setup is added as a separate “Setup fee (filename)” fee.

4.1 Worked example: bracket plate in Plywood

The demo drawing is a 120 × 80 mm plate with two holes and a window on the CUT layer (57.03 cm) and a decorative line on the ENGRAVE layer (15.07 cm). Plywood costs 1.20 per cm with a minimum of 5 and a setup fee of 3; the laser cutter costs 2.00 per piece, 5 setup and 0.40 per engraved cm.

StepCalculationResult
Cutting57.03 cm × 1.2068.43
Engraving15.07 cm × 0.406.03
Machinebase price per piece2.00
Unit price68.43 + 6.03 + 2.0076.46
Setup3.00 material + 5.00 machine8.00
1 piece76.46 × 1 + 8.0084.46
5 pieces76.46 × 5 + 8.00390.29 (per-line rounding)
The price panel with quantity 5: estimated subtotal 390.29
Quantity 5: the unit price is multiplied, the setup fee is charged once.

4.2 Changing the material

The price panel with Acrylic 3 mm selected: 85.54 cutting, 2.00 machine, 6.03 engraving, 8.00 setup, subtotal 101.57
Acrylic at 1.50 per cm: 57.03 × 1.50 = 85.54 for the cutting, the rest unchanged.

4.3 Ignoring a layer

The price panel after setting the ENGRAVE layer to Ignore: the Laser engraving line disappears, subtotal 95.54
ENGRAVE set to Ignore: the engraving line disappears and the subtotal drops to 85.54 + 2.00 + 8.00 = 95.54.

4.4 The minimum charge

A 10 x 10 mm tag with 4 cm of cutting priced at the Acrylic minimum charge of 8.00, machine 2.00, setup 8.00, subtotal 18.00
A tiny tag: 4 cm × 1.50 = 6.00 is below the Acrylic minimum of 8.00, so the minimum applies. Subtotal 8 + 2 + 8 = 18.00.

4.5 When a drawing becomes a price request

  • The selected material has no usable price (blank, or a basis that does not apply to drawings) so the material charge is 0.
  • A layer is set to Engrave but the machine’s Laser engraving price per cm is blank or 0.
  • The whole configuration totals 0.
  • In those cases the checkout buttons are replaced by the request form, and the quote is saved for the shop to price by hand.

5. The Time Estimate

When the laser machine has speeds, the stats show a Print Time:

time (s) = cut mm ÷ cut speed + engrave mm ÷ engrave speed + setup seconds
570.3 mm ÷ 20 mm/s + 150.7 mm ÷ 120 mm/s + 30 s = 28.5 + 1.3 + 30 ≈ 60 s  →  00:01:00

Leave a speed blank to hide the estimate when that operation is used. The time is informative only; it does not change the price unless you add a material rule based on hours (which requires cloud analysis and applies to 3D models, not drawings).

6. Checkout and Quotes

The WooCommerce checkout with the laser job as a Custom 3D Print line showing the file name, dimensions, material and cutting options
Checkout: the drawing is a “Custom 3D Print” line with the file, the dimensions, the material, the machine and the operations.
The Quotes and Orders list with the DXF job thumbnail
Yee3DPrint → Quotes: the 2D thumbnail of the drawing is stored with the quote.
The quote detail page of a DXF job with cutting path, engraving path, total path, number of paths, bounding box area, material thickness, the per-layer operations and the print options with prices
Quote detail: cutting path, engraving path, the operation chosen for each layer, thickness, time estimate, the priced options and the Download original model button.

The quote stores the verified lengths, the per-layer operations and the prices, so the shop can check the job before cutting. The original DXF can be downloaded by shop managers and by the customer from the order page.

7. Tips

  • Price per material, not per machine: put the cost of the sheet in the material rate (per cm or fixed), and the running cost of the laser in the machine price and the engraving rate.
  • Thickness: one material entry per thickness (Plywood 3 mm, Plywood 6 mm…) keeps the price per centimetre honest, because a thicker sheet cuts slower.
  • Several machines: customers choose the machine when more than one laser cutter is available; use Compatible materials to pair materials with the right machine.
  • Closed polylines: export outlines as closed LWPOLYLINE so the closing segment is counted. Polylines with bulges are not supported; explode them to lines and arcs.
  • Units: ask customers to draw in millimetres and keep Default file unit at mm; a drawing in inches must be uploaded with “in” selected.
  • Testing: upload a known rectangle (e.g. 100 × 50 mm = 30 cm) and check that the Cutting path reads 30 cm before you publish prices.

8. Frequently Asked Questions (FAQ)

Which file formats are priced automatically?

Only ASCII DXF (up to 5 MB) with LINE, CIRCLE, ARC, ELLIPSE, LWPOLYLINE and SPLINE entities. DWG and other CAD files are accepted for manual quotes when enabled in Uploads and limits.

Does the plugin price by area or by material sheet?

The material rule can be a fixed amount per piece or a price per centimetre of cutting path. Area, volume and weight bases are ignored for drawings. Use a fixed price plus a per-cm rate to approximate sheet cost plus cutting time.

How are engraved layers priced?

By the laser machine: Laser engraving price per cm × the length of every layer set to Engrave. If that rate is blank, drawings with engraving become price requests.

What does “Ignore” do?

The layer is neither cut nor engraved: it is hidden in the preview and excluded from the price. Useful for reference or dimension layers.

Why is the cutting path longer than I expected?

All layers start as “Cut”. Set reference or engraving layers to Engrave or Ignore. Closed polylines include the closing segment; circles count their full circumference.

Can I charge a minimum per job?

Set the material’s Minimum material charge per piece. Use the setup fees (material and machine) for a per-job amount that does not multiply with quantity.

Does the time estimate affect the price?

No. It is calculated from the machine speeds and shown in Model Stats for information only.

Can customers cut several different drawings?

Yes. Each upload becomes its own line in the cart, each with its own setup fee.

Why does my drawing show “Automatic DXF pricing cannot verify these drawing entities”?

It contains entities the measurer does not support (for example TEXT, INSERT blocks, HATCH or polylines with bulges). Explode blocks and convert text to outlines before exporting, or let the customer use the manual quote form.