• Stars
    star
    135
  • Rank 269,297 (Top 6 %)
  • Language
    Python
  • Created over 8 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ebook: Module developer's guide to FreeCAD 's source code

Module developer's guide to FreeCAD source code

by Qingfeng Xia 2016~

by Luzpaz 2019~

download the latest version from pdf folder of this repo

Changelog

  • 2015-09-18 version 0.1 for FreeCAD version 0.16-dev

  • 2016-09-18 version 0.2 for FreeCAD version 0.17-dev

  • 2019-06-18 start again to work towards version 0.3 for FreeCAD version 0.19-dev

Plan and progress

This book should be updated for the recent release, esp. after migration to Python3 + Pyside2. I plan another release for FreeCAD 0.19 dev near Xmas time.

Chinese translation(中文翻译)

FreeCAD模块开发指南 第1章 FreeCAD概述和软件架构

FreeCAD模块开发指南 第2章 FreeCAD源代码结构

License of this book

Similar as FreeCAD document license CC-BY 3.0

This ebook is licensed as Attribution-ShareAlike 4.0 International

see the full text in this repo and also online https://creativecommons.org/licenses/by-sa/4.0/ In short, this license let you

Share — copy and redistribute the material in any medium or format Adapt — remix, transform, and build upon the material for any purpose, even commercially.

Just request: share your derived work(share-alike) and credit the author (attribution)

Acknowledge to developers of FreeCAD

Original/lead developers:

Add all contributors see https://www.freecadweb.org/wiki/Contributors

Target audiences: new module developers

Make sure you are familiar with FreeCAD workbench GUI and API as a user:

Doxygen documents links

Doxygen generated online documentation of source for 0.16dev, will be delete soon

Doxygen generated online documentation of source for 0.19dev on 2019-06-24

Why I want to write this book

  • Learn the software architecture of FreeCAD: a large open source project
  • Learn to use git to contribute to open source projects like FreeCAD
  • Save time for new developers to explore the source code of FreeCAD
  • Record personal note and lesson during writing/contributing code to FreeCAD
  • Some chapters of this ebook is seeking to be merged into official wiki after reviewed as usable

My research: "Automated and Intelligent Engineering Design"

How to contribute to this ebook

  • write on unfinished topics/chapters listed in todo.md fork and pull request git clone https://github.com/qingfengxia/FreeCAD_Mod_Dev_Guide.git

  • file bug for outdated code analysis As this book is about code analysis while FreeCAD is under heavy development, source codes quoted may outdated quickly. Please point out my report bugs in this github issues board

  • This ebook is pre-processed by a python script, see more details in the scripts folder's Readme.

    There are some anchor texts like:

    • [src/*.h/cpp] are processed into link to the latest official FreeCAD source.
    • some another anchors "## folders ... ", which will be marked out soon more explicitly

Acknowledgement to my family

This work is not funded to my employers (Oxford Unviersity, UKAEA) by the time 2019. It is a community voluntary work, thank every one review, contribute to this book.

Qingfeng Xia thanks for my wife Ms J. Wang, and other family members' for the housework exempt to complete this work.


More Repositories

1

Cfd

Computional Fluid Dynamics (CFD) for FreeCAD based on OpenFOAM and Fenics solver
Python
185
star
2

FenicsSolver

multiphysics FEM solver based on Fenics library
Python
73
star
3

python_wrap

Demonstration, comparison and interopereation of different c++11 class python wrapping methods, like swig, pybind11, binder, cython, cppyy, etc, with CMake integration setup.
CMake
21
star
4

qhexedit

QHexEdit is a hex editor widget written in C++ for the Qt 4.x and 5.x, providing python binding
C++
20
star
5

CAE_pipeline

demonstration of automated engineering design and optimisation process uisng open source tools and Python
Python
15
star
6

freesteam

a free implementation of IAPWS-IF97 thermophysical properties for water and steam
C
5
star
7

cpp_numeric_cast

provides std::to_integer<>() and std::numeric_cast<>(), std::to_enum<>() with runtime overflow check
C++
5
star
8

cppBase

Type system and BaseClass, Unit and Quantity, Geometry classes and Design patterns for C++, extracted from FreeCAD base module
C++
4
star
9

quasi_static_metal_cutting

source code for quasi static thermal modelling for high speed metal cutting (supplement to a journal publication)
Python
3
star
10

qingfengxia.github.io

Homepage for Qingfeng Xia's github open sources projects (automatic and intelligent engineering design)
HTML
3
star
11

System.Half

Half precision floating point (IEEE 754 binary16) for dotnet (before 5.0)
C#
2
star
12

CppSerializationGenerator

C++ persistence glue code generator written in python clang for HDF5, toml, json, boost serialization
Python
1
star
13

arduinorobotcar

Two or Four wheels Arduino Robot Car with wireless control and voice control by Raspberry Pi/BeagleBone
1
star
14

python-projecteuler

Python to solve math problems on https://projecteuler.net
Python
1
star
15

Cfd_dev

Python
1
star