KJDRAW / CAPABILITIES
Capabilities
Explore the editor, drawing, file, automation and extension features available to KJDraw applications.
Complete editor experience#
createKJDrawEditor() mounts a CAD workspace with a canvas, ribbon tools, command line, layers, properties, selection, zoom and file actions. It can start with a sample, a blank drawing or an existing KJDocument.
| Task | Available API |
|---|---|
| Embed in JavaScript or TypeScript | createKJDrawEditor() |
| Use React | <KJDraw> from @kanjieteam/kjdraw/react |
| Use Vue | <KJDraw> from @kanjieteam/kjdraw/vue |
| Open and save drawings | editor.open() and editor.save() |
| Control the editor | fit(), setSelection(), setTool() and setOptions() |
| Respond to users | change, selectionchange, documentchange and error events |
Drawing and editing#
- Create and edit common 2D entities including lines, polylines, circles, arcs, ellipses, splines, text, hatches, dimensions and blocks.
- Move, rotate, scale, mirror, offset, trim, extend, break, fillet, chamfer and explode through commands.
- Work with layers, layouts, selection sets, grips, snapping, intersections and measured geometry.
- Group related changes into transactions with undo and redo.
- Use the portable geometry path everywhere, with optional Rust/WebAssembly document, geometry and solid modules for supported workloads.
- Start from editable site-plan, architectural, road-profile and mechanical examples.
Files and projects#
KJD stores an individual drawing, KJP packages multi-drawing projects and related assets, and DXF connects the editor to common CAD exchange workflows. Applications can use browser file pickers, return bytes for custom storage, or connect project providers.
Continue to the Files and projects guide for working examples and format-specific details.
Automation and extensions#
The same commands used by the editor are available to application code, plugins and approved AI workflows. Add custom commands and panels through plugins, use the headless core for batch processing, or register project, compute and scene providers for your deployment.
Use sdk.capabilities() when an application needs to inspect the commands, entities and file adapters registered in its current runtime.
Compatibility details#
For format-specific coverage and reproducible issue reporting, use the versioned compatibility matrix. Never attach private customer drawings to a public issue; use a minimal redistributable example.