Workflow: Building a Simulation Report
After a simulation has run, a report communicates the result: what the finished part looks like, how the machining loads evolved over the program, whether the run was clean — and, for the person who has to act on it, where the problems are and what the simulation assumed. This workflow turns a finished run into a report that a machine owner or process engineer can read in a few minutes: the assumptions drawn rather than listed, each load reading checked against them before it is called a risk, and every problem spot shown as the machining feature it belongs to.
flowchart TD
Build["Build project<br>(equipment, job, options)"]
Run["Run simulation"]
Draw["Draw the assumptions"]
Check["Check each reading<br>against the assumptions"]
Capture["Capture focused views<br>(problem spots · overview)"]
Assemble["Assemble report"]
Build --> Run --> Draw --> Check --> Capture --> Assemble
1. Build and Run
Stand up and run the project first — see Basic Machining Simulation for equipment, job, options, and the Play* run commands. A report is built from a completed run: the workpiece geometry is final and the strip charts span the whole program. Sections 2–5 capture the overview. Take them, and read each problem spot's Block Info and Step Properties (Section 8), before anything resets the session: a Reset, or the Load of a copy in Sections 7 and 8, discards the run, and only a whole replay brings it back. Sections 6–8 are the parts a reader acts on.
2. What to Capture — and What to Leave Out
The player screen carries more panels than a report needs. A good report keeps the panels that hold result information and drops the navigation panels:
| Panel | In a report? | Why |
|---|---|---|
| Main 3D canvas | Keep | The finished part, and the near and far views of each problem spot (Section 8) |
| Strip Charts | Keep | Machining loads / availability over the whole program |
| Session Messages | Keep (optional) | The run log — proof the run was clean |
| Left dock (Control Tree and editor) | Drop | Navigation only; no result content |
| Step Info column | Drop from the captures | Single-step detail — but read the peak step's Block Info and Step Properties for each problem spot's table (Section 8) |
Use the column quick-toggles at the right end of the menu bar — four on the Execution page: the dock, the canvas-and-messages column, the Strip Charts column and the Step Info column — to hide the columns you are not capturing, so each kept panel gets the full width/height.
3. Main 3D Canvas — Several Views
Capture the finished part from several angles. Use the View menu on the Rendering Canvas Tool Bar to switch between the orthographic and isometric presets (Isometric, Front, Back, Right, Left, Top, Bottom).
- Isometric + Top are the most informative for most parts.
- Add Front / Right for thin or shallow parts, where the side profile carries the wall thickness.
Tip
The tool-path overlay carries information too — capture both. The machined tool-path overlay (the CL strip) shows the machining coverage and the retract/plunge motion, but it can be dense enough to obscure the part shape underneath. It is worth capturing each view both ways: with the tool path on (machining coverage) and off (clean part). Toggle it with the Tool Path button on the Execution Extended RenderingCanvas Tool Bar (and Path Points off with it). The workpiece geometry is a separate display flag, so it stays visible when the tool path is off.
4. Strip Charts — Capture Wide
The strip charts read best wide: at full width the whole-program time axis is legible and the per-series peaks are distinct. Before capturing, give the Strip Charts column the width: hide the Step Info column and the left dock with their quick-toggles, or drag the divider beside it. See Strip Charts for the chart types (Availability, Roughness, Color-Index) and their legends.
5. Session Messages — the Run Log
The Session Messages panel's Shell, NC Diagnostics and Step Diagnostics tabs are the run log; the fourth, NC Manipulation, reports converting or optimizing a program rather than the run. Zero errors across those three tabs is the single strongest piece of report evidence that the run was clean. Each tab holds the latest 1000 messages of its list, and its Export writes those, filtered; the number on the tab, and the second number of the badge in its toolbar, is the list's full count. When that count is over 1000, neither the tab nor its CSV is the whole log, and an earlier error can have scrolled out of both. Count the errors over the whole run with GET /api/Execution/messages?minSeverity=Error&tail=0, which answers each list's matched count, and read the rows one list at a time with kinds=<list>&minSeverity=Error&head=1000, continuing with sinceIndex=<the last index returned> — head and tail stop at 1000 (see Replay Acceptance).
6. Draw the Assumptions
Most projects are built before every fact is in: the fixture is sketched from the part, a tool's neck or holder is taken from a catalogue, the spindle is a stand-in. A reader can only judge the results if they can see what was assumed, and a picture is read where a list is skipped.
- Every tool, drawn to one scale. Draw each tool as a section — flute, neck, taper, shank and holder — side by side at the same scale, with the stick-out marked, plus an enlarged view of the small cutters. The reader sees at a glance which tool has a neck, how long each flute is and how thick each holder is. Read the values in the Tool House — Cutter › Flute Profile, Cutter › Upper Beam (its Z–R pairs, or an Extended Cylinder's length), Holder (the holder's Z–R pairs) and Clamping › Exposed Cutter Height — and plot them yourself, since the Tool House draws one tool at a time. Cutter shows where each value is, and Cutter Geometry how the pairs are measured.
- The machine and the fixture. Tick Machine and Tool under Scene ▾ — neither is drawn by default — and show the machine model and at least one pose with the tool and holder in view. If the machine, the rotary table or the fixture is a stand-in built from the part and the program, say so in the caption.
- A table of assumptions with their sources, built from the list of assumptions kept beside the project (Record every assumption). One row per assumed value: what was used, where it came from — the tool sheet, the NC tool name or header, a catalogue, or a plain guess — and which reading it moves. Include at least the cutting-parameter file, each tool's flute material, stick-out, length of cut, core ratio (Inner Beam) and hone radius, the blank, and the spindle's torque and power curve, since Section 7 checks those. The rows that are guesses become the questions to the machine owner at the top of the report (Section 9).
Tip
Model each tool from what its sheet gives, and fill only what the sheet leaves out — a small ball end mill on a standard shank usually reaches it through a taper rather than a step or a long rod. See Cutter Geometry for the conventions; a tool modelled as a rod of its cutting diameter reads too flexible and misses the contacts its real shank would make.
7. Before Reporting a Load as a Risk, Check It Against the Assumptions
A Yielding Stress Ratio or a spindle ratio far over 100 % is a finding about the simulation before it is a finding about the program — especially when the program is one the shop already runs every day. Work through the assumptions behind a high reading before calling it a risk, starting with the checks that cost only a look:
- The kind of peak. By default one step is one spindle revolution. A reading over 100 % for more than one step, or above about 200 % even for one step, is a breakage risk (Evaluating Process Machinability). Before reporting a short peak at a plunge, a corner or a rapid that touches the stock, compare it with the same step's Max Absolute Force, Avg Abs Torque and MRR in Step Properties: a ratio of several hundred per cent with almost no material removed and almost no torque is a reading of the model, and is reported as one, not as a risk.
- The tool's material. The Yielding Stress Ratio divides by the strength of the cutter's beam — the flute material of a solid cutter, the body an insert cutter's inserts sit on. The shipped carbide grades differ by only a few per cent (
WC-Co6-800nm1550 MPa, the finer grades 1580–1680 MPa), so a grade guessed among them moves a reading by a few per cent; the genericWC(1200 MPa) reads about 30 % higher. - The length of cut, the core and the stick-out. The Yielding Stress Ratio is the largest over the sections from the tip to the holder nose, and the top of the flute core usually decides it: a catalogue length of cut longer than the real one, or the default core — the cutter's Inner Beam, a solid core whose radius is the cutter radius times a ratio set by the flute count (0.54 for two flutes, 0.6 for four) — where the real core is thicker, raises it for the same force. The stick-out (Exposed Cutter Height) moves it only where a section below the holder nose is weaker than that core: a long thin neck, or a stick-out several times the length of cut. See Cutter Adjustment Levers.
- The spindle, for a spindle ratio. The Max Spindle Torque Ratio and the Max Spindle Power Ratio divide by the spindle's torque and power curve, so with a stand-in spindle they read the stand-in (Spindle Capability).
- The cutting-parameter set — the Cutting Parameter file the workpiece material uses, one file for every cutter of the run. A shipped
.defaultfile is a general set; a set trained on cuts like these (Milling Force Parameter Training) is the one to trust. - The stock the cutter meets. A finishing cutter that removes a millimetre or more for seconds at a time (pick Cutting Depth or Cutting Width on the Color Index chart to see it) usually meets stock the earlier operations were supposed to remove: a different blank, an operation the project leaves out, or an earlier tool whose length of cut is modelled shorter than the real one. Record the stock just before the feature (the tip at the end of Section 8) and compare it with the design, for example with a geometry difference (Geometry Validation): what the finishing tool will cut shows as stock left.
Note
The hone radius is not a lever for a high load. HiNC uses it for the heat and the wear at the cutting edge, for the lowest feed per tooth the NC optimizer sets, and for the force only to fade the edge force out on chips thinner than a fraction of it — none to about 13 µm at a cutter's default 30 µm, depending on the cutting-parameter file. A larger hone radius therefore lowers the simulated force slightly, and a chip thicker than that is not affected at all, so lowering it does not lower a Yielding Stress Ratio or a spindle ratio. Enter the tool's own value — about 20 µm for an aluminium tool, see Hone Radius — and list it with the assumptions, but do not expect it to explain a load peak.
A collision or a rapid that cuts is checked the same way, against the holder, stick-out, shank and fixture as modelled: a fixture sketched from the part, or a shank that steps out where the real one tapers, reports contacts the real setup does not make.
Where a check finds a guess that a better value can replace, change it in a copy of the project and replay the feature twice from a recorded stock (the tip at the end of Section 8) — once unchanged, which must match the full run's peak, and once changed — and report both readings with the assumption that moved them. When the change reaches anything played before the feature, such as the blank or an earlier tool, record the stock again first (step 1 of the tip). What remains is either a property of the program, to raise with the machine owner, or a reading of the model: send it to HiNC support with the project, the line and the step, and the readings at that step. Do not report a reading as a risk until these checks are done.
8. Show Each Problem Spot as Its Whole Feature
A peak on a strip chart is one step; the machining feature it belongs to is a whole run of the tool path. A paragraph of line numbers and percentages is skipped by the reader — give each problem spot (a load peak, a collision, a rapid that cuts) a figure and a one-line description.
- Pick the range of the feature, not the peak step: start at the first block of the rapid or retract that leads into the cutting run holding the peak — or at an earlier line that opens the operation, such as the tool change, the sequence number or the rotary indexing — and end at the last block of the move that leaves it.
- Show only that range. The strip charts run in time or in steps, not in lines, so find the two ends first: with a Program node selected in the Control Tree, a click on a chart selects that step and brings the Program viewer and Block Info to its line; click near the feature's start and end until they show its first and last lines (Inspecting a Step). Then drag across the chart between them — the canvas draws only the tool path of the charts' display window. Choose the view first, then press the fit icon on the charts' group bar (Fit 3D view to tool path / home), which frames the steps in the window that cut; the reset icon two places to its right, past the stick-to-live-end toggle (Reset display range to whole mission), returns to the whole mission. Over the HTTP API, read each step's line number as Replay Acceptance does and set the window with
POST /api/execution/cl-strip/disp-rangeand the body{"dispBegin": <first step index>, "dispEnd": <last step index + 1>}. - A near view and a far view. The canvas draws the tool where the run stands, not at the selected step, and a click on a chart marks nothing on the canvas. For the near view, replay the feature (the tip below) and stop at the peak's line — Pause (F6), or Run one NC line (F7) from just before it — with Machine and Tool ticked under Scene ▾, then capture the feature's path on the part with the tool and the holder in the frame, and mark the peak on the image afterwards. Leave Path Points off, its default, unless the points help the reader, and choose an angle where the path does not cover the surface it cuts. The canvas always shows the workpiece as the run left it — the display window narrows the tool path, not the part — so take the far views stage by stage from the stock recorded at the end of each stage (A Mission That Resumes): after roughing the part looks nothing like the blank. In an image editor, box every problem region of that stage on one picture, labelled with the tool and the line range.
- A small table beside each figure, with units: the tool (its T number and a short description); the orientation as the program commands it (its rotary words, such as
B-90 C0, not the machine readout); the line range in the line numbers of the program the reader holds, with the N numbers where it has them; the simulated seconds over 100 % (at the programmed feed, without acceleration); the highest Yielding Stress Ratio and spindle ratios in per cent (the Color Index chart, the step file and the HTTP API give them as fractions, 1 = 100 %); and the largest Max Absolute Force in N. Add one line on what the program does there. HiNC's line numbers count the lines of the file it played: if that copy differs from the delivered program, convert them. The step file (Post-Execution › Step Files Output, ticked before the full run), filtered by the feature'sLineNo, gives every number —StepDuration,YieldingStressRatio,MaxSpindleTorqueRatio,MaxSpindlePowerRatio,MaxAbsForce_N; add up theStepDurationof the steps over 100 % for the time — when the feature's program calls no subprogram or macro: the writer reopens a program's file each time the play returns to it, so a caller keeps only its rows after the last call. Otherwise read the steps over the HTTP API as Replay Acceptance does. Keep the conclusion and the question for the reader in the text, and the numbers in the table.
Tip
Replay one feature from a recorded stock. Shots usually take several tries, and replaying the whole program for each try is slow. Save the stock at the start of the feature once, then replay only the feature from it. Use the replays for pictures only: take the numbers in the table from the full run, and check that the replay's peak matches it.
- Make a copy of the project with Save As into a new folder, copy the project's NC programs into it by hand (Save As does not copy programs), and open the copy with Load before running anything. In the copy's NC file, delete the lines from the feature's first line up to, but not including, the end-of-program line (
M30); the lines above keep their numbers. A feature inside a subprogram is not covered this way: cutting that file lets its caller play on. Right after that program in the mission, add a Record Meshed Geometry entry set to Write, with a file name of its own such asCache/feature-L1234.wctrather than the defaultCache/Workpiece.wct, and clear the checkbox of every entry below it. Press Reset, then Start, once. - For the shots, keep the mission's setting entries (Machining Resolution, Machining Motion Resolution, Physics, Collision Detection) as they stood at the feature in the full run; below them put a Record Meshed Geometry entry set to Read with the file from step 1, then the program that plays an NC file holding only the feature, and clear every other entry. In that NC file, replace every line before the feature with a comment line in the program's own syntax —
( … )on a Fanuc program — one line for one line, so the line numbers stay those of the original. Then, before the next Reset, read Block Info on the last line before the feature in the run of step 1 — it shows the state once that line has run, and step 1's Load has released the full run: its modal codes, tool, length and radius compensation, work coordinates, tilted plane or tool-tip control, and rotary positions are the state the feature starts in. Overwrite the last few comment lines before the feature with blocks that set that state — a move to a safe height first, then the tool change, work offset, rotary indexing, spindle start and tool length offset — so the feature starts in the state it has in the full program; its first move then starts from that safe height. - Press Reset before every Start — a Start without it plays on top of the last try. Reset on the Record Meshed Geometry entry's own panel deletes its file instead. Check that Shell shows no
ReadMeshedGeom--NotFound: a missing file is skipped and the feature plays on the blank.
See Keeping the workpiece between runs for the four actions of Record Meshed Geometry, its file path and its Reset.
9. Assemble
Put what the reader has to act on first and the evidence after it:
- The conclusion. For each risk that survived Section 7, what the machine owner can change — the feed per tooth first, then the depth or width of cut, then the cutter (Cutter Adjustment Levers), or an optimized program (NC Optimization). Then the questions for the machine owner: each guess from Section 6 that matters is a question.
- The assumptions: the tool sections, the machine and fixture, and the table of sources.
- One figure and one small table per problem spot, with the stage-by-stage overviews.
- The overview: the finished part from several views, the wide strip charts, and (optionally) the session log.
Pair each picture with a one-line caption stating what it shows.
Tip
Check what you carry over. A statement taken from an earlier report or from project notes — “this part of the program is the same as the previous version”, “this tool path has already been machined” — is checked against the data, not copied: a tool path that looks the same may have been regenerated with different points, so compare the program lines, not the picture. When a report replaces an earlier version, ask whether that version went out: a list of changes helps a reader who saw it and confuses one who did not.
See Also
- Basic Machining Simulation — build and run the project first
- Watching the Run — the Scene menu, the charts' display window and the pointer gestures
- Inspecting a Step — Block Info: the line, the N number, the modal codes and the rotary positions
- Starting and Stepping — Reset between tries, Pause and Run one NC line
- The Other Commands — Record Meshed Geometry: Read, Write, the file path and its Reset
- A Mission That Resumes — a record at the end of each stage, for the stage-by-stage views
- Geometry Validation — collisions, the rapid-cut warning and the geometry difference
- Project Construction — the list of assumptions the table starts from
- Evaluating Process Machinability — reading the Yielding Stress Ratio and the spindle ratios
- Cutter Geometry — modelling the tools, including the hone radius
- Spindle Capability — what the spindle ratios divide by
- Strip Charts — chart types, legends and the display window
- Execution Extended RenderingCanvas Tool Bar — the Tool Path / Path Points toggles
- Session Message Panel — the four tabs and Export
- About Us — where to send a reading of the model