Code Monkey home page Code Monkey logo

lc2kicad's Introduction

LC2KiCad

The LC2KiCad Logo. This Logo is licensed under CC-BY-SA 3.0 license.

中文版本README


Overview

LC2KiCad is a software that is designed to be able to convert documents of EasyEDA (or aka. LCEDA, since it's owned by LCSC) to documents of KiCad 5.0 or higher. It is completely free, main part of code is licensed under GNU LGPL v3 license.

LC2KiCad is currently in development, and many features weren't yet available.*

LC2KiCad was initially started as a project that practices my C++ knowledge learned from C++ Primer Plus, so I managed to use as many features of the language as possible. Don't blame me for seeing tons of polymorphic classes that were not necessary!


How to compile the program

Dependency

LC2KiCad requires C++ standard libraries to be present. Compilation process requires GCC and CMake. Other compilers were not tested. You will also need Git to be able to pull the repository (if required).

"8" of -j 8 in the command, is the count of parallel jobs used during compilation. You could change the number according to your CPU core count.

Linux

git clone https://github.com/rigoligorlc/lc2kicad.git
cd lc2kicad
mkdir build && cd build
cmake .. && make -j 8

The compiled executable is right in lc2kicad/build/.

Windows

You need to get Git, CMake and Mingw working, and make sure all of them are available in PATH. The commands are virtually the same as Linux.

git clone https://github.com/rigoligorlc/lc2kicad.git
cd lc2kicad
mkdir build && cd build
cmake -G "MinGW Makefiles" .. && mingw32-make -j 8 

MSVC and Ninja are also supported. You may import the project into Visual Studio via CMakeLists.txt, or use cmake CLI directly.

macOS

No macOS compilation has been done. But things should be similar to Linux environment. Install gcc, cmake with brew and try similar procedures.


How to use LC2KiCad

Important Notes!

  • LC2KiCad is available only in CLI (command-line interface) by design, and the author has no plan of adding a GUI.

  • LC2KiCad is still working in progress, dleverything listed here are subject to change. Program might not work as how this part described. NO WARRANTY IS GUARANTEED.

Usable commands

  • lc2kicad Without an argument, the help message will be displayed.

  • lc2kicad -h or lc2kicad --help Display the help message.

  • lc2kicad --version Display the version and about message.

  • lc2kicad FILE1 [FILE2] ... Convert the files specified.

    The following part describes other parameters that the program accepts.

  • -a PARSER_ARGS Specify parser arguments. This is used for compatibility fixes, feature switches and other configurations for serializer and deserializer. See current documentation: Parser Arguments Descriptions

  • -v Use verbose output. More information will be output.

Not implemented functions

  • -o PATH Specify output path.
  • -f CONFIG_FILE Specify a configuration file rather than using the standard ones. Configuration file contains default output path, default parser arguments and other things.

Functions planned

  • --pipe Read file from STDIN until an EOF flag, output will come out of STDOUT.
  • -p ... FILE1 FILE2 [FILE3] ... Convert all specified files as a project, output a standard KiCad project. Multiple schematics are supported, but only the last PCB in the file list will be treated as the PCB associated with the project.
  • -S ... FILE1 FILE2 [FILE3] ... Treat all the files as a separate part of a multi-part schematic symbol, output a multi-part symbol.

If LC2KiCad cannot open a new file to write into, it will write everything into the standard output stream.

To be filled with other information


Licensing

LC2KiCad core part is licensed under GNU Lesser General Public License v3.

LC2KiCad utilized RapidJSON libraries which is licensed under MIT License.

Part of the program is ported from code licensed under Apache 2.0 License.


Important Notes!

We FORBID the illegal use of converting others' files and libraries with the binary distribution of this program.

We FORBID the use that is outside the EasyEDA Terms of Use with the binary distribution of this program.


© Copyright RigoLigoRLC 2020.

lc2kicad's People

Contributors

badluckw avatar rigoligorlc avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.