Horizon
Loading...
Searching...
No Matches
gerber_output_settings.hpp
1#pragma once
2#include "common/common.hpp"
3#include "common/lut.hpp"
4#include "nlohmann/json_fwd.hpp"
5#include "util/uuid.hpp"
6
7namespace horizon {
8using json = nlohmann::json;
9
11public:
13 public:
14 GerberLayer(int l);
15 GerberLayer(int l, const json &j);
16 json serialize() const;
17
18 int layer;
19 std::string filename;
20 bool enabled = true;
21 };
22
25 {
26 }
27 json serialize() const;
28 void update_for_board(const class Board &brd);
29
30 std::map<int, GerberLayer> layers;
31
32 enum class DrillMode { INDIVIDUAL, MERGED };
33 DrillMode drill_mode = DrillMode::MERGED;
34
35 static const LutEnumStr<DrillMode> mode_lut;
36
37 std::string drill_pth_filename = ".txt";
38 std::string drill_npth_filename = "-npth.txt";
39 uint64_t outline_width = 0.01_mm;
40
41 std::string prefix;
42 std::string output_directory;
43 bool zip_output = false;
44};
45} // namespace horizon
Definition board.hpp:47
Definition gerber_output_settings.hpp:12
Definition gerber_output_settings.hpp:10
a class to store JSON values
Definition json.hpp:177
basic_json<> json
default JSON class
Definition json_fwd.hpp:62