@nebulaglitch/gcode
Version:
A library to generate gcode output
1 lines • 30 kB
Source Map (JSON)
{"version":3,"file":"index.cjs","sources":["../src/argument.ts","../src/command.ts","../src/commands/comment.ts","../src/cmdgroup.ts","../src/gcodeprinter.ts","../src/commands/feedvelocity.ts","../src/commands/spindlespeed.ts","../src/commands/rapidmove.ts","../src/commands/feedmove.ts","../src/commands/dwell.ts","../src/commands/clockwisearc.ts","../src/commands/counterclockwisearc.ts","../src/commands/subprogramcall.ts","../src/commands/setlocalcoordinates.ts","../src/commands/macrocall.ts","../src/commands/gmacrocall.ts","../src/commands/toolselect.ts","../src/commands/question.ts","../src/commands/jogz.ts","../src/commands/jogy.ts","../src/commands/jogw.ts","../src/commands/jog2.ts","../src/commands/jog4.ts","../src/commands/move2.ts","../src/commands/movez.ts","../src/commands/movex.ts","../src/commands/movey.ts","../src/commands/movew.ts","../src/commands/cutgcircle.ts","../src/commands/absolutemode.ts","../src/commands/literal.ts","../src/commands/mach3comment.ts","../src/commands/arcmove.ts","../src/index.ts"],"sourcesContent":["'use strict';\n\nimport numeral from 'numeral'\n\nclass Argument {\n\n private label: string;\n private value: string | number;\n\n constructor(label: string, value: string | number) {\n this.label = label;\n this.value = value;\n }\n\n processValue() {\n let result: string | number = this.value;\n\n if (typeof this.value === 'number') {\n if (Number.isInteger(this.value)) {\n result = this.value;\n } else if (isNaN(this.value)) {\n result = '';\n } else if (!isFinite(this.value)) {\n result = '';\n } else {\n result = numeral(this.value).format('0.0000');\n }\n }\n\n return result;\n }\n\n toString() {\n const output: string = this.label + this.processValue();\n return output;\n }\n\n}\n\nexport default Argument;\n","'use strict';\n\nimport numeral from 'numeral';\nimport Argument from './argument';\n\nclass Command {\n\n protected code: string;\n private codeNumber: number | string | undefined;\n protected args: any[];\n\n constructor(code: string, codeNumber: number | string = '') {\n this.code = code;\n this.codeNumber = codeNumber\n this.args = [];\n }\n\n processArgs() {\n const processedArgs = this.args.map((current) => {\n\n let result: string | number | Argument = current;\n\n if (typeof current === 'number') {\n if (Number.isInteger(current)) {\n result = current;\n } else if (isNaN(current)) {\n result = '';\n } else if (!isFinite(current)) {\n result = '';\n } else {\n result = numeral(current).format('0.0000');\n }\n } else if (current instanceof Argument) {\n result = current.toString();\n }\n\n return result;\n });\n return processedArgs;\n }\n\n toString() {\n let output = `${this.code}${this.codeNumber}`;\n if (this.args.length > 0) {\n output += ' ' +\n this.processArgs().join(' ');\n };\n return output;\n }\n\n}\n\nexport default Command;\n","'use strict';\n\nimport Command from '../command';\n\nclass Comment extends Command {\n private newline: boolean = false;\n\n constructor(content: any, newline = true) {\n super('[');\n this.newline = newline;\n this.args.push(content.toString());\n }\n\n toString() {\n return (this.newline ? '\\n' : '') + this.code + ' ' +\n this.args.join(' ') + ' ]';\n }\n\n}\n\nexport default Comment;\n","'use strict';\n\nimport Comment from './commands/comment';\n\nclass CmdGroup extends Array {\n\n private mName: string;\n\n get name() {\n return this.mName;\n }\n\n set name(name) {\n this.mName = name;\n }\n\n constructor(name: string, ...args: any[]) {\n super(...args);\n this.mName = name;\n this.push(new Comment(name));\n }\n}\n\nexport default CmdGroup;\n","'use strict';\n\nimport Command from './command';\n\nclass GcodePrinter {\n\n public static print(arr: Command[], sb: string = '') {\n arr.forEach((current: Command | Array<Command>) => {\n if (current instanceof Command) {\n sb += current.toString();\n } else if (current instanceof Array) {\n sb += '\\n';\n sb = GcodePrinter.print(current, sb);\n }\n sb += '\\n';\n });\n return sb;\n }\n}\n\nexport default GcodePrinter;\n","'use strict';\n\nimport Command from '../command';\n\nclass FeedVelocity extends Command {\n constructor(velocity = 100) {\n super('F', velocity);\n }\n}\n\nexport default FeedVelocity;\n","'use strict';\n\nimport Command from '../command';\n\nclass SpindleSpeed extends Command {\n constructor(speed = 100) {\n super('S', speed);\n }\n}\n\nexport default SpindleSpeed;\n","'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass RapidMove extends Command {\n constructor(x: number | null = null, y: number | null = null, z: number | null = null, w: number | null = null) {\n super('G', 0);\n if (x !== null) {\n this.args.push(new Argument('X', x));\n }\n if (y !== null) {\n this.args.push(new Argument('Y', y));\n }\n if (z !== null) {\n this.args.push(new Argument('Z', z));\n }\n if (w !== null) {\n this.args.push(new Argument('W', w));\n }\n }\n}\n\nexport default RapidMove;\n"," \n'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass FeedMove extends Command {\n constructor(\n x: number | null = null,\n y: number | null = null,\n z: number | null = null,\n w: number | null = null,\n f: number | null = null\n ) {\n super('G', 1);\n if (x !== null) {\n this.args.push(new Argument('X', x));\n }\n if (y !== null) {\n this.args.push(new Argument('Y', y));\n }\n if (z !== null) {\n this.args.push(new Argument('Z', z));\n }\n if (w !== null) {\n this.args.push(new Argument('W', w));\n }\n if (f !== null) {\n this.args.push(new Argument('F', f));\n }\n }\n}\n\nexport default FeedMove;\n","'use strict';\n\nimport Command from '../command';\n\nclass Dwell extends Command {\n constructor(time = 3) {\n super('G4X', time);\n }\n}\n\nexport default Dwell;\n","'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass ClockwiseArc extends Command {\n constructor(x: number | null = null, y: number | null = null, r: number | null = null) {\n super('G', 2);\n if (x !== null) {\n this.args.push(new Argument('X', x));\n }\n if (y !== null) {\n this.args.push(new Argument('Y', y));\n }\n if (r !== null) {\n this.args.push(new Argument('R', r));\n }\n }\n}\n\nexport default ClockwiseArc;\n","'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass CounterClockwiseArc extends Command {\n constructor(x: number | null = null, y: number | null = null, r: number | null = null) {\n super('G', 3);\n if (x !== null) {\n this.args.push(new Argument('X', x));\n }\n if (y !== null) {\n this.args.push(new Argument('Y', y));\n }\n if (r !== null) {\n this.args.push(new Argument('R', r));\n }\n }\n}\n\nexport default CounterClockwiseArc;\n","'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass SubprogramCall extends Command {\n constructor(filename: string | null = null) {\n super('M', 98);\n if (filename !== null) {\n this.args.push(new Argument('', filename));\n }\n }\n}\n\nexport default SubprogramCall;\n","'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass SetLocalCoordinates extends Command {\n constructor(x: number | null = null, y: number | null = null, z: number | string | null = null) {\n super('G', 92);\n if (x !== null) {\n this.args.push(new Argument('X', x));\n }\n if (y !== null) {\n this.args.push(new Argument('Y', y));\n }\n if (z !== null) {\n this.args.push(new Argument('Z', z));\n }\n }\n}\n\nexport default SetLocalCoordinates;\n","'use strict';\n\nimport Command from '../command';\n\nclass MacroCall extends Command {\n constructor(number = 0) {\n super('M', number);\n }\n}\n\nexport default MacroCall;\n","'use strict';\n\nimport Command from '../command';\n\nclass GMacroCall extends Command {\n constructor(number = 0) {\n super('G', number);\n }\n}\n\nexport default GMacroCall;\n","'use strict';\n\nimport Command from '../command';\n\nclass ToolSelect extends Command {\n constructor(tool: string | number = 2) {\n super('T', tool);\n }\n}\n\nexport default ToolSelect;\n","'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass Question extends Command {\n constructor(text: string | null = null) {\n super('G', 5);\n this.args.push(new Argument('T', 0));\n if (text !== null) {\n this.args.push(new Argument('m', ' \"' + text + '\"'));\n }\n }\n}\n\nexport default Question;\n","'use strict';\n\nimport RapidMove from './rapidmove';\n\nclass JogZ extends RapidMove {\n constructor(z: number | null = null) {\n super(null, null, z, null);\n }\n}\n\nexport default JogZ;\n","'use strict';\n\nimport RapidMove from './rapidmove';\n\nclass JogY extends RapidMove {\n constructor(y: number | null = null) {\n super(null, y, null, null);\n }\n}\n\nexport default JogY;\n","'use strict';\n\nimport RapidMove from './rapidmove';\n\nclass JogW extends RapidMove {\n constructor(w: number | null = null) {\n super(null, null, null, w);\n }\n}\n\nexport default JogW;\n","'use strict';\n\nimport RapidMove from './rapidmove';\n\nclass Jog2 extends RapidMove {\n constructor(x: number | null = null, y: number | null = null) {\n super(x, y, null, null);\n }\n}\n\nexport default Jog2;\n","'use strict';\n\nimport RapidMove from './rapidmove';\n\nclass Jog4 extends RapidMove {\n constructor(x: number | null = null, y: number | null = null, z: number | null = null, w: number | null = null) {\n super(x, y, z, w);\n }\n}\n\nexport default Jog4;\n","'use strict';\n\nimport FeedMove from './feedmove';\n\nclass Move2 extends FeedMove {\n constructor(x: number | null = null, y: number | null = null) {\n super(x, y, null, null);\n }\n}\n\nexport default Move2;\n","'use strict';\n\nimport FeedMove from './feedmove';\n\nclass MoveZ extends FeedMove {\n constructor(z: number | null = null) {\n super(null, null, z, null);\n }\n}\n\nexport default MoveZ;\n","'use strict';\n\nimport FeedMove from './feedmove';\n\nclass MoveX extends FeedMove {\n constructor(x: number | null = null) {\n super(x, null, null, null);\n }\n}\n\nexport default MoveX;\n","'use strict';\n\nimport FeedMove from './feedmove';\n\nclass MoveY extends FeedMove {\n constructor(y: number | null = null) {\n super(null, y, null, null);\n }\n}\n\nexport default MoveY;\n","'use strict';\n\nimport FeedMove from './feedmove';\n\nclass MoveW extends FeedMove {\n constructor(w: number | null = null) {\n super(null, null, null, w);\n }\n}\n\nexport default MoveW;\n","/* eslint-disable @typescript-eslint/no-unused-vars */\n \n'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass CutGCircle extends Command {\n\n constructor(\n d: number | null = null,\n x: number | null = null,\n y: number | null = null,\n unknown1: any = null,\n unknown2: any = null,\n unknown3: any = null,\n direction: number | null = null,\n i: number | null = null,\n j: number | null = null\n ) {\n super('G', direction == 1 ? 2 : 3);\n\n if (x !== null) {\n this.args.push(new Argument('X', x));\n }\n if (y !== null) {\n this.args.push(new Argument('Y', y));\n }\n if (d !== null) {\n this.args.push(new Argument('R', d / 2));\n }\n if (i !== null) {\n this.args.push(new Argument('I', i));\n }\n if (j !== null) {\n this.args.push(new Argument('J', j));\n }\n\n }\n}\n\nexport default CutGCircle;\n","'use strict';\n\nimport Command from '../command';\n\nclass AbsoluteMode extends Command {\n constructor() {\n super('G', 90);\n }\n}\n\nexport default AbsoluteMode;\n","'use strict';\n\nimport Command from '../command';\n\nclass Literal extends Command {\n\n constructor(content: string) {\n super('');\n this.args.push(content);\n }\n\n toString() {\n return this.args.join(' ');\n }\n\n}\n\nexport default Literal;\n","'use strict';\n\nimport Command from '../command';\nimport Literal from './literal';\n\nclass Mach3Comment extends Command {\n private newline: boolean;\n\n constructor(content: string | Literal, newline = true) {\n super('(');\n this.newline = newline;\n this.args.push(content.toString());\n }\n\n toString() {\n return (this.newline ? '\\n' : '') + this.code + ' ' +\n this.args.join(' ') + ')';\n }\n\n}\n\nexport default Mach3Comment;\n"," \n'use strict';\n\nimport Command from '../command';\nimport Argument from '../argument';\n\nclass ArcMove extends Command {\n constructor(\n clockwise: boolean = true,\n x: number | null = null,\n y: number | null = null,\n i: number | null = null,\n j: number | null = null\n ) {\n super('G', clockwise ? 2 : 3);\n if (x !== null) {\n this.args.push(new Argument('X', x));\n }\n if (y !== null) {\n this.args.push(new Argument('Y', y));\n }\n if (i !== null) {\n this.args.push(new Argument('I', i));\n }\n if (j !== null) {\n this.args.push(new Argument('J', j));\n }\n }\n}\n\nexport default ArcMove;\n","import Command from './command';\nimport CmdGroup from './cmdgroup';\nimport GcodePrinter from './gcodeprinter';\nimport FeedVelocity from './commands/feedvelocity';\nimport SpindleSpeed from './commands/spindlespeed';\nimport RapidMove from './commands/rapidmove';\nimport FeedMove from './commands/feedmove';\nimport Comment from './commands/comment';\nimport Dwell from './commands/dwell';\nimport ClockwiseArc from './commands/clockwisearc';\nimport CounterClockwiseArc from './commands/counterclockwisearc';\nimport SubprogramCall from './commands/subprogramcall';\nimport SetLocalCoordinates from './commands/setlocalcoordinates';\nimport MacroCall from './commands/macrocall';\nimport GMacroCall from './commands/gmacrocall';\nimport ToolSelect from './commands/toolselect';\nimport Question from './commands/question';\nimport JogZ from './commands/jogz';\nimport JogY from './commands/jogy';\nimport JogW from './commands/jogw';\nimport Jog2 from './commands/jog2';\nimport Jog4 from './commands/jog4';\nimport Move2 from './commands/move2';\nimport MoveZ from './commands/movez';\nimport MoveX from './commands/movex';\nimport MoveY from './commands/movey';\nimport MoveW from './commands/movew';\nimport CutGCircle from './commands/cutgcircle';\nimport AbsoluteMode from './commands/absolutemode';\nimport Literal from './commands/literal';\nimport Mach3Comment from './commands/mach3comment';\nimport ArcMove from './commands/arcmove';\n\nconst name = 'Gcode',\n version = '0.0.1';\n\nconst myObject = {\n name,\n version\n};\n\nexport {\n name, myObject, Command, CmdGroup, ClockwiseArc, CounterClockwiseArc,\n Dwell, GcodePrinter, FeedVelocity, SpindleSpeed, RapidMove, FeedMove, Comment,\n SetLocalCoordinates, SubprogramCall, ToolSelect, MacroCall, GMacroCall, Question,\n JogZ, JogY, JogW, Jog2, Jog4, Move2, MoveZ, MoveY, MoveX, MoveW, CutGCircle, AbsoluteMode, Literal,\n Mach3Comment, ArcMove\n};\n"],"names":["Argument","processValue","result","value","Number","isInteger","isNaN","isFinite","numeral","format","toString","output","label","constructor","_define_property","Command","processArgs","processedArgs","args","map","current","code","codeNumber","length","join","Comment","newline","content","push","CmdGroup","Array","name","mName","GcodePrinter","print","arr","sb","forEach","FeedVelocity","velocity","SpindleSpeed","speed","RapidMove","x","y","z","w","FeedMove","f","Dwell","time","ClockwiseArc","r","CounterClockwiseArc","SubprogramCall","filename","SetLocalCoordinates","MacroCall","number","GMacroCall","ToolSelect","tool","Question","text","JogZ","JogY","JogW","Jog2","Jog4","Move2","MoveZ","MoveX","MoveY","MoveW","CutGCircle","d","unknown1","unknown2","unknown3","direction","i","j","AbsoluteMode","Literal","Mach3Comment","ArcMove","clockwise","version","myObject"],"mappings":"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"}