Skip to content

Latest commit

 

History

History
71 lines (49 loc) · 2.55 KB

File metadata and controls

71 lines (49 loc) · 2.55 KB

MakeraTLSBitLibraryWrangler

Read and write .tlslibrary bit library files for Makera Studio (CAM software for the Makera CNC machines), so you can generate tool libraries from a spreadsheet or database instead of typing them in.

  • SPEC.md — the reverse-engineered file format, field by field
  • tlslib.py — reference parser/writer, pure Python 3, no dependencies
  • samples/ — a stock export to use as a base (you need its material IDs)
  • examples/ — CSV → .tlslibrary script

Quick start

import tlslib

lib = tlslib.parse('samples/stock-default-tools.tlslibrary')  # gets the material IDs
lib['name'] = 'My Toolcrib'          # becomes the group name in Makera Studio
lib['tools'] = []

tlslib.new_tool(lib, '1/4" 2FL upcut', 'flatend', tool_number=1,
    DS_handle_dia=6.35, LS_shoulder_len=25, LC_flute_len=19, DC_diameter=6.35,
    feeds={'Hardwood': dict(spindle_rpm=18000, feed_mm_min=1500, plunge_mm_min=500,
                            step_over_pct=40, step_down_mm=2, coolant=1),
           'Acrylic':  dict(spindle_rpm=16000, feed_mm_min=1200, plunge_mm_min=400,
                            step_over_pct=30, step_down_mm=1.5, coolant=0)})

tlslib.write(lib, 'my-toolcrib.tlslibrary')

Import the file in Makera Studio's tool library; it appears as a new group under Custom Tools.

Dump any .tlslibrary as JSON:

python3 tlslib.py some-export.tlslibrary

Reference

Tool types: ballnose flatend vbit engraving bullnose drill thread taperedballnose

Geometry keywords (mm / degrees): DS_handle_dia LS_shoulder_len LC_flute_len DC_diameter D1_tip_dia CR_corner_radius TI_angle AN_half_angle thread_spec PI_pitch TA_thread_angle thread_drill_dia. Unspecified ones get Makera's defaults.

Material names must match the app's exactly: Hardwood, Softwood, Acrylic, ABS, Polycarbonate, Delrin, 6061 Aluminum, 7075 Aluminum, Brass, Copper, PCB, Bakelite, Carbon Fiber, Synthetic Stone, Epoxy Tooling.

coolant: 0 = none, 1 = air. metal=0 selects the Non-Metal radio.

Status

Verified against Makera Studio exports and imports in September 2026 (library format version 1). A few bytes are still unexplained — see the open questions at the end of the spec. If you can settle one, open an issue with a probe export and what you changed.

Example

python3 examples/csv_to_tlslibrary.py examples/tools.csv samples/stock-default-tools.tlslibrary out.tlslibrary "My Bits"

See examples/tools.csv for the expected columns.

License

WTFPL — see LICENSE.