FikoYT Post Processor

Professional APT to G-Code Converter

Machine Profile

{{ currentProfile.description }} Axes: {{ currentProfile.limits.x ? 'XYZ' : '' }}{{ currentProfile.limits.a ? 'ABC' : '' }}
@if (recentFiles.length > 0) {

Recent Files from Server

@for (file of recentFiles; track file.url) {
πŸ“„
{{ file.name }}
{{ (file.size | toDosyaBoyutu).join(' ') }} {{ file.dateModified | date:"dd.MM.yyyy HH:mm" }}
@if (file.progressVisible) { }
}
} @if (files.length <= 0) {

{{ isDragging ? 'Drop files here!' : 'Drag & drop APT files or click' }}

Supports .apt and .FikoApt files

} @if (progressVisible) {
{{ currentFileName }} {{ progressPercent }}%
} @if (files.length > 0) {

Loaded Files ({{ files.length }})

@for (file of files; track file.id; let idx = $index) {
{{ file.name }} ({{ (file.size | toDosyaBoyutu).join(' ') }}) ⏱ {{ file.processingTime.humanReadable.total }}
X Min
{{ file.bounds.xMin | number: '1.0-3' }}
X Max
{{ file.bounds.xMax | number: '1.0-3' }}
Y Min
{{ file.bounds.yMin | number: '1.0-3' }}
Y Max
{{ file.bounds.yMax | number: '1.0-3' }}
Z Min
{{ file.bounds.zMin | number: '1.0-3' }}
Z Max
{{ file.bounds.zMax | number: '1.0-3' }}
Last Z
{{ file.bounds.zLast | number: '1.0-3' }}
}
} @if (files.length > 0) {
{{ includeHeaders ? 'Include Headers' : 'Skip Headers' }}
@if (mergeInProgress) {
{{ mergeStatus }} {{ mergeProgress }}%
} @if (mergedResult && !mergeInProgress) {
πŸ“Š
Files
{{ files.length }}
πŸ’Ύ
Total Size
{{ (getTotalFileSize() | toDosyaBoyutu).join(' ') }}
⏱️
Est. Time
{{ getTotalProcessingTime() }}
πŸ“
Bounds
X: {{mergedBounds.xMin?.toFixed(1)}}/{{mergedBounds.xMax?.toFixed(1)}}
Y: {{mergedBounds.yMin?.toFixed(1)}}/{{mergedBounds.yMax?.toFixed(1)}}
Z: {{mergedBounds.zMin?.toFixed(1)}}/{{mergedBounds.zMax?.toFixed(1)}}
}
} @if (result && result.success) {

Processing Result

Total Commands: {{ result.statistics.totalCommands }}
Motion Commands: {{ result.statistics.motionCommands }}
Tool Changes: {{ result.statistics.toolChanges }}
Total Distance: {{ result.statistics.totalDistance }} mm
G-Code Lines: {{ result.statistics.lineCount }}
@if (result.statistics.fileCount) {
Merged Files: {{ result.statistics.fileCount }}
}
@if (result.gcode) {
G-Code Preview
{{ getFirstNLines(mergedResult,100)+ '\n'+ '... DevamΔ± Dosyaya YazΔ±lacak ...' }}
}
}
{{ currentProfile.description }}
Number of decimal places in coordinates
Step between line numbers (N10, N20, etc.)
First line number in program
Safe Z height for tool changes and rapids
Use Line Numbers

Add N codes to each line

Use Comments

Include comments in output

πŸ›‘οΈ Collision Detection

Automatically clamp coordinate values within defined machine limits

⚑ Dynamic Feed Rate

Automatically adjust feed rate based on Z-axis depth

🎯 Path Optimization

Remove redundant moves and optimize toolpath

πŸ’¬ Verbose Output

Include detailed comments in generated G-Code

πŸ“ Tool Length Compensation

Enable G43/G49 tool length compensation

πŸ”„ Multi-Axis Support

Enable 4th and 5th axis rotary motion (A, B, C)

Auto-Number Operations

Automatically add sequential numbers

Include Timestamp

Add timestamp to separators

Color Markers

Add color tags for CAM software

Unique Separator ID

Add unique ID to each separator

{{ getEnabledPluginCount() }} / {{ generator?.getPlugins()?.length || 0 }} plugins enabled
{{ p.name }} P{{ p.priority }}
Default cutting feed rate
Maximum rapid traverse speed
Default spindle RPM
Default coolant mode
Enable Header

Include program header with metadata

Program Summary

Show operation count and total time

Tool List

Display all tools used in program

Operation List

List all operations with details

Machine Info

Show machine profile information

Date & Time

Include generation timestamp

Overall Bounds

Show total X/Y/Z ranges

Estimated Time

Display total processing time

Enable Operation Separators

Add visual separators between operations

File Name

Show operation file name

Work Offset

Display G54/G55 etc.

Bounds

Show operation X/Y/Z limits

Processing Time

Display operation duration

Tools Used

List tools in this operation

How tool information is displayed in comments
Show Diameter

Include tool diameter (Ø)

Show Radius

Include corner radius (R)

Show Length

Include tool length (H)

Show Raw Parameters

Display all CUTTER params

Enable Comments

Add inline comments to G-Code

Tool Changes

Comment on tool change lines

Motion Type

Show Rapid/Feed mode

Feed Rate

Comment feed rate changes

Spindle Speed

Comment spindle RPM

Coordinates

Show X/Y/Z values in comments

Enable Footer

Include program footer with summary

Show Summary

Display program statistics

End Time

Show completion timestamp

Example Header Output:
%
(╔═══════════════════════════════════════════════╗)
( PROGRAM Γ–ZETΔ° )
( Makine: {{currentProfile.name}} )
( Üretilme: (new Date()).toLocaleString('tr-TR'))
(β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•)
G90 G54

(╔═══════════════════════════════════════════════╗)
(───────────────────────────────────────────────)
( OPERASYON 1: Example.apt )
( Work Offset: G54 )
(β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•)

N10 M06 T1 (Tool Change: T1)
N10 M06 T1
N20 M03 S5000 (Spindle: 5000 RPM)
N20 M03 S5000
N30 G00 X10.000 Y10.000 Z50.000
N40 G01 Z-5.000 F1000
...

(╔═══════════════════════════════════════════════╗)
( PROGRAM SONU - SUMMARY )
( Toplam SatΔ±r: 150 )
(β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•)
N140 M05
N150 M09
N160 M30
%

Hızlıca başlamak için hazır şablonlardan birini seçebilirsiniz:

Enable Comment System

Merkezi comment sistemini aktif et

Wrap Long Comments

Uzun comment'leri otomatik olarak satΔ±rlara bΓΆl

Active Name Template Actions {{ template.name }}
{{ template.id }} {{ template.template }}
{{ getPluginIcon(plugin.name) }}
{{ plugin.name }} P{{ plugin.priority }}
Enable Operation Separators

Add visual separators between operations

Use Custom Templates

Enable template-based separators with variables

Template for operation start
{{ formatVariable(v) }} {{ formatVariable(v) }} {{ formatVariable(v) }} {{ formatVariable(v) }}
Template for operation end
${fileName} ${operationIndex} {{ formatVariable(v) }}
Include Extended Info Line

Add additional info (time, tools, bounds)

${{'{' + v + '}'}}
Show Processing Time
Show Tool Count
Show Bounds
Return to Safe Height
Example Output:
{{ generateSeparatorPreview() }}
Storage: {{ getStorageInfo().used }} used β€’ {{ getStorageInfo().profileCount }} profiles saved β€’ Clear Storage
{{ getPluginIcon(selectedPlugin.name) }}

{{ selectedPlugin.name }}

Priority: {{ selectedPlugin.priority }} | Status: {{ selectedPlugin.enabled ? 'Enabled' : 'Disabled' }}

{{ schema.label }}

{{ schema.description }}

{{ schema.description }}
{{ schema.description }}
{{ schema.description }}
{{ schema.description }}
Tip: Use ${{ '{' }}variable{{ '}' }} syntax

Editing: {{ editingTemplate.name }}

Use ${{ '{' }}variableName{{ '}' }} syntax for variables
${{ '{' }}{{ varName }}{{ '}' }}
Click to insert into template
${{ '{' }}{{ varName }}{{ '}' }}
Active Name / ID Template Actions {{ template.name }}
{{ template.id }} {{ template.template }}