Hot wire CNC cutting 20+ years of practice
Hot wire CNC cutting20+ years of practice

14. Files and formats

14.1 DAT and COR profiles

The format of the wing-profile databases (UIUC, Airfoil Tools…): a text file, a title line, then a list of X Y coordinates, from the trailing edge to the leading edge along the upper surface and back along the lower surface (Selig format). HotWire4X also reads the Lednicer format (the two surfaces separate, with a count line) and space, tab or comma separators, and it ignores comment lines, web addresses and notes at the end of the file. The decimal separator is always the point. The Airfoils folder of the library gives four examples (chapter 2).

A .dat file carries no dimension: its coordinates are relative to the chord (from 0 to 1). On import, the profile therefore takes the size of its destination: in Design, the chord of the side that receives it (the one in the banner), or 100 mm on a side that is still empty; in the Wing tab, the chord of the rib; in the Views tab, the length of the view being replaced; in the Sections tab, the width of the section. A final point identical to the first one is removed.

Export to the .dat format (File ▸ Export) writes a Selig file scaled to a chord of 1, leading edge at X = 0, in the order of the path’s points. Imported back onto the same side, the profile recovers its size; to carry millimeters, export to DXF.

14.2 DXF drawings

The recommended exchange format for any part drawn in a drawing program (Inkscape, LibreCAD, DraftSight, NanoCAD, QCAD, SketchUp with an extension, FreeCAD, SolidWorks…). HotWire4X reads the line, polyline (with arcs), arc, circle, ellipse, spline and inserted block entities of a 2D DXF file, and converts them into points:

  • curves are discretized according to the DXF / SVG import settings (chapter 3): the number of segments for a full circle, arcs and splines in proportion;
  • an automatic cleanup removes unnecessary points, at the tolerance given in the same settings (0 disables it); if the cleanup was too strong, import again with another tolerance;
  • entities that touch are chained into a single path; each separate chain becomes a path; a file with several paths opens the selection dialog (chapter 4), where you can choose one path or chain several;
  • invisible layers are ignored; the files of NanoCAD 5, which writes malformed numbers, are corrected on reading.

The drawing’s dimensions are taken as they are, in millimeters. DXF export (File ▸ Export, or the vectorization) writes one polyline per path. Depending on the tab shown, File ▸ Export offers side 1, side 2 and the intermediate profile (Design) or the outlines of the two views (Views, chapter 10), in .dat or .dxf.

Tips for preparing a drawing: a closed part is a closed outline, a single outline per part, no overlapping duplicates, no text or dimensions on the exported layer; Inkscape splines import directly, but an outline converted to a polyline in the drawing program gives a more predictable result.

14.3 SVG drawings

SVG paths (path: lines, Bézier curves, arcs) are read like DXF, with the same discretization; text, images and other objects are ignored. Convert text to paths before exporting. The units are those of the file: check the dimensions in Design after the import and correct them with the chord or the stretch if needed.

14.4 TXT paths

A simple text format, written by hand or generated by a program (a spreadsheet, a script):

Square
-2.5:-2.5
-2.5:2.5
2.5:2.5
2.5:-2.5
-2.5:-2.5
Segment
0:0
10:0

A line that starts with a letter names a new path; each following line is a point, X:Y, with a decimal point and a colon as the separator. To close a path, repeat the first point at the end. A file can contain several paths (the selection dialog opens). The rectangles.txt example in the library contains four.

14.5 HW4X projects

The HotWire4X project file is a workspace (chapter 3): the cutting documents, the elements of the Wing, Sections and Views tabs, the assembly, the image bank. It is a text file in JSON format, readable and suitable for version control; the points of a path are written one line per point, with their selections. The reference images are included in it (reduced and compressed), so a file is self-contained.

What the file saves for each document: the two paths and their selections, the names of the original files, the spacing, the block (thickness, margins, position), the cut definition (approach, return, exits, block position, kerf, weights, rotation…), the comment, the chosen material, the background images (chapter 4), the end angles of a wing panel cut flat (chapter 5). What it does not save: the mirror (specific to the session), the values of the material sliders, the machine configuration.

HW4X files created by the development versions prior to the first public release are not read.

14.6 FNX projects

FilChaudNX (4-axis) projects open read-only: the two paths, the spacing and the block are carried over, and the project is repositioned in the block. The selections and the cut definition are not carried over (the encoding differs). A 2D FilChaudNX project is imported onto both sides. FilChaud2D files and HW4X projects can also serve as a source of profiles in the library (chapter 4), like the profiles of the open project, which the library presents under Session.

14.7 G-code

G-code export writes a .gcode (or .nc) file ready for an external sender or a simulator: a header of comments (the name of the saved project file, the machine, the chords, the spacing, the duration, the speed, the heat, and the block rotation angle when rotation is used), the setup (G21, G93, M3 S… for the heat, G4 for the preheat, G90, G92 which declares the storage position), then the G01 moves in inverse time (G93), which synchronize the four axes, an M0 at each stop point, and M5 and M2 at the end. The axis letters are those of the machine configuration (X Y Z A by default). There is never a G0: rapid moves are G01 moves at the rapid speed. Chapter 5 details the setup and chapter 6 the axes.

14.8 The application data

In the data folder (chapter 2): Datas/machines.json (the machines and the current machine), Datas/materials.json (the user’s materials; the four system materials are not written to it), Datas/.hw4x_seeded (the list of the examples already copied into the library, chapter 2), Library (the library). The license is saved separately, in the application’s local folder, never in the documents nor in a synchronized folder (chapter 16).