{{ getPluginIcon(plugin.name) }}

{{ plugin.name }}

{{ getPluginDescription(plugin.name) }}

Priority: {{ plugin.priority }} {{ plugin.enabled ? '✅ Enabled' : '❌ Disabled' }}
{{ 'postProcessor.pluginStatus' | translate }}:
⚙️
{{ 'postProcessor.noConfigurableSettings' | translate }}
{{ getTranslatedLabel(schema) }}

{{ schema.description }}

{{ schema.description }}
{{ schema.description }}
{{ schema.description }}
{{ schema.description }}
Template
#123;ctx.currentTool}, Line=
Template
#123;ctx.lineNumber})" [nzAutosize]="{ minRows: 3, maxRows: 6 }" style="width: 100%; font-family: 'Consolas', 'Monaco', monospace; font-size: 13px; background: #f6f8fa; border: 2px solid #0969da; padding: 12px;">
Template
💡 Template Syntax
💡 Template Syntax
\$\{ctx.currentTool\} → Current tool number
\$\{ctx.lineNumber\} → Line number
\$\{cmd.type\} → Command type
Pro tip: Use any JavaScript expression inside \$\{\}
#123;ctx.currentTool}
→ Current tool number
💡 Template Syntax
\$\{ctx.currentTool\} → Current tool number
\$\{ctx.lineNumber\} → Line number
\$\{cmd.type\} → Command type
Pro tip: Use any JavaScript expression inside \$\{\}
#123;ctx.lineNumber}
→ Line number
💡 Template Syntax
\$\{ctx.currentTool\} → Current tool number
\$\{ctx.lineNumber\} → Line number
\$\{cmd.type\} → Command type
Pro tip: Use any JavaScript expression inside \$\{\}
#123;cmd.type}
→ Command type
Pro tip: Use any JavaScript expression inside
💡 Template Syntax
\$\{ctx.currentTool\} → Current tool number
\$\{ctx.lineNumber\} → Line number
\$\{cmd.type\} → Command type
Pro tip: Use any JavaScript expression inside \$\{\}
#123;}
TypeScript
🚀 Quick Snippets:
ctx.currentTool - Current tool number
ctx.currentFeedRate - Current feed rate
ctx.currentSpindleSpeed - Spindle speed
ctx.lineNumber - Current line number
ctx.currentPosition - {x, y, z}
ctx.lastPosition - Previous position
ctx.isRapidMode - Boolean
ctx.currentAptFile - Current file info
ctx.profile - Machine profile
ctx.outputSettings - Output settings
cmd.type - Command type (GOTO, LOADTL, etc.)
cmd.rawLine - Original APT line
cmd.position - {x, y, z}
cmd.toolNumber - Tool number
cmd.diameter - Tool diameter
cmd.cutterParams - Cutter parameters
cmd.spindleSpeed - Spindle speed
cmd.feedRate - Feed rate
ctx.formatNumber(val, decimals?)
ctx.formatPosition(pos)
ctx.formatComment(text)
ctx.calculateDistance(from, to)
ctx.getAllAptFiles()
ctx.getAllToolNumbers()
ctx.getToolInfo(toolNum)
ctx.getCommandsByType(type)
ctx.findCommand(predicate)
ctx.getPlugin(name)
ctx.getPluginSettings(name)
ctx.setPluginSettings(name, settings)
Basic Header:
const lines = [];
lines.push(ctx.formatComment('Tool: T' + ctx.currentTool));
lines.push(ctx.formatComment('Feed: ' + ctx.currentFeedRate));
return lines;
File Info:
const file = ctx.currentAptFile;
const lines = [];
if (file) {
  lines.push(ctx.formatComment('File: ' + file.name));
  lines.push(ctx.formatComment('Offset: ' + file.workOffset));
}
return lines;
Tool List:
const tools = ctx.getAllToolNumbers();
const lines = [];
tools.forEach(t => {
  const info = ctx.getToolInfo(t);
  lines.push(ctx.formatComment('T' + t + ': D' + info.diameter));
});
return lines;
{{ schema.description }}