neonsoftware / sndwch

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

q libsndwch

What problem does it solve

Finally the thing that I want most is to create a box that:

  • can be designed and maintained without porper 3D tools
  • can be designed and maintained with cross-platform, free tools
  • can provide me files directly good for laser cutter
  • has solid joints
  • looks professional

Use Cases

1 - I should be able to merge some SVG files into a single one.

2 - I should be able to merge and also translate some SVG files into a single one, by using a .yaml file

3 - I should be able to represent a 3D object as a collection of extruded 2D polygons. Each 2D polygon is contained in a SVG file. The extrusions of such poligons are described in a single .yaml file.

External API

Merge multiple .SVG files into an .SVG file, Use Case 1

swc_err_t swc_merge(const char ** in_paths, size_t in_paths_size, const char* out_path);

Parse a .yaml, process all cuts, and print result .SVG files in out_dir_path

swc_err_t swc_sandwich(const char* config_file_path, const char * out_dir_path);

Internal API

… content of file src/swc_dev.h

Dependencies

cmake, ctest

libyaml

libxml

Build

cd build && cmake .. && make

Investigate possibility of already defining cut colors

Investigate possibility of defining and cosidering laser depth

Handle relative paths in the config file

prepared proper TODO in the exposed API, swc_merge, and swc_sandwich

Documentation

About


Languages

Language:C 94.0%Language:CMake 5.9%Language:Emacs Lisp 0.2%