Skip to content

Development

Snupai edited this page May 28, 2026 · 3 revisions

Development Notes

Repository Layout

Path Purpose
include/multipack/ Public headers by domain.
src/ Implementation by domain (core, ui, network, robot, etc.).
ui/ Qt Designer forms and legacy UI resources.
resources/ Icons, audio, and Qt resources.
docs/ Deeper repository docs.
tests/ Qt test suites.

Useful Repository Docs

  • docs/BUILDING.md
  • docs/architecture.md
  • docs/MIGRATION.md
  • docs/UPDATE_SIGNING.md

.rob File Structure

Multipack .rob files are tab-separated integer files. The parser tries UTF-8, Latin-1, Windows-1252, and then the system encoding.

Line or section Meaning
Line 1 Palette dimensions: [length, width, height] in mm.
Line 2 Package dimensions: [length, width, height, gap] in mm.
Line 3 Number of layer types.
Line 4 Number of layers.
Layer assignment section One row per layer: [layer_type, intermediate_layer_flag].
Package count section One count row per layer type.
Package position section One row per package position, 9 integers per row.

Package position format:

[xPick, yPick, anglePick, xDrop, yDrop, angleDrop, count, xVector, yVector]

Database Tables

Table Purpose
paletten_metadata File name, timestamp, layer/package counts, orientation, center of gravity.
daten Raw integer .rob data by row and column.
paletten_dim Palette dimensions.
paket_dim Package dimensions, package weight, single-package-lengthwise flag.
lage_zuordnung Layer type assignment per layer.
zwischenlagen Intermediate layer flag per layer.
pakete_zuordnung Package count per layer type.
paket_pos Package position rows.

All child tables reference paletten_metadata(id) with cascade delete.

Coding Notes

  • C++17 + Qt6 signals/slots.
  • Ownership mostly via QObject parenting and smart pointers.
  • Runtime state is shared through core::GlobalState.
  • network::XmlRpcServer::registerStandardMethods() is the source of truth for deployed XML-RPC methods.
  • UR10ServerFunctions and UR20ServerFunctions contain registry helper names that are not automatically exposed by the standard server.

<- Previous: Troubleshooting | Home | Next: Home ->

Clone this wiki locally