This documentation is not finished. Please help and contribute documentation.
GuiCommand model explains how commands should be documented. Browse Category:UnfinishedDocu to see more incomplete pages like this one. See Category:Command Reference for all commands.
See WikiPages to learn about editing the wiki pages, and go to Help FreeCAD to learn about other ways in which you can contribute.
Among the options for building and installing FreeCAD, there is the option of using Docker. This method is primarily useful for FreeCAD developers, using Linux or Mac OS computers.
All of FreeCAD's dependencies are already installed, compatible with each other, and configured appropriately, allowing you to get started developing very quickly.
The best way to get FreeCAD's source code is to clone the Git repository. For this you need the git
program which can be easily installed in most Linux and Mac OS distributions, and it can also be obtained from the official website.
This will place a copy of the latest version of the FreeCAD source code in a new directory called freecad_source
.
git clone --recurse-submodules https://github.com/FreeCAD/FreeCAD.git ~/my_code/freecad_source
For more information on using Git, and contributing code to the project, see Source code management.
Create a directory to hold your compiled FreeCAD source.
mkdir ~/my_code/freecad_build
Pull the Docker image. (Official image coming soon.)
docker pull registry.gitlab.com/daviddaish/freecad_docker_env:latest
In order for FreeCAD to launch it's GUI from within the Docker container, you need to give Docker access permissions to your window manager. In most Linux distributions, this is the X window system. You can use the below command to allow blanket access to X, until you reboot or logoff your computer.
xhost +
If you're connected to any untrusted systems, such as via ssh
, this will make you vulnerable to malicious code. Either close any ssh
connections, or look into more secure xhost permissions, which is outside the scope of this tutorial.
For those using Mac OS, the X window system may not be installed. The XQuartz project is a long running open source project that will allow you to add it to your computer. You can find it here.
Assign environment variables so the Docker container will mount FreeCAD's source code, and build directory. In addition, you can mount an extra directory to contain any files you'd like to use for testing purposes. In the below snippet, we've left it as your home directory as a simple default.
fc_source=~/my_code/freecad_source
fc_build=~/my_code/freecad_build
other_files=~/
Launch the Docker image.
docker run -it --rm \
-v $fc_source:/mnt/source \
-v $fc_build:/mnt/build \
-v $other_files:/mnt/files \
-e "DISPLAY" -e "QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
registry.gitlab.com/daviddaish/freecad_docker_env:latest
You can build FreeCAD using the installed build script, or using your preferred method.
/root/build_script.sh
Once FreeCAD has been built, it can be run as normal.
/mnt/build/bin/FreeCAD
You can find the attached directories in the /mnt
directory.