TraceMaker
C++ API of the engine
Loading...
Searching...
No Matches
board_editor.hpp File Reference

Edits a loaded .kicad_pcb document in place, KiCad style (design doc 08 §3). More...

#include <cstdint>
#include <string>
#include <string_view>
#include "io/kicad/board_reader.hpp"

Go to the source code of this file.

Classes

class  tmk::io::BoardEditor

Namespaces

namespace  tmk
namespace  tmk::io

Functions

bool tmk::io::flip_supported (const LoadedBoard &board, std::size_t index, std::string *why=nullptr)
 True if BoardEditor::flip_footprint mirrors every item of footprint index exactly: no copper on inner layers, no padstacks, no text on copper, and nothing it does not know (zones, text boxes, dimensions, private layers, ...).
std::string tmk::io::flip_layer_name (const model::Board &board, std::string_view name)
 KiCad's FlipLayer for outer layers: the first and last copper layer of board (by their names in the file) and F.X <-> B.X for the other side-specific layers; any other name unchanged.
std::string tmk::io::format_angle (double deg)
 Formats an angle the way KiCad writes it: shortest decimal, no trailing zeros ("90", "45.5").

Detailed Description

Edits a loaded .kicad_pcb document in place, KiCad style (design doc 08 §3).

Only the nodes TraceMaker owns change: new segment/via nodes, removed tracks, and footprint placement. Everything else is kept byte for byte. Re-read the document after editing to get an updated board model.

Definition in file board_editor.hpp.