gscrib Logo

Contents

  • Home
  • Quick-Start Guide
    • Introduction
    • Installation
    • Writing Your First Gscrib Program
    • Features at a Glance
    • Full Example: Drilling a Grid of Holes
    • Sending G-code with Writers
    • Beyond Basics
      • Path Interpolation
      • Advanced Path Interpolation
      • Transforming Paths
      • Height Compensation with Heightmaps
      • State Tracking And Validation
      • Enforcing Parameter Limits
      • Dynamic Behavior with Hooks
      • Read Device Sensors
      • Context Managers
    • Where to Go Next
  • Development Guide
    • Introduction
    • Getting Started
      • Prerequisites
      • Setting Up the Development Environment
    • Project Structure
    • Documentation and Testing
    • Extending the Library
      • Overview of Components
      • Adding G-code Commands
      • State Management
      • Custom Writers
      • Custom Formatters
      • Path Interpolation
      • Coordinate Transformations
    • Contributing
    • Getting Help
  • Quick Reference
    • Key Differences from Raw G-code
    • Essential Tips
    • G-code to Gscrib Translation
    • 📏 Units & Coordinate Systems
    • 🔀 Operation Modes
    • 📈 Feeds & Speeds
    • 🔧 Tool Control
    • 💧 Coolant Control
    • 🔥 Temperature Control
    • 🎯 Motion Control
    • 🌀 Path Interpolation
    • 🧭 Coordinate Transforms
    • ⏱️ Timing & Synchronization
    • ⛔ Halt Operations
    • 📡 Probing
    • 🔍 Queries & Status
    • 📝 Comments & Annotations
    • ⚠️ Raw G-code
  • G-Code Mappings Table
  • Module Index
  • General Index
  • License

API Reference

  • gscrib
    • GCodeBuilder
      • GCodeBuilder.absolute_mode()
      • GCodeBuilder.add_hook()
      • GCodeBuilder.add_writer()
      • GCodeBuilder.annotate()
      • GCodeBuilder.auto_home()
      • GCodeBuilder.comment()
      • GCodeBuilder.coolant_off()
      • GCodeBuilder.coolant_on()
      • GCodeBuilder.current_transform()
      • GCodeBuilder.emergency_halt()
      • GCodeBuilder.flush()
      • GCodeBuilder.get_parameter()
      • GCodeBuilder.get_writer()
      • GCodeBuilder.halt()
      • GCodeBuilder.move()
      • GCodeBuilder.move_absolute()
      • GCodeBuilder.move_hook()
      • GCodeBuilder.named_transform()
      • GCodeBuilder.pause()
      • GCodeBuilder.power_off()
      • GCodeBuilder.power_on()
      • GCodeBuilder.probe()
      • GCodeBuilder.query()
      • GCodeBuilder.rapid()
      • GCodeBuilder.rapid_absolute()
      • GCodeBuilder.relative_mode()
      • GCodeBuilder.remove_hook()
      • GCodeBuilder.remove_writer()
      • GCodeBuilder.rename_axis()
      • GCodeBuilder.set_axis()
      • GCodeBuilder.set_bed_temperature()
      • GCodeBuilder.set_bounds()
      • GCodeBuilder.set_chamber_temperature()
      • GCodeBuilder.set_direction()
      • GCodeBuilder.set_distance_mode()
      • GCodeBuilder.set_extrusion_mode()
      • GCodeBuilder.set_fan_speed()
      • GCodeBuilder.set_feed_mode()
      • GCodeBuilder.set_feed_rate()
      • GCodeBuilder.set_formatter()
      • GCodeBuilder.set_hotend_temperature()
      • GCodeBuilder.set_length_units()
      • GCodeBuilder.set_plane()
      • GCodeBuilder.set_resolution()
      • GCodeBuilder.set_temperature_units()
      • GCodeBuilder.set_time_units()
      • GCodeBuilder.set_tool_power()
      • GCodeBuilder.sleep()
      • GCodeBuilder.stop()
      • GCodeBuilder.teardown()
      • GCodeBuilder.to_absolute()
      • GCodeBuilder.to_absolute_list()
      • GCodeBuilder.to_distance_mode()
      • GCodeBuilder.tool_change()
      • GCodeBuilder.tool_off()
      • GCodeBuilder.tool_on()
      • GCodeBuilder.wait()
      • GCodeBuilder.write()
      • GCodeBuilder.distance_mode
      • GCodeBuilder.format
      • GCodeBuilder.position
      • GCodeBuilder.state
      • GCodeBuilder.trace
      • GCodeBuilder.transform
    • GCodeCore
      • GCodeCore.absolute_mode()
      • GCodeCore.add_writer()
      • GCodeCore.annotate()
      • GCodeCore.comment()
      • GCodeCore.current_transform()
      • GCodeCore.flush()
      • GCodeCore.get_parameter()
      • GCodeCore.get_writer()
      • GCodeCore.move()
      • GCodeCore.move_absolute()
      • GCodeCore.named_transform()
      • GCodeCore.rapid()
      • GCodeCore.rapid_absolute()
      • GCodeCore.relative_mode()
      • GCodeCore.remove_writer()
      • GCodeCore.rename_axis()
      • GCodeCore.set_axis()
      • GCodeCore.set_distance_mode()
      • GCodeCore.set_formatter()
      • GCodeCore.teardown()
      • GCodeCore.to_absolute()
      • GCodeCore.to_absolute_list()
      • GCodeCore.to_distance_mode()
      • GCodeCore.write()
      • GCodeCore.distance_mode
      • GCodeCore.format
      • GCodeCore.position
      • GCodeCore.transform
    • GConfig
      • GConfig.from_object()
      • GConfig.baudrate
      • GConfig.comment_symbols
      • GConfig.decimal_places
      • GConfig.direct_write
      • GConfig.host
      • GConfig.line_endings
      • GConfig.output
      • GConfig.port
      • GConfig.print_lines
      • GConfig.x_axis
      • GConfig.y_axis
      • GConfig.z_axis
    • GState
      • GState.get_bounds()
      • GState.get_parameter()
      • GState.coolant_mode
      • GState.direction
      • GState.distance_mode
      • GState.extrusion_mode
      • GState.feed_mode
      • GState.feed_rate
      • GState.halt_mode
      • GState.is_coolant_active
      • GState.is_tool_active
      • GState.length_units
      • GState.plane
      • GState.position
      • GState.power_mode
      • GState.resolution
      • GState.spin_mode
      • GState.target_bed_temperature
      • GState.target_chamber_temperature
      • GState.target_hotend_temperature
      • GState.temperature_units
      • GState.time_units
      • GState.tool_number
      • GState.tool_power
      • GState.tool_swap_mode
    • ParamsDict
      • ParamsDict.clear()
      • ParamsDict.copy()
      • ParamsDict.fromkeys()
      • ParamsDict.get()
      • ParamsDict.items()
      • ParamsDict.keys()
      • ParamsDict.pop()
      • ParamsDict.popitem()
      • ParamsDict.setdefault()
      • ParamsDict.update()
      • ParamsDict.values()
  • gscrib.codes
    • GCodeEntry
      • GCodeEntry.description
      • GCodeEntry.enum
      • GCodeEntry.instruction
    • GCodeTable
      • GCodeTable.add_entry()
      • GCodeTable.get_entry()
  • gscrib.enums
    • Axis
      • Axis.X
      • Axis.Y
      • Axis.Z
    • BaseEnum
    • BedTemperature
      • BedTemperature.from_units()
      • BedTemperature.CELSIUS
      • BedTemperature.KELVIN
    • ChamberTemperature
      • ChamberTemperature.from_units()
      • ChamberTemperature.CELSIUS
      • ChamberTemperature.KELVIN
    • CoolantMode
      • CoolantMode.FLOOD
      • CoolantMode.MIST
      • CoolantMode.OFF
    • DirectWrite
      • DirectWrite.OFF
      • DirectWrite.SERIAL
      • DirectWrite.SOCKET
    • Direction
      • Direction.enforce()
      • Direction.full_turn()
      • Direction.CLOCKWISE
      • Direction.COUNTER
    • DistanceMode
      • DistanceMode.ABSOLUTE
      • DistanceMode.RELATIVE
      • DistanceMode.is_absolute
      • DistanceMode.is_relative
    • ExtrusionMode
      • ExtrusionMode.ABSOLUTE
      • ExtrusionMode.RELATIVE
    • FanMode
      • FanMode.COOLING
      • FanMode.OFF
    • FeedMode
      • FeedMode.INVERSE_TIME
      • FeedMode.UNITS_PER_MINUTE
      • FeedMode.UNITS_PER_REVOLUTION
    • HaltMode
      • HaltMode.END_WITHOUT_RESET
      • HaltMode.END_WITH_RESET
      • HaltMode.OFF
      • HaltMode.OPTIONAL_PAUSE
      • HaltMode.PALLET_EXCHANGE
      • HaltMode.PAUSE
      • HaltMode.WAIT_FOR_BED
      • HaltMode.WAIT_FOR_CHAMBER
      • HaltMode.WAIT_FOR_HOTEND
      • HaltMode.WAIT_FOR_MOTION
    • HotendTemperature
      • HotendTemperature.from_units()
      • HotendTemperature.CELSIUS
      • HotendTemperature.KELVIN
    • LengthUnits
      • LengthUnits.scale()
      • LengthUnits.to_pixels()
      • LengthUnits.INCHES
      • LengthUnits.MILLIMETERS
    • Plane
      • Plane.normal()
      • Plane.XY
      • Plane.YZ
      • Plane.ZX
    • PositioningMode
      • PositioningMode.HOME
      • PositioningMode.LINEAR
      • PositioningMode.OFFSET
      • PositioningMode.RAPID
    • PowerMode
      • PowerMode.CONSTANT
      • PowerMode.DYNAMIC
      • PowerMode.OFF
    • ProbingMode
      • ProbingMode.AWAY
      • ProbingMode.AWAY_NO_ERROR
      • ProbingMode.TOWARDS
      • ProbingMode.TOWARDS_NO_ERROR
    • QueryMode
      • QueryMode.POSITION
      • QueryMode.TEMPERATURE
    • SpinMode
      • SpinMode.CLOCKWISE
      • SpinMode.COUNTER
      • SpinMode.OFF
    • TemperatureUnits
      • TemperatureUnits.CELSIUS
      • TemperatureUnits.KELVIN
    • TimeUnits
      • TimeUnits.scale()
      • TimeUnits.MILLISECONDS
      • TimeUnits.SECONDS
    • ToolSwapMode
      • ToolSwapMode.AUTOMATIC
      • ToolSwapMode.MANUAL
      • ToolSwapMode.OFF
  • gscrib.excepts
    • CoolantStateError
      • CoolantStateError.add_note()
      • CoolantStateError.with_traceback()
      • CoolantStateError.args
    • DeviceConnectionError
      • DeviceConnectionError.add_note()
      • DeviceConnectionError.with_traceback()
      • DeviceConnectionError.args
    • DeviceError
      • DeviceError.add_note()
      • DeviceError.with_traceback()
      • DeviceError.args
    • DeviceTimeoutError
      • DeviceTimeoutError.add_note()
      • DeviceTimeoutError.with_traceback()
      • DeviceTimeoutError.args
    • DeviceWriteError
      • DeviceWriteError.add_note()
      • DeviceWriteError.with_traceback()
      • DeviceWriteError.args
    • FileLoadError
      • FileLoadError.add_note()
      • FileLoadError.with_traceback()
      • FileLoadError.args
    • GCodeError
      • GCodeError.add_note()
      • GCodeError.with_traceback()
      • GCodeError.args
    • GscribError
      • GscribError.add_note()
      • GscribError.with_traceback()
      • GscribError.args
    • ImageLoadError
      • ImageLoadError.add_note()
      • ImageLoadError.with_traceback()
      • ImageLoadError.args
    • ToolStateError
      • ToolStateError.add_note()
      • ToolStateError.with_traceback()
      • ToolStateError.args
  • gscrib.formatters
    • BaseFormatter
      • BaseFormatter.command()
      • BaseFormatter.comment()
      • BaseFormatter.line()
      • BaseFormatter.number()
      • BaseFormatter.parameters()
      • BaseFormatter.set_axis_label()
      • BaseFormatter.set_comment_symbols()
      • BaseFormatter.set_decimal_places()
      • BaseFormatter.set_line_endings()
    • DefaultFormatter
      • DefaultFormatter.command()
      • DefaultFormatter.comment()
      • DefaultFormatter.line()
      • DefaultFormatter.number()
      • DefaultFormatter.parameters()
      • DefaultFormatter.set_axis_label()
      • DefaultFormatter.set_comment_symbols()
      • DefaultFormatter.set_decimal_places()
      • DefaultFormatter.set_line_endings()
  • gscrib.geometry
    • BoundManager
      • BoundManager.get_bounds()
      • BoundManager.set_bounds()
      • BoundManager.validate()
    • CoordinateTransformer
      • CoordinateTransformer.apply_transform()
      • CoordinateTransformer.chain_transform()
      • CoordinateTransformer.delete_state()
      • CoordinateTransformer.mirror()
      • CoordinateTransformer.reflect()
      • CoordinateTransformer.restore_state()
      • CoordinateTransformer.reverse_transform()
      • CoordinateTransformer.rotate()
      • CoordinateTransformer.save_state()
      • CoordinateTransformer.scale()
      • CoordinateTransformer.set_pivot()
      • CoordinateTransformer.translate()
    • PathTracer
      • PathTracer.arc()
      • PathTracer.arc_radius()
      • PathTracer.circle()
      • PathTracer.estimate_length()
      • PathTracer.helix()
      • PathTracer.parametric()
      • PathTracer.polyline()
      • PathTracer.spiral()
      • PathTracer.spline()
      • PathTracer.thread()
    • Point
      • Point.from_params()
      • Point.from_vector()
      • Point.unknown()
      • Point.zero()
      • Point.combine()
      • Point.count()
      • Point.index()
      • Point.mask()
      • Point.replace()
      • Point.resolve()
      • Point.to_vector()
      • Point.within_bounds()
      • Point.x
      • Point.y
      • Point.z
    • Transform
      • Transform.apply()
      • Transform.reverse()
  • gscrib.heightmaps
    • BaseHeightMap
      • BaseHeightMap.get_depth_at()
      • BaseHeightMap.sample_path()
    • FlatHeightMap
      • FlatHeightMap.get_depth_at()
      • FlatHeightMap.sample_path()
    • RasterHeightMap
      • RasterHeightMap.from_path()
      • RasterHeightMap.get_depth_at()
      • RasterHeightMap.get_height()
      • RasterHeightMap.get_width()
      • RasterHeightMap.sample_path()
      • RasterHeightMap.set_scale()
      • RasterHeightMap.set_tolerance()
    • SparseHeightMap
      • SparseHeightMap.from_path()
      • SparseHeightMap.get_depth_at()
      • SparseHeightMap.sample_path()
      • SparseHeightMap.save_image()
      • SparseHeightMap.set_scale()
      • SparseHeightMap.set_tolerance()
  • gscrib.hooks
    • extrusion_hook()
  • gscrib.types
    • Bound
    • OptFloat
    • PathFn
    • PointLike
    • ProcessedParams
  • gscrib.writers
    • BaseWriter
      • BaseWriter.connect()
      • BaseWriter.disconnect()
      • BaseWriter.flush()
      • BaseWriter.write()
    • ConsoleWriter
      • ConsoleWriter.connect()
      • ConsoleWriter.disconnect()
      • ConsoleWriter.flush()
      • ConsoleWriter.write()
    • FileWriter
      • FileWriter.connect()
      • FileWriter.disconnect()
      • FileWriter.flush()
      • FileWriter.write()
    • LogWriter
      • LogWriter.connect()
      • LogWriter.disconnect()
      • LogWriter.flush()
      • LogWriter.get_logger()
      • LogWriter.set_level()
      • LogWriter.write()
    • PrintrunWriter
      • PrintrunWriter.connect()
      • PrintrunWriter.disconnect()
      • PrintrunWriter.flush()
      • PrintrunWriter.get_parameter()
      • PrintrunWriter.set_timeout()
      • PrintrunWriter.write()
      • PrintrunWriter.has_pending_operations
      • PrintrunWriter.is_connected
      • PrintrunWriter.is_printing
    • SerialWriter
      • SerialWriter.connect()
      • SerialWriter.disconnect()
      • SerialWriter.flush()
      • SerialWriter.get_parameter()
      • SerialWriter.set_timeout()
      • SerialWriter.write()
      • SerialWriter.is_connected
      • SerialWriter.is_printing
    • SocketWriter
      • SocketWriter.connect()
      • SocketWriter.disconnect()
      • SocketWriter.flush()
      • SocketWriter.get_parameter()
      • SocketWriter.set_timeout()
      • SocketWriter.write()
      • SocketWriter.is_connected
      • SocketWriter.is_printing
gscrib
  • Search


© Copyright 2025, Joan Sala <contact@joansala.com>.

Built with Sphinx using a theme provided by Read the Docs.