This is an early-stage FreeCAD workbench to deal with ROS (Robot Operating System).
Compatible with FreeCAD v0.19 (earlier version with the local coordinate system feature). Compatible with ROS2 (for now).
- Export
Part::Box
,Part::Sphere
, andPart::Cylinder
as text to be included in a URDF file.
You're on your own for now, see instructions for local install below.
If you want to work on this workbench you have the following options:
- Start FreeCAD from the root-directory of this repository in (by default
freecad.workbench_ros
) - Simply link the extension to a location where python can find it.
pip install -e .
adds the root-directory toeasy_install.path
.
To install your extension locally with pip, do the following from a cmd (windows) or terminal (unix):
cd <path_to_the_root_of_this_repo>
pip install .
Please have a look at this pypi twine tutorial.
Be careful with version-numbering. It seems pypi doesn't allow to upload a package with a version smaller than the biggest version of the package uploaded. This seems to be true also for deleted packages and deleted versions.
Once uploaded, the package can be installed with:
pip install <package-name>
- pyrate - Optical raytracing based on Python
- OpenGlider - Python library to build paragliders
- FCGear - a gear module for FreeCAD
- freecad_pipintegration - support pip installable freecad-packages
- module : a Python source file, which can expose classes, functions and global variables
- package : a directory containing Python modules.
- distribution : the artifacts which are created by running the setup.py. Can contain multiple packages.
- workbench : a graphical space inside the FreeCAD-Gui which adds functionality related to a specific task
- namespace-package : a package which adds functionality to a specific namespace. For FreeCAD we are talking about packages which are importable with
from freecad import my_package
. (Sometimes also called new-style-module) - namespace-workbench: a namespace-package containing the freecad-initialization files.
- extension-module: a library (
.so
or.dll
) written in C/C++ which adds the possibility to import this library with python.
Due to the fact we are now using the pktutil-module
to find extensions of FreeCAD, it's possible to use standard-python-paths to place the extension. This is any location which is included in the sys.path
.
To get a list of all the locations simple run this code in the FreeCAD-console:
import sys
sys.path