← Back

ofxPlotterKit

github.com/ofxyz/ofxPlotterKit · @ofxyz
OF 0.12 GUI Hardware Interface

UI kit for ofxPlotter

0 0 Last commit 2mo ago Created 2mo ago

README

ofxPlotterKit



preview

Optional UI kit for ofxPlotter: reusable Dear ImGui windows and panels for plotter workflows.

Stable ImGui docking ids live in kit/PlotterKitUiIds.h

Windows



Registerable (plotter::kit::registerWindow)



These expose name() / isVisible() / draw(bool&):

viewport, transport, G0 travel overlay, companion actions. Use standalone draw() / registerWindow, or embed via drawScene() / drawHeader() in a viewport or main 2D view.

and selection via setters/callbacks. Optional setImGuiWindowTitle.

(plotproc::PlotPipeline) with optional last-run report and preset footer. Default Begin title: Pipeline###plotter_kit.pipeline.

at end), snippet catalog, reorderable list. Default title: Injections###plotter_kit.injections. Use setPenZProviders for live pen Z.

G-code line sync callbacks. Default title: Playback###plotter_kit.playback.

pause/stop, and safe home.

+ Serial Console (or registerWindow for both with shared opts).

Host-mounted panels



Title id: Generator###plotter_kit.gcode_gen.

Runtime::addViewportWindow("Toolpath 3D") from setup().

Supporting (not standalone windows)



#include "ofxPlotterKit.h"

plotter::kit::PlotterJogWindow jogWindow;
jogWindow.setEngine(&plotDoc);
jogWindow.setSender(&sender);
jogWindow.setPrefs(&machinePrefs);

plotter::kit::PlotterSerialWindow serialWindow;
serialWindow.setSender(&sender);
serialWindow.setPrefs(&prefs);
serialWindow.refreshDeviceList();
serialWindow.syncSelectionFromPrefs();

plotter::kit::registerWindow(ofkitty::runtime(), jogWindow);
plotter::kit::registerSerialWindows(ofkitty::runtime(), serialWindow);
plotter::kit::registerWindow(ofkitty::runtime(), pipelinePanel);
plotter::kit::registerWindow(ofkitty::runtime(), injectionsPanel);


Dependencies



ofxPlotter, ofxGrbl, ofxKit, ofxImGuiTextEdit

Get this addon

HTTPS
SSH