Free Cad Documentation



Comments



Description

Manual – FreeCAD DocumentationPage 1 of 93 Manual Vu FreeCAD Documentation This is the FreeCAD manual. It includes the essential parts out of the FreeCAD documentation wiki. It is made primarily to be printed as one big document, so, if you are reading this online, you might prefer to head directly to the Online help version, which is easier to browse. Welcome to the FreeCAD on-line help This document has been automatically created from the contents of the official FreeCAD wiki documentation, which can be read online at http://www.freecadweb.org/wiki/index.php?title=Main_Page. Since the wiki is actively maintained and continuously developed by the FreeCAD community of developers and users, you may find that the online version contains more or newer information than this document. There you will also find in-progress translations of this documentation in several languages. But nevertheless, we hope you will find here all information you need. In case you have questions you can't find answers for in this document, have a look on the FreeCAD forum (http://forum.freecadweb.org/index.php), where you can maybe find your question answered, or someone able to help you. How to use This document is divided into several sections: introduction, usage, scripting and development, the last three address specifically the three broad categories of users of FreeCAD: end-users, who simply want to use the program, power-users, who are interested by the scripting capabilities of FreeCAD and would like to customize some of its aspects, and developers, who consider FreeCAD as a base for developing their own applications. If you are completely new to FreeCAD, we suggest you to start simply from the introduction. http://www.freecadweb.org/wiki/index.php?title=Manual 27.09.2015 Manual – FreeCAD Documentation Page 2 of 93 Contribute As you may have experienced sometimes, programmers are really bad help writers! For them it is all completely clear because they made it that way. Therefore it's vital that experienced users help us to write and revise the documentation. Yes, we mean you! How, you might ask? Just go to the Wiki at http://www.freecadweb.org/wiki/index.php in the User section. You will need a FreeCAD wiki account to log in. Ask on the forum or on the irc channel for wiki write permission (the wiki is write-protected to avoid spamming) and we will create an account for you. Currently the wiki account is separate to the forum account but we will create the wiki account with the same name as your forum account. Then you can start editing! Also, check out the page at http://www.freecadweb.org/wiki/index.php? title=Help_FreeCAD for more ways you can help FreeCAD. < previous: Online Help Toc Index http://www.freecadweb.org/wiki/index.php?title=Manual next: About FreeCAD > 27.09.2015 Manual – FreeCAD Documentation Page 3 of 93 Introduction FreeCAD is a general purpose parametric 3D CAD (http://en.wikipedia.org/wiki/CAD) modeler. The development is completely Open Source (http://en.wikipedia.org/wiki/Open_source) (LGPL License). FreeCAD is aimed directly at mechanical engineering (http://en.wikipedia.org/wiki/Mechanical_engineering) and product design (http://en.wikipedia.org/wiki/Product_design) but also fits in a wider range of uses around engineering, such as architecture or other engineering specialties. http://www.freecadweb.org/wiki/index.php?title=Manual 27.09.2015 org/wiki/Maya_(software)).org/wiki/Parametric_feature_based_modeler) with a modular software architecture which makes it easy to provide additional functionality without modifying the core system.wikipedia.wikipedia.org/wiki/Open_Inventor).qtsoftware. and Python (http://www. the world-famous UI framework.org/wiki/CAD) modelers it has many 2D components in order to sketch 2D shapes or extract design details from the 3D model to create 2D production drawings.wikipedia. FreeCAD itself can also be used as a library by other programs.org/wiki/CINEMA_4D)). one of the best scripting languages available.com/).org/wiki/Catia).org/wiki/Blender_%28software%29) or Cinema 4D (http://en.wikipedia.wikipedia.org/wiki/Product_Lifecycle_Management).wikipedia. PLM (http://en.org/wiki/AutoCAD#AutoCAD_LT)) is not the focus.wikipedia.09.org).org/wiki/index.wikipedia. 3ds Max (http://en.org/wiki/3ds_Max).2015 . http://www. an incarnation of Open Inventor (http://en.Manual – FreeCAD Documentation Page 4 of 93 FreeCAD features tools similar to Catia (http://en.wikipedia.freecadweb.wikipedia. FreeCAD makes heavy use of all the great open-source libraries that exist out there in the field of Scientific Computing (http://en.org/wiki/Solid_Edge). CAx (http://en.org/wiki/Scientific_Computation).php?title=Manual 27. Among them are OpenCascade (http://OpenCascade.wikipedia. Qt (http://www.org/wiki/Computer-aided_engineering).wikipedia. It is a feature based parametric modeler (http://en. Coin3D (http://www. thanks to its wide adaptability. Blender (http://en.org).org/wiki/Solidworks) or Solid Edge (http://en. although. SolidWorks (http://en. As with many modern 3D CAD (http://en. FreeCAD might become useful in a much broader area than its current focus.org).wikipedia. a powerful CAD kernel. and therefore also falls into the category of MCAD (http://en.wikipedia. neither are animation or organic shapes (like Maya (http://en.wikipedia.wikipedia.org/wiki/CAD).org/wiki/CAx) and CAE (http://en. but direct 2D drawing (like AutoCAD LT (http://en.Coin3D.python. 15 .March 2014 Release 0.11 .12 .09. Also. where most of the ideas and decisions are discussed.Manual – FreeCAD Documentation Page 5 of 93 FreeCAD is also fully multi-platform (http://en. hence not complete. list of features FreeCAD implements. They work on FreeCAD voluntarily.php?title=Manual 27. FreeCAD is maintained and developed by a community of enthusiastic developers and users (see the contributors page).December 2011 Release 0.wikipedia. Release notes ■ ■ ■ ■ ■ Release 0.March 2011 Release 0. the Screenshots are a nice place to go.org/wiki/index. in their free time. They cannot guarantee that FreeCAD contains or will contain everything you might wish. and currently runs flawlessly on Windows and Linux/Unix and Mac OSX systems.freecadweb. About the FreeCAD project The FreeCAD project was started as far as 2001. take a look at the Feature list.2015 .March 2015 http://www.14 .January 2013 Release 0. the latest release notes or the Getting started articles. with the exact same look and functionality on all platforms.freecadweb. as described in its history page.org).org/wiki/Crossplatform). Feel free to join us there! < previous: Online Help Startpage Index next: Feature list > This is an extensive.13 . For more information about FreeCAD's capabilities. If you want to look into the future see the Development roadmap for a quick overview of what's coming next. but they will usually do their best! The community gathers on the FreeCAD forum (http://forum. or see more screenshots. wikipedia. STL (http://en.org/wiki/STL_(file_format)).wikipedia. macros or external scripts to almost any part of FreeCAD.freecadweb. IGES (http://en. DXF (http://en.org/wiki/VRML) in addition to FreeCAD's native http://www.org/wiki/index.wikipedia. which means their shape can be based on properties or even depend on other objects. All FreeCAD objects are natively parametric.wikipedia. OBJ (http://en.org/wiki/Obj).org/wiki/STL_%28file_format%29). that can even be fully programmed in Python ■ A modular architecture that allow plugins (modules) to add functionality to the core application.org/wiki/NASTRAN).Manual – FreeCAD Documentation Page 6 of 93 Key features ■ A complete Open CASCADE Technology (http://en.php?title=Manual 27.org/wiki/Svg).wikipedia. nurbs curves and surfaces.org/wiki/Industry_Foundation_Classes) or OFF (http://people. You have complete access from the Python built-in interpreter.html). STL (http://en.09. being geometry creation and transformation.org/wiki/COLLADA).fsu. the 2D or 3D representation of that geometry (scenegraph) or even the FreeCAD interface ■ Import/export to standard formats such as STEP (http://en. VRML (http://en.wikipedia. boolean operations and fillets. and recorded by the undo/redo stack.edu/~jburkardt/data/off/off.org/wiki/Dxf). and built-in support of STEP and IGES formats ■ A full parametric model.wikipedia. NASTRAN (http://en.wikipedia. SVG (http://en.org/wiki/ISO_10303).2015 .org/wiki/IGES).org/wiki/Open_CASCADE)-based geometry kernel allowing complex 3D operations on complex shape types. New object types can be added easily. a wide range of geometric entities. DAE (http://en.wikipedia. all changes being recalculated on demand.wikipedia. Those extensions can be as complex as whole new applications programmed in C++ or as simple as Python scripts or self-recorded macros. with native support for concepts like brep.wikipedia. IFC (http://en.wikipedia.sc. wikipedia.wikipedia. The making of the Arch module is heavily discussed by the community here (http://forum.org/wiki/index. since it depends on the module that implements it.2015 . ■ A Sketcher with constraint-solver. The sketcher currently allows you to build several types of constrained geomerty. General features ■ FreeCAD is multi-platform. The module is still sparse but already features a powerful Python functionality.09.org/wiki/Industry_Foundation_Classes) compatibility. ■ A Drawing sheets module that permit to put 2D views of your 3D models on a sheet. ■ A Rendering module that can export 3D objects for rendering with external renderers. The level of compatibility between FreeCAD and a given file format can vary. This modules then produces ready-to -export SVG or PDF sheets.wikipedia.wikipedia. It runs and behaves exactly the same way on Windows Linux and Mac OSX platforms. http://www. and use them as a base to build other objects throughout FreeCAD. but is expected to be extended to other renderers in the future.freecadweb.org/viewtopic. with IFC (http://en. Currently only supports povray (http://en.org/wiki/LuxRender). The robot module already has an extended graphical interface allowing GUI-only workflow.org/wiki/Building_Information_Modeling)like workflow.Manual – FreeCAD Documentation Page 7 of 93 Fcstd file format.php?f=10&t=821). ■ A Robot simulation module that allows to study robot movements.php?title=Manual 27. ■ An Architecture module that allows BIM (http://en. allowing to sketch geometry-constrained 2D shapes.org/wiki/POV-Ray) and LuxRender (http://en.freecadweb. Manual – FreeCAD Documentation Page 8 of 93 ■ FreeCAD is a full GUI application. FreeCAD has a complete Graphical User Interface based on the famous Qt (http://www.qtsoftware.com/) framework, with a 3D viewer based on Open Inventor (http://en.wikipedia.org/wiki/Open_Inventor), allowing fast rendering of 3D scenes and a very accessible scene graph representation. ■ FreeCAD also runs as a command line application, with low memory footprint. In command line mode, FreeCAD runs without its interface, but with all its geometry tools. It can be, for example, used as server to produce content for other applications. ■ FreeCAD can be imported as a Python module, inside other applications that can run python scripts, or in a python console. Like in console mode, the interface part of FreeCAD is unavailable, but all geometry tools are accessible. ■ Workbench concept: In the FreeCAD interface, tools are grouped by workbenches. This allows to display only the tools used to accomplish a certain task, keeping the workspace uncluttered and responsive, and the application fast to load. ■ Plugin/Module framework for late loading of features/data-types. FreeCAD is divided into a core application and modules, that are loaded only when needed. Almost all the tools and geometry types are stored in modules. Modules behave like plugins, and can be added or removed to an existing installation of FreeCAD. ■ Parametric associative document objects: All objects in a FreeCAD document can be defined by parameters. Those parameters can be modified on the fly, and recomputed anytime. The relationship between objects is also stored, so modifying one object also modifies its dependent objects. ■ Parametric primitive creation (box, sphere, cylinder, etc) ■ Graphical modification operations like translation, rotation, scaling, mirroring, offset (trivial or after Jung/Shin/Choi (http://www.ann.jussieu.fr/~frey/papers/meshing/Jung%20W.,%20Selfintersection%20removal%20in%20triangular%20mesh% 20offsetting.pdf)) or shape conversion, in any plane of the 3D space http://www.freecadweb.org/wiki/index.php?title=Manual 27.09.2015 Manual – FreeCAD Documentation Page 9 of 93 ■ Boolean operations (http://en.wikipedia.org/wiki/Constructive_solid_geometry) (union, difference, intersect) ■ Graphical creation of simple planar geometry like lines, wires, rectangles, arcs or circles in any plane of the 3D space ■ Modeling with straight or revolution extrusions, sections and fillets. ■ Topological components like vertices, edges, wires and planes (via python scripting). ■ Testing and repairing tools for meshes: solid test, non-two-manifolds test, self-intersection test, hole filling and uniform orientation. ■ Annotations like texts or dimensions ■ Undo/Redo framework: Everything is undo/redoable, with access to the undo stack, so multiple steps can be undone at a time. ■ Transaction management: The undo/redo stack stores document transactions and not single actions, allowing each tool to define exactly what must be undone or redone. ■ Built-in scripting framework: FreeCAD features a built-in Python (http://www.python.org/) interpreter, and an API that covers almost any part of the application, the interface, the geometry and the representation of this geometry in the 3D viewer. The interpreter can run single commands up to complex scripts, in fact entire modules can even be programmed completely in Python. ■ Built-in Python console with syntax highlighting, autocomplete and class browser: Python commands can be issued directly in FreeCAD and immediately return results, permitting scriptwriters to test functionality on the fly, explore the contents of the modules and easily learn about FreeCAD internals. ■ User interaction mirroring on the console: Everything the user does in the FreeCAD interface executes python code, which can be printed on the console and recorded in macros. http://www.freecadweb.org/wiki/index.php?title=Manual 27.09.2015 Manual – FreeCAD Documentation Page 10 of 93 ■ Full macro recording & editing: The python commands issued when the user manipulates the interface can then be recorded, edited if needed, and saved to be reproduced later. ■ Compound (ZIP based) document save format: FreeCAD documents saved with .fcstd extension can contain many different types of information, such as geometry, scripts or thumbnail icons. The .fcstd file is itself a zip container, so a saved FreeCAD file has already been compressed. ■ Fully customizable/scriptable Graphical User Interface. The Qt (http://www.qtsoftware.com)-based interface of FreeCAD is entirely accessible via the python interpreter. Aside from the simple functions that FreeCAD itself provides to workbenches, the whole Qt framework is accessible too, allowing any operation on the GUI, such as creating, adding, docking, modifying or removing widgets and toolbars. ■ Thumbnailer (Linux systems only at the moment): The FreeCAD document icons show the contents of the file in most file manager applications such as gnome's nautilus. ■ A modular MSI installer allows flexible installations on Windows systems. Packages for Ubuntu systems are also maintained. In development ■ An Assembly module that allows to work with multiple projects, multiple shapes, multiple documents, multiple files, multiple relationships... ■ A Cam Module dedicated to mechanical machining like milling, and will be able to output, display and adjust G code (http://en.wikipedia.org/wiki/G-code). This module is currently in planning state. < previous: About FreeCAD Index next: Install on Windows > http://www.freecadweb.org/wiki/index.php?title=Manual 27.09.2015 15.15.freecadweb.09.2015 .org/wiki/index.Manual – FreeCAD Documentation Page 11 of 93 Installation Install on Windows The easiest way to install FreeCAD on Windows is to download the installer below.com/FreeCAD/FreeCAD/releases/download/0. Windows (https://github. http://www.15/FreeCAD0. If you would like to download either a 64 bit or unstable development version. Below is more information about technical options.msi (Microsoft Installer) file.exe) 32 bits Windows (https://github.php?title=Manual 27. This page describes the usage and the features of the Microsoft Installer for more installation options.4671_x86_windows_setup. just double-click on it to start the installation process. don't worry! Most Windows users will not need anything more than the .exe) 64 bits After downloading the .4671_x64_windows_setup. see the Download page.com/FreeCAD/FreeCAD/releases/download/0.15/FreeCAD0.msi to install FreeCAD and Get started! Simple Microsoft Installer Installation The easiest way to install FreeCAD on Windows is by using the installer above. If it looks daunting. Reduced interface . For example.msi installation can be initiated programmatically.msi TARGETDIR=r:\FreeCAD25 Limited user interface The amount of user interface that installer displays can be controlled with /q options. in particular: /qn . Additional parameters can be passed at the end of this command line.Like /qb. but display "Completed" dialog at the end ■ /qb+ .Basic interface . like non-interactive installation and administrative installation.09.php?title=Manual 27. Non-interactive Installation With the command line msiexec /i FreeCAD<version>.exe command line utility.5.Like /qn. but hide the Cancel button /qr .Manual – FreeCAD Documentation Page 12 of 93 Command Line Installation With the msiexec. a different installation drive can be specified with TARGETDIR=R:\FreeCAD25 http://www.No interface /qb .2015 . additional features are available.Like /qb.org/wiki/index.freecadweb.display all dialogs that don't require user interaction (skip all modal dialogs) ■ /qn+ . but display "Completed" dialog at the end ■ ■ ■ ■ Target directory The property TARGETDIR determines the root directory of the FreeCAD installation. like msiexec /i FreeCAD-2.just a small progress dialog /qb! . list of feature to be installed on the local machine ■ REMOVE . The following properties control features to be installed or removed ■ ADDLOCAL .install the software proper.install documentation Source code . ToDo In addition. Feature Selection A number of properties allow selection of features to be installed..Manual – FreeCAD Documentation Page 13 of 93 The default TARGETDIR is [WindowsVolume\Programm Files\] FreeCAD<version>. ALL specifies all features.install the sources .list of features to be reinstalled/repaired ■ ADVERTISE .. and the interactive installation offers a dialog which defaults to "all users" if the user is sufficiently privileged. By default. or removed.list of features to be removed ■ ADDDEFAULT . The set of features for the FreeCAD installer is ■ ■ ■ ■ DefaultFeature .freecadweb. All features depend on DefaultFeature.09. plus the core libraries Documentation .list of feature for which to perform an advertise installation http://www. Installation for All Users Adding ALLUSERS=1 causes an installation for all users.2015 .org/wiki/index. reinstalled. so installing any feature automatically installs the default feature as well.list of features added in their default configuration (which is local for all FreeCAD features) ■ REINSTALL .php?title=Manual 27. the non-interactive installation install the package just for the current user. alternatively.Manual – FreeCAD Documentation Page 14 of 93 There are a few additional properties available.09. Administrative installation With msiexec /a FreeCAD<version>. The files get unpacked into the target directory (which should be a network directory).msi an "administrative" (network) installation can be initiated. another (smaller) msi file is generated in the target directory. Uninstallation With msiexec /x FreeCAD<version>. Currently. With these options. adding ADDLOCAL=Extensions installs the interpreter itself and registers the extensions. You can find the product code by looking at the properties of the Uninstall shortcut that FreeCAD installs in the start menu. there is no user interface for administrative installations.org/wiki/index. see the MSDN documentation for details. but does not install anything else. which clients can then use to perform a local installation (future versions may also offer to keep some features on the network drive altogether). http://www.freecadweb. but no other modification is made to the local system.2015 .msi FreeCAD can be uninstalled. It is not necessary to have the MSI file available for uninstallation. the package or product code can also be specified.php?title=Manual 27. In addition. so the target directory must be passed on the command line. but no advertisement of shortcuts. Group policy propagation typically takes some time . Copy the MSI file into a folder that is shared with access granted to all target machines. all machines should be rebooted.Manual – FreeCAD Documentation Page 15 of 93 There is no specific uninstall procedure for an administrative install .to reliably deploy the package. This would cause the icons to appear in the start menu.09. Automatic Installation on a Group of Machines With Windows Group Policy. The FreeCAD installer currently supports just advertisement of start menu entries. The first usage of a feature would cause that feature to be installed.msi it would be possible. Open Properties 6. Optionally. Open Group Policies 7. perform the following steps: 1.php?title=Manual 27. and the extensions to become registered. select that you want the FreeCAD to be deinstalled if the computer leaves the scope of the policy. Log on to the domain controller 2. In Computer Configuration/Software Installation. in principle.org/wiki/index. Add a new policy. http://www. Navigate to the group of computers that need FreeCAD 5.freecadweb.2015 .just delete the target directory if no client uses it anymore. To do so. choose New/Package 9. and edit it 8. it is possible to automatically install FreeCAD an a group of machines. 3. Advertisement With msiexec /jm FreeCAD<version>. without the software actually being installed. Open the MMC snapin "Active Directory users and computers" 4. Select the MSI file through the network path 10. to "advertise" FreeCAD to a machine (with /ju to a user). Lubuntu and Xubuntu).2015 . Once you've got FreeCAD installed. like with other programs running under Wine i.php?title=Manual 27. Run msiexec from the CXOffice command line.freecadweb.09. and FreeCAD should be directly available via the package manager available on your distribution. Official Ubuntu repository FreeCAD is available from Ubuntu repositories and can be installed via the Software Center or with this command in a terminal: http://www.org/wiki/index. Google SketchUp. The FreeCAD team also provides a couple of "official" packages when new releases are made. < previous: Feature list Index next: Install on Unix > Install on Unix/Linux The installation of FreeCAD on the most well-known linux systems has been now endorsed by the community.0. there are non official distros such as Linux Mint. it's time to get started! Ubuntu and Ubuntu-based systems Many Linux distributions are based on Ubuntu and share its repositories. and a couple of experimental PPA repositories for testing bleeding-edge features.msi FreeCAD is running. Besides official variants (Kubuntu. The installation options below should be compatible to these systems.e.1. assuming that the install package is placed in the "software" directory which is mapped to the drive letter "Y:": msiexec /i Y:\\software\\FreeCAD<version>. but it has been reported that the OpenGL display does not work. Voyager and others.Manual – FreeCAD Documentation Page 16 of 93 Installation on Linux using Crossover Office You can install the windows version of FreeCAD on a Linux system using CXOffice 5. Latest Stable Release from the PPA The FreeCAD community provides a PPA repository on Launchpad (https://launchpad.Manual – FreeCAD Documentation Page 17 of 93 sudo apt-get install freecad But chances are this version will be outdated.freecadweb. and not have the latest features. Installing from the GUI Add to your system's Software Sources the following PPA (read What are PPAs and how do I use them? (http://askubuntu.net/~freecad-maintainers/+archive/freecad-stable) with the latest stable FreeCAD version. click OK.php?title=Manual 27.09. or your package manager of choice.com/questions/4983/whatare-ppas-and-how-do-i-use-them/5102#5102%29) if you don't know how): ppa:freecad-maintainers/freecad-stable When a dialog window asks you to refresh your software sources. Installing from the console Type (or copy-paste) these commands in a console to add the PPA and install FreeCAD along with the documentation: sudo add-apt-repository ppa:freecad-maintainers/freecad-stable Then: sudo apt-get update sudo apt-get upgrade sudo apt-get install freecad freecad-doc http://www.org/wiki/index.2015 . Now you can install FreeCAD and FreeCAD documentation through the Ubuntu Software Center. org/viewforum. http://www.org/wiki/index.org/wiki/index. please tell us on the forum (http://forum.Manual – FreeCAD Documentation Page 18 of 93 Unstable version of FreeCAD If you want to be on the bleeding edge of FreeCAD development. non-official FreeCAD packages are available on the net. Debian and other debian-based systems Since Debian Lenny.php?title=Manual 27. A search on the net can quickly give you some results.freecadweb. there is a different PPA repository providing daily builds (http://www.freecadweb. for example for systems like slackware or fedora.09.freecadweb.php?f=21)! Many alternative. FreeCAD is available directly from the Debian software repositories and can be installed via synaptic or simply with: sudo apt-get install freecad OpenSUSE FreeCAD is typically installed with: zypper install FreeCAD Gentoo FreeCAD can be built/installed simply by issuing: emerge freecad Other If you find out that your system features FreeCAD but is not documented in this page.2015 .php? title=Download#Ubuntu_PPA_packages). deb changing Name_of_your_FreeCAD_package.Manual – FreeCAD Documentation Page 19 of 93 Manual install on . Installing on other Linux/Unix systems Unfortnately.org/wiki/index. no precompiled package is available for other Linux/Unix systems.2015 . Alternatively you can also install it from the terminal.net/~freecad-maintainers/+archive/freecadstable) 32/64bit Once you downloaded the . navigating to where you downloaded the file.deb corresponding to your system version. a startup icon will be added in the "Graphic" section of your Start Menu. and double-click on it. Ubuntu (https://launchpad. you just need to navigate to where you downloaded the file. The necessary dependencies will be taken care of automatically by your system package manager.deb based systems If for some reason you cannot use one of the above methods.deb packages available on the Download page. After you installed FreeCAD.php?title=Manual next: Install on Mac > 27.deb by the name of the file you downloaded.so you will need to compile FreeCAD yourself. and type: sudo dpkg -i Name_of_your_FreeCAD_package. < previous: Install on Windows Index http://www. if you have the Gdebi package installed (usually it is). you can always download one of the .09. Installing Windows Version on Linux See the Install on Windows page.freecadweb. at the moment. you can get started! Simple Installation The FreeCAD installer is provided as a Installer package (.2015 . It also includes uninstallation instructions. Once installed. just mount the disk image. http://www.4671_x64_mac_osx. Mac OS X (https://github.mpkg) enclosed in a disk image file.15/FreeCAD0. You can download the latest installer from the Download page.freecadweb.org/wiki/index.zip) Lion 64-bit This page describes the usage and features of the FreeCAD installer. then run the Install FreeCAD package.php?title=Manual 27.com/FreeCAD/FreeCAD/releases/download/0.Manual – FreeCAD Documentation Page 20 of 93 Install on Mac FreeCAD can be installed on Mac OS X in one step using the Installer.09. After downloading the file.15. If you know that you already have any of these packages. If you're not sure. just leave all items checked.php?title=Manual 27. http://www.09.2015 .Manual – FreeCAD Documentation Page 21 of 93 The installer will present you with a Customize Installation screen that lists the packages that will be installed. you can deselect them using the checkboxes.org/wiki/index.freecadweb. org/wiki/index.Manual – FreeCAD Documentation Page 22 of 93 Uninstallation There currently isn't an uninstaller for FreeCAD. drag the following files and folders to the Trash: ■ In /Applications: ■ FreeCAD ■ in /Library/Frameworks/ ■ SoQt. To completely remove FreeCAD and all installed components.09.freecadweb.2015 . from the terminal.framework Then.php?title=Manual 27.framework ■ Inventor. run: http://www. php?title=Manual 27.Manual – FreeCAD Documentation Page 23 of 93 sudo /Developer/Tools/uninstall-qt.org/wiki/index.15 release of FreeCAD Foreword FreeCAD is a 3D CAD/CAE parametric modeling application. < previous: Install on Unix Index next: Getting started > Discovering FreeCAD What's new ■ Version 0. although it already offers you a large (and growing) list of features.09.org/index. It is primarily made for mechanical design. much is still missing.12 Release notes : Check what's new in the 0.py sudo rm -R /usr/local/lib/OCC sudo rm -R /usr/local/include/OCC That's it. and you might not find it developed enough yet for use in production environment. but also serves all other uses where you need to model 3D objects with precision and control over modeling history.11 Release notes : Check what's new in the 0.freecadweb.13 Release notes : Check what's new in the 0. FreeCAD is still in the early stages of development.php) of http://www.14 release of FreeCAD ■ Version 0. there is a fast-growing community (http://forum. FreeCAD will be available as a self-contained application bundle so all this hassle will go away.2015 .freecadweb.14 Release notes : Check what's new in the 0. so.11 release of FreeCAD ■ Version 0.12 release of FreeCAD ■ Version 0. Eventually. Still.13 release of FreeCAD ■ Version 0.15 Release notes : Check what's new in the 0. specially comparing it to commercial solutions. See the Download page for information about current versions and updates. you can also grab the source code and compile FreeCAD yourself. but want to have a look at the brand-new features being developed right now.rpm) and Mac OSX.org/viewtopic.freecadweb.2015 .freecadweb. Like all open-source projects. if you are adventurous. gain features. and you can already find many examples (http://forum.org/wiki/index. and the Installing page for information about how to install FreeCAD. you can directly influence and help the project! Installing First of all (if not done already) download and install FreeCAD. Ubuntu & Debian (. It depends much on its community to grow. and stabilize (get bugs fixed).php?title=Manual 27. So don't forget this when starting to use FreeCAD.Manual – FreeCAD Documentation Page 24 of 93 enthusiastic users. As FreeCAD is open-source. http://www.deb) openSUSE (.msi). if you like it. the FreeCAD project is not a one-way work delivered to you by its developers.09.php?f=8&t=1222) of quality projects developed with FreeCAD. There are install packages ready for Windows (. The properties editor.freecadweb.09. which shows the hierarchy and construction history of all the objects in your document 3.2015 . The tree view. warnings and errors http://www. which is where FreeCAD prints messages. which allows you to view and modify properties of the selected object(s) 4. The output window. showing the contents of your document 2.php?title=Manual 27. The 3D view.org/wiki/index.Manual – FreeCAD Documentation Page 25 of 93 Exploring FreeCAD 1. or constrained sketches. There is also a generic workbench which gathers the most commonly used tools from other workbenches. The workbench selector. that we call macros. called the complete workbench. When you start FreeCAD for the first time. add tools from other workbenches or even self-created tools.2015 . such as working with meshes. You can customize the tools included in each workbench. or drawing 2D objects. where all the commands executed by FreeCAD are printed. The python console. and where you can enter python code 6.09.Manual – FreeCAD Documentation Page 26 of 93 5. You can switch the current workbench with the workbench selector (6). A workbench is a collection of tools suited for a specific task.org/wiki/index. you are presented with the start center: http://www.freecadweb. where you select the active workbench The main concept behind the FreeCAD interface is that it is separated into workbenches.php?title=Manual 27. open one of the recent files.org/wiki/index.09. You can change the default workbench in the preferences. that change the way you use your mouse to interact with the objects in the 3D view and the view itself. or see the latest news from the FreeCAD world. One of them is specifically made for touchpads. Navigating in the 3D space FreeCAD has four different navigation modes available.php?title=Manual 27. where the http://www.Manual – FreeCAD Documentation Page 27 of 93 The Start Center allows you to quickly jump to one of the most common workbenches.freecadweb.2015 . and then click the right mouse button and drag the mouse in the desired direction. This method works just like the previously described Rotate View that uses Middle Mouse Button + Left Mouse Button. hold it down. Holding down ctrl allows the selection of multiple objects. The following table describes the default mode. Rotation works like spinning a ball which rotates Alternate Method to Rotate view Click first with the middle mouse button. Clicking the middle mouse button recenters the view to the location of the cursor.Manual – FreeCAD Documentation Page 28 of 93 middle mouse button is not used.09.2015 . called CAD Navigation (You can quickly change the current navigation mode by right-clicking on an empty area of the 3D view): Rotate View Select to Select Press the left mouse button over an object you want to select. hold it down. Pan to Pan Click the middle mouse button and move the object around to pan Zoom to Zoom in or out Use the mouse wheel to zoom in and out.php?title=Manual Rotate View to Rotate view Click first with the middle mouse button. The cursor location at the middle mouse button click determines the center of rotation.org/wiki/index. and then click the left mouse button and drag the mouse in the desired direction. except that the middle 27. http://www.freecadweb. A double click with the middle mouse button sets a new center of rotation.09. to Pan Press and hold Ctrl key and click and release right mouse button to pan (rev 0. Users who use the mouse with their right hand may find this Rotate View method easier than the previous method.14) http://www. to rotate Once in Pan mode. to exit back to pan mode press and release right mouse button (rev 0. to exit back to pan mode press and release right mouse button (rev 0. if this is enabled. click and momentary hold left mouse button to rotate.2015 .Manual – FreeCAD Documentation Page 29 of 93 around its center.php?title=Manual mouse button may be released after the right mouse button is pressed. press and release left mouse button to Zoom.org/wiki/index. the object continues spinning.14) 27.freecadweb.14) to Zoom Once in Pan mode. If the buttons are released before you stop the mouse motion. And if you come from the OpenSCAD world.php) might be able to get you out in no time. launch the Arch Workbench.09.). specially if this is your first contact with 3D modeling. there is a special Ship Workbench for you. If you are working with ship design. and by right-clicking on an object or on an empty area of the 3D view.freecadweb. to keep tight control over those models (being able to go back into modelling history and change parameters). and eventually to build those models (via 3D printing.2015 . you'll probably want to try the PartDesign Workbench. don't forget that the friendly community of users on the FreeCAD forum (http://forum. or more generally any small-scale objects. If you want to do BIM. then switch to the Draft Workbench. First steps with FreeCAD FreeCAD's focus is to allow you to make high-precision 3D models. you have quick access to some common operations. 2 . If you are struck at some point.. If you will work in 2D. such as animation film or gaming. CNC machining or even construction worksite). You can switch workbenches at any time.. or the Sketcher Workbench if you need constraints.php?title=Manual 27. such as setting a particular view. and also customize your favorite workbench to add tools from other workbenches. and by numeric shortcuts ( 1 . http://www. try the OpenSCAD Workbench.Manual – FreeCAD Documentation Page 30 of 93 You also have several view presets (top view. etc. etc) available in the View menu and on the View toolbar.freecadweb.org/index. The workbench you will start using in FreeCAD depends on the type of job you need to do: If you are going to work on mechanical models. or locating an object in the Tree view.org/wiki/index. It is therefore very different from some other 3D applications made for other purposes. Its learning curve can be steep. front view. each one applied to the result of the preceding one. All the features you applied during the modelling process are stored in a separate view called the tree view. 4.Manual – FreeCAD Documentation Page 31 of 93 Working with the PartDesign and Sketcher workbenches The PartDesign Workbench is specially made to build complex objects. 6. 2.org/wiki/index. the Sketcher Workbench. 7. you might draw a rectangle and set the size of a side by applying a length constraint to one of the sides. for example to create 3D volumes. 5.php?title=Manual 27.09. For example. forming one big chain. until you get to your final object. which automatically updates the final object. In the tree view. and adding or removing pieces (that we call "features"). Create a new sketch Draw a closed shape (make sure all points are joined) Close the sketch Expand the sketch into a 3D solid by using the pad tool Select one face of the solid Create a second sketch (this time it will be drawn on the selected face) Draw a closed shape Close the sketch Create a pocket from the second sketch. which are defined by applying Constraints to the 2D shape. 9. That side then cannot be resized anymore (unless the constraint is changed).freecadweb. which also contains the other objects in your document.2015 . you see your final object. starting from simple shapes. 3. The PartDesign workbench makes heavy use of another workbench. on the first object Which gives you an object like this: http://www. The sketcher allows you to draw 2D shapes. 8. but you can expand it and retrieve all preceding states. and change any of their parameter. This is a typical PartDesign workflow: 1. You can think of a PartDesign object as a succession of operations. Those 2D shapes made with the sketcher are used a lot in the PartDesign workbench. or to draw areas on the faces of your object that will then be hollowed from its main volume. 2015 . although they follow the same rules. 2D drafting being far http://www. The Draft Workbench offers you 2D tools a bit similar to what you can find in traditional 2D CAD applications such as AutoCAD (https://en. which are common to all of FreeCAD. while the Sketcher and PartDesign are made primarily to design single pieces. However. which will update the final object.php?title=Manual 27.Manual – FreeCAD Documentation Page 32 of 93 At any moment.freecadweb.wikipedia. In short. you can select the original sketches and modify them. simpler objects.org/wiki/AutoCAD).09. or change the extrusion parameters of the pad or pocket operations.org/wiki/index. Working with the Draft and Arch workbenches The Draft Workbench and Arch Workbench behave a bit differently than the other workbenches above. Draft and Arch are made to ease your work when working with several. 09. Add dimensions by first setting the working plane if necessary. The Arch Workbench adds BIM (http://en. and move your walls in it from the Tree view Create a building object. The Arch workbench relies much on other modules such as Draft and Sketcher. Most of the Draft tools work not only in a 2D plane but also in the full 3D space. 2. 5.org/wiki/Building_Information_Modeling) tools to FreeCAD. then using the Draft Dimension tool Which will give you this: http://www. 3. Draw a couple of lines with the Draft Line tool Select each line and press the Wall tool to build a wall on each of them Join the walls by selecting them and pressing the Arch Add tool Create a floor object.freecadweb.org/wiki/index. select a preset in its panel. and move your floor in it from the Tree view Create a window by clicking the Window tool. don't expect to find there the full array of tools that these dedicated applications offer. A typical workflow with Arch and Draft workbenches might be: 1.Manual – FreeCAD Documentation Page 33 of 93 away from the scope of FreeCAD.php?title=Manual 27. 4.wikipedia.2015 . 6. All the Draft tools are also present in the Arch workbench. and benefit from special helper systems such as Work planes and object snapping. allowing you to build architectural models with parametric objects. and most Arch tools make use of the Draft helper systems. then click on a face of a wall 7. 2015 . you can gain access to almost any part of FreeCAD. http://www. Python scripting can also be used in macros.php?title=Manual 27.org/wiki/index. one of the most powerful features of FreeCAD is the scripting environment. From the integrated python console (or from any other external Python script). Scripting And finally. modify the representation of those objects in the 3D scene or access and modify the FreeCAD interface.Manual – FreeCAD Documentation Page 34 of 93 More on the Tutorials page.freecadweb. which provide an easy method to create custom commands. create or modify geometry.09. ■ By right-clicking in empty space in the 3D view area.freecadweb. Navigation The object handling is common to all workbenches. CAD Navigation (default) This is the default navigation style and allows the user a simple control of the view.php?title=Manual Rotate View Rotate View 27.09. There are two ways to change the navigation style: ■ In the Preferences Editor.Manual – FreeCAD Documentation < previous: Install on Mac Page 35 of 93 Index next: Mouse Model > Working with FreeCAD 3D navigation The FreeCAD mouse model consists of the commands used to visually navigate the 3D space and interact with the objects displayed. FreeCAD supports multiple mouse model navigation styles. that you can choose according to your preferences. Select Pan Zoom http://www. Display section.org/wiki/index. The following mouse gestures can be used to control the object position and view according to which Navigation style is selected. and does not require the use of keyboard keys except to make multi-selections. but FreeCAD also provides alternative navigation styles.2015 ." and is very simple and practical. then selecting Navigation style in the contextual menu. The default navigation style is referred to as "CAD Navigation. 3D View tab. php?title=Manual to Rotate view Click first with the middle mouse button.Manual – FreeCAD Documentation Page 36 of 93 Alternate Method to Select Press the left mouse button over an object you want to select. to Pan Click the middle mouse button and move the object around to pan to Zoom in or out Use the mouse wheel to zoom in and out. Rotation works like spinning a ball which rotates around its center. If the buttons are released before you stop the mouse to Rotate view Click first with the middle mouse button. and then click the left mouse button and drag the mouse in the desired direction. and then click the right mouse button and drag the mouse in the desired direction. Users who 27.09. hold it down.2015 .org/wiki/index. except that the middle mouse button may be released after the right mouse button is pressed. Clicking the middle mouse button recenters the view to the location of the cursor. hold it down. This method works just like the previously described Rotate View that uses Middle Mouse Button + Left Mouse Button. http://www. Holding down ctrl allows the selection of multiple objects.freecadweb. The cursor location at the middle mouse button click determines the center of rotation. to rotate Once in Pan mode.09. to exit back to pan mode press and release right mouse button (rev 0. A double click with the middle mouse button sets a new center of rotation. http://www. click and momentary hold left mouse button to rotate.freecadweb. the object continues spinning.14) use the mouse with their right hand may find this Rotate View method easier than the previous method.org/wiki/index.2015 .14) to Zoom Once in Pan mode.14) Inventor Navigation In Inventor Navigation. modeled after Open Inventor (http://en. if this is enabled.wikipedia. press and release left mouse button to Zoom.org/wiki/Open_Inventor) (not to be confused with Autodesk Inventor). to Pan Press and hold Ctrl key and click and release right mouse button to pan (rev 0. there is no mouse-only selection. In order to select objects. to exit back to pan mode press and release right mouse button (rev 0.Manual – FreeCAD Documentation Page 37 of 93 motion.php?title=Manual 27. you must hold down the CTRL key. http://www.blender. mouse button.Manual – FreeCAD Documentation Select Page 38 of 93 Pan Zoom to Zoom in or out to Select to Pan ctrl + Rotate View or to Rotate to Zoom in or out Hold ctrl and press the left mouse button over an object you want to select. modeled after Blender (http://www. In order to pan the view.freecadweb. Click the left mouse button and move the object around.2015 . or click and hold the middle mouse button and click the left mouse button. there is no mouse-only panning. you must hold down the SHIFT key. Select Pan to Select Zoom to Pan shift + Press the left mouse button over an object to Zoom in or out Rotate View to Rotate Hold shift and Use the mouse Click and drag click the middle wheel to zoom in with the middle mouse button and and out. Use the mouse wheel to zoom in and out.org/wiki/index.org). Click and drag with the left mouse button to rotate Blender Navigation In Blender Navigation.php?title=Manual 27.09. Page 39 of 93 move the object around. or shift + ctrl + Hold down both the shift and the ctrl keys. Touchpad Navigation In Touchpad Navigation.2015 . Zoom PgUp / PgDn Rotate View alt + Use PgUp and Hold alt and PgDn to zoom in move the pointer.freecadweb. Select Pan shift + Press the left mouse button over an object you want to select.php?title=Manual or shift + ctrl + Hold down both the shift and the ctrl keys and move the pointer. are mouse-only (or touchpad-only) operations. nor zooming. press the left mouse button.Manual – FreeCAD Documentation you want to select.09. neither panning. and move the pointer. http://www. nor rotating the view. and out. 27.org/wiki/index. Hold shift and move the object around. freecadweb. modes.php?title=Manual 27. Rotate View to Rotate view Tilt View to Tilt view Hold Left mouse button and drag to rotate the view. Zoom to Zoom in or out Use the mouse wheel to zoom in and out.16) This navigation style was tailored for usability with touchscreen and pen.09. Holding down Ctrl allows the selection of multiple objects. Select to Select Press the left mouse button over an object you want to select.2015 . http://www. Press both left and right mouse buttons. Rotation is always around camera's focus point.Manual – FreeCAD Documentation Page 40 of 93 Gesture Navigation (v0. and drag left or right to tilt the In Sketcher view (adjust and other edit horizon). but is very usable with mouse too. The zoom is centered at the cursor location.org/wiki/index. Pan to Pan Hold right mouse button and drag to pan the view. Hold Alt when pressing the mouse button to enter rotation mode. To set camera's focus point. this behavior is disabled. Manual – FreeCAD Documentation Page 41 of 93 click the new point with middle mouse button; the view will center on that point. Alternatively, aim the cursor at the new point and press H on keyboard. Touch Tap-Hold-Drag Touch Tap.svg Touch Pinch.svg or Touch One-Finger-Drag Touch Rotate.svg Touch Two-Finger-Drag Tap to select. Drag with two fingers to pan the view. Alternatively, tap and hold, then drag (simulates pan with right mouse button). Pinch to zoom (i.e., drag two fingers to each other/apart). Drag with one finger to rotate. Hold Alt additionally when in Sketcher and some other edit modes. Rotate to tilt the view (i.e., put two fingers on surface and rotate the imaginary line formed by two touch points). Notes on Gesture Navigation style: http://www.freecadweb.org/wiki/index.php?title=Manual 27.09.2015 Manual – FreeCAD Documentation Page 42 of 93 ■ on Windows, the actions of two-finger gestures are separated. The action depends on how one starts the gesture. For example, if one starts two-finger pan, the gesture will only pan. Changing the distance between fingers afterwards will not affect the scaling. Selecting objects Simple selection Objects can be selected by a click with the left mouse button either by clicking on the object in the 3D-view or by selecting it in the tree view. Preselection There is also a Preselection mechanism that highlights objects and displays information before selection by just hovering the mouse over the objects. If you don't like this behaviour or you have a slow machine, you can switch preselection off in the preferences. Manipulating Objects FreeCAD offers manipulators that are handles that can be used to modify an object's appearance, shape, or other parameters. . Obsolete The clipping plane is a good example of an object with manipulators. A clipping plane can be activated with the View→Clipping Plane menu. After activation the clipping plane object appears and shows seven obvious manipulators as little boxes: One on each end of its three coordinate axes http://www.freecadweb.org/wiki/index.php?title=Manual 27.09.2015 Manual – FreeCAD Documentation Page 43 of 93 and one on the center of the plane normal axis. There are four more that are not as obvious: The plane itself and the thin part of the three axis objects. Scaling To scale the object click with the left mouse button on the box manipulators at the end of the axes and pull them back and forth. Depending on the object the manipulators work independently or synchronously. Out of plane shifting To shift the object along its normal vector, pull the long box on the center of an axis with the left mouse button. For the clipping plane there is only one manipulator along the normal vector. In plane shifting To move the center of the clipping plane, click on the plane object and pull it to the desired location. Rotation Clicking on the thin part of the axes puts the manipulator in rotation mode. Hardware support FreeCAD also supports some 3D input devices. Mac OS X Issues Recently we got reports on the forum (http://forum.freecadweb.org/viewtopic.php?f=3&t=3592&start=0) from Mac users that those mouse button and key combination do not work as expected. Unfortunately, none of the developers owns a Mac, neither do the other regular contributors. We need your help to determine which mouse buttons and key combination work so we can update this wiki. < previous: Getting started Index http://www.freecadweb.org/wiki/index.php?title=Manual next: Document structure > 27.09.2015 which contains the representation on screen of our objects. delete objects or groups.org/wiki/index. Inside the document. You can also open several documents at the same time in FreeCAD.09.Manual – FreeCAD Documentation Page 44 of 93 The FreeCAD Document A FreeCAD document contains all the objects of your scene. you can create groups. It can also be done. etc. from the python interpreter.php?title=Manual 27. The objects inside a FreeCAD document can be of different types. It can contain groups. If there is at least one document open in FreeCAD. the document you are currently working on. or possibly other operations. Each workbench can create its own types of objects. of course. The document is what gets saved to disk when you save your work. and the View document. That's the document that appears in the current 3D view. for example the Mesh Workbench creates mesh objects.2015 . rename objects by double-clicking on their names. the user interface part (Gui) is separated from the base application part (App). This is also valid for documents. Managing groups. objects and object names is done mainly from the Tree view. and have a unique name. which contains our objects. there is always one and only one active document. depending on the current workbench. move objects to groups. and objects made with any workbench. and still work on the same document. Application and User Interface Like almost everything else in FreeCAD. like everything in FreeCAD. by right-clicking in the tree view or on an object. and open several views of the same document. You can therefore switch between workbenches. the objects can be moved into groups. the Draft Workbench also creates Part objects. http://www. the Part Workbench create Part objects.freecadweb. The documents are also made of two parts: the Application document. In the Tree view. 2015 . One document can have several views opened.php?title=Manual 27. where the objects are defined. Creating new views or closing views can be done from the View menu or by right-clicking on a view tab. accessed and modified from the python interpreter.ActiveDocument Will return the view document associated to the current document FreeCADGui.org/wiki/index. you will have two views of the same document. for example inside other programs. both stored in the View document. so you can inspect your document from several points of view at the same time.ActiveDocument Will return the current (active) document FreeCAD. Why is that? Because FreeCAD can also be used WITHOUT graphical interface.freecadweb. Maybe you would want to see a top view and a front view of your work at the same time? Then.Blob Would access the graphical representation (view) part of our Blob object http://www. even if nothing is drawn on the screen.Blob Would access an object called "Blob" inside your document FreeCADGui.09. For example: FreeCAD.Manual – FreeCAD Documentation Page 45 of 93 Think of it as two spaces.ActiveDocument. while their graphical representation (is it drawn with black lines? with blue faces?) are stored in the View document.ActiveDocument. Scripting Documents can be easily created. and we must still be able to manipulate our objects. Their constructive parameters (is it a cube? a cone? which size?) are stored in the Application document. Another thing that is contained inside the View document are 3D views. ActiveView Will return the current view < previous: Mouse Model Index next: Preferences Editor > Setting User Preferences The preferences system of FreeCAD is located in the Edit menu -> Preferences. which means that components are loaded only when they are needed.php?title=Manual 27.09. This includes its preferences settings. that workbench and all its components get loaded at that moment. FreeCAD functionality is divided into different modules.2015 . FreeCAD also uses a concept called late loading.ActiveDocument. http://www.Manual – FreeCAD Documentation Page 46 of 93 FreeCADGui.org/wiki/index. each module being responsible for the working of a specific workbench.freecadweb. You may have noticed that when you select a workbench on the FreeCAD toolbar. freecadweb.php?title=Manual 27. Without any module loaded. new sections will appear in the preferences window. you will then have a minimal preferences window. you will have access to two configuration sections. responsible for the general application settings and for the display settings.org/wiki/index.2015 . http://www. As you load additional modules.09. allowing you to configure the details of each workbench.Manual – FreeCAD Documentation Page 47 of 93 The general preferences settings When you start FreeCAD with no workbench loaded. php?title=Manual next: Interface Customization > 27.Manual – FreeCAD Documentation Page 48 of 93 The display settings FreeCAD is always in constant evolution. The Draft module has its preferences screen < previous: Document structure Index http://www. so the contents of those screens might differ from the above screenshots. The settings are usually selfexplanatory.09.freecadweb.2015 .org/wiki/index. so you shouldn't have any difficulty configuring FreeCAD to your needs. http://www.wikipedia. Widgets. moved.org/wiki/Qt_(toolkit)) toolkit. shared between workbenches. it has a state-of-the-art organization. keyboard shortcuts can be set. and if you want. modify or assign new shortcut to any command.org/wiki/index. In Keyboard. This is where to come if you use a particular workbench often.freecadweb.Manual – FreeCAD Documentation Page 49 of 93 Customizing the Interface Since FreeCAD interface is based on the modern Qt (http://en. you can see the keyboard shortcuts associated with every FreeCAD command. modified.php?title=Manual 27.2015 . The Toolbars and Toolbox bars tabs let you modify existing toolbars. or create your own custom toolbars. menus. The customization window is accessed from the Tools -> Customize menu: The Commands tab lets you browse all available FreeCAD commands.09. organized by their category. and would like to speed up its use by using the keyboard. toolbars and other tools can be modified. and macros can be recorded and played. 2015 . http://www. Properties can be viewed and .modified with the Property editor.16 version is available a new tool that lets you manage your workbenches < previous: Preferences Editor Index next: Property editor > Object properties A property is a piece of information like a number or a text string that is attached to a FreeCAD document or an object in a document.Manual – FreeCAD Documentation Page 50 of 93 The Macros tab lets you manage your saved Macros. Create your ToolBars for your macro Customize ToolsBar In 0.php?title=Manual 27.org/wiki/index.if allowed .09.freecadweb. A workbench can be considered as a set of tools specially grouped for a certain task.freecadweb.php?title=Manual 27. http://www. is based on the concept of Workbench.org/wiki/index. which are objects defined only by their properties. and maybe a third one for the guy who mounts all the pieces together. you would have a work table for the person who works with wood. like many modern design applications such as Revit or CATIA.2015 . another one for the one who works with metal pieces.09. since it is from the beginning made to work with parametric objects. Custom scripted objects in FreeCAD can have properties of the following types: Boolean Float FloatList FloatConstraint Angle Distance Integer IntegerConstraint Percent Enumeration IntegerList String StringList Link LinkList Matrix Vector VectorList Placement PlacementLink Color ColorList Material Path File FileIncluded PartShape FilletContour Circle < previous: Interface Customization Index next: Workbenches > Working with workbenches FreeCAD.Manual – FreeCAD Documentation Page 51 of 93 Properties play a very important part in FreeCAD. In a traditional furniture workshop. Tools are grouped into workbenches according to the tasks they are related to.php?title=Manual 27. You could. multiple documents. The Spreadsheet Workbench for creating and manipulating spreadsheet data New workbenches are in development.09.Manual – FreeCAD Documentation Page 52 of 93 In FreeCAD. The Plot Workbench The Plot module allows to edit and save output plots created from other modules and tools. for example. The following workbenches are available: ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ ■ The Part Design Workbench for building Part shapes from sketches The Draft Workbench for doing basic 2D CAD drafting The Mesh Module for working with triangulated meshes The Part Module for working with CAD parts The Image Module for working with bitmap images The Raytracing Module for working with ray-tracing (rendering) The Drawing workbench for displaying your 3D work on a 2D sheet The Robot Module for studying robot movements The Sketcher Module for working with geometry-constrained sketches The Arch Module for working with architectural elements The OpenSCAD Module for interoperability with OpenSCAD and repairing CSG model history The Assembly Module for working with multiple shapes.. The FEM Module provides Finite Element Analysis (FEA) workflow The Ship Workbench FreeCAD-Ship works over Ship entities. then work further on them with the Part Workbench. multiple files. stay tuned! When you switch from one workbench to another.2015 . the tools available on the interface change. start drawing 2D shapes with the Draft Workbench. that must be created on top of provided geometry.org/wiki/index. command bars and possibly other parts of the interface switch to the new workbench. but the contents of your scene doesn't change. the same concept applies. multiple relationships.freecadweb.. Toolbars. http://www. freecadweb.09. However.Manual – FreeCAD Documentation Page 53 of 93 Note that sometimes a Workbench is referred to as a Module. http://www. while a Workbench is a special GUI configuration that groups some toolbars and menus. It is intricately linked with the Sketcher Workbench.php?title=Manual 27. hence the cross-use of the name. Usually every Module contains its own Workbench. < previous: Property editor Index next: PartDesign Workbench > The PartDesign workbench The Part Design Workbench provides tools for modelling complex solid parts and is based on a Feature editing methodology to produce a single contiguous solid.2015 .org/wiki/index. A Module is any extension of FreeCAD. Workbenches and Modules are different entities. 09. e. A very important concept in the PartDesign workbench is the sketch support.org/wiki/index. Sketches can be created on standard planes (XY. since the Part Design module is so dependent on them. YZ and planes parallel to them) or on the face of an existing solid. They include the Sketcher Workbench tools.php?title=Manual 27. http://www. connected solid. Multiple solids will be possible with the Assembly workbench. The workflow can be summarized by this: a sketch containing 2D geometry is created first. Pocket without a support there would be nothing to remove material from! After solid geometry has been created it can be modified with chamfers and fillets or transformed.freecadweb.Manual – FreeCAD Documentation Page 54 of 93 Basic Workflow The sketch is the building block for creating and editing solid parts. For this last case. the existing solid becomes the support of the sketch. The Partdesign workbench is meant to create a single. XZ. At the moment the available tools are: ■ Pad which extrudes a sketch ■ Pocket which creates a pocket on an existing solid ■ Revolution which creates a solid by revolving a sketch along an axis ■ Groove which creates a groove in an existing solid More tools are planned in future releases. for example. mirrored or patterned. The Tools The Part Design tools are all located in the Part Design menu that appears when you load the Part Design module.2015 . then a solid creation tool is used on the sketch. Several tools will only work with sketches that have a support.g. (v0.09.php?title=Manual 27. ■ Point: Draws a point. Pressing the M key while drawing a Polyline toggles between the different polyline modes.freecadweb. ■ Circle: Draws a circle from center and radius. major radius point and minor radius point. ■ Conic sections: ■ Ellipse by center : Draws an ellipse by center point. ■ Rectangle: Draws a rectangle from 2 opposite points. major radius point. (v0.15) ■ http://www.org/wiki/index. (v0.2015 .15) ■ Arc of ellipse : Draws an arc of ellipse by center point. (v0.Manual – FreeCAD Documentation Page 55 of 93 The Sketcher Tools Sketcher Geometries These are tools for creating objects.15) ■ Square: Draws a regular square inscribed in a construction geometry circle. ■ Circle by 3 Point : Draws a circle from three points on the circumference. radius. ■ Arc by 3 Point: Draws an arc segment from two endpoints and another point on the circumference. starting point and ending point. ■ Triangle: Draws a regular triangle inscribed in a construction geometry circle. start angle and end angle. (v0. Arc: Draws an arc segment from center. (v0.15) ■ Ellipse by 3 points : Draws an ellipse by major diameter (2 points) and minor radius point. ■ Line by 2 point: Draws a line segment from 2 points.15) ■ Pentagon: Draws a regular pentagon inscribed in a construction geometry circle.15) ■ Polyline (multiple-point line): Draws a line made of multiple line segments. External Geometry: Creates an edge linked to external geometry.15) Octagon: Draws a regular octagon inscribed in a construction geometry circle. Select both lines or click on the corner point. A construction object will not be used in a 3D geometry operation and is only visible while editing the Sketch that contains it. arc.php?title=Manual 27.org/wiki/index. (v0.15) Slot: Draws an oval by selecting the center of one semicircle and an endpoint of the other semicircle. or axis. then activate the tool. More than one object can be selected before applying this constraint. Fillet: Makes a fillet between two lines joined at one point. set rules between sketch elements. Until v0.16 ■ Sketcher Constraints Constraints are used to define lengths.15) Heptagon: Draws a regular heptagon inscribed in a construction geometry circle.Manual – FreeCAD Documentation ■ ■ ■ ■ ■ ■ ■ Page 56 of 93 Hexagon: Draws a regular hexagon inscribed in a construction geometry circle.15 ■ Construction Mode: Construction Mode v0. ■ http://www. circle or arc with respect to the clicked point. Construction Mode: Toggles an element to/from construction mode.freecadweb. Trimming: Trims a line. ■ Vertical: Constrains the selected lines or polyline elements to a true vertical orientation. ■ Point On Object: Affixes a point onto another object such as a line.2015 . and to lock the sketch along the vertical and horizontal axes. (v0. (v0. Not associated with numeric data Coincident: Affixes a point onto (coincident with) one or more other points.09. Vertical Distance: Fixes the vertical distance between 2 points or line endpoints. or constrains the first two selected points symmetrically about a third selected point. Length: Defines the distance of a selected line by constraining its length.2015 . ■ Associated with numeric data ■ ■ ■ ■ ■ ■ Lock: Constrains the selected item by setting vertical and horizontal distances relative to the origin. A line segment does not have to lie directly on an arc or circle to be constrained tangent to that arc or circle. thereby locking the location of that item. or constrains a line perpendicular to an arc endpoint. (These constraint distances can be edited later. Internal Angle: Defines the internal angle between two selected lines.09. the distance is set to the origin. ■ Perpendicular: Constrains two lines perpendicular to one another. ■ Symmetric: Constrains two points symmetrically about a line. Radius: Defines the radius of a selected arc or circle by constraining the radius. or a co-linear constraint between two line segments.) Horizontal Distance: Fixes the horizontal distance between two points or line endpoints. the distance is set to the origin. If only one item is selected. ■ Equal Length: Constrains two selected entities equal to one another. If used on circles or arcs their radii will be set equal. ■ Tangent: Creates a tangent constraint between two selected entities.Manual – FreeCAD Documentation Page 57 of 93 Horizontal: Constrains the selected lines or polyline elements to a true horizontal orientation. http://www.freecadweb.php?title=Manual 27. or defines the distance between two points by constraining the distance between them.org/wiki/index. If only one item is selected. More than one object can be selected before applying this constraint. ■ Parallel: Constrains two or more lines parallel to one another. org/wiki/index. ■ Reorient sketch : Allows you to change the position of a sketch ■ Validate sketch: It allows you to check if there are in the tolerance of different points and to match them.freecadweb. ■ Leave sketch: Leave the Sketch editing mode.15) ■ Internal Alignment: Aligns selected elements to selected shape (e. a line to become major axis of an ellipse).g. ■ Merge sketches: Merge two or more sketches.16 Other ■ New sketch: Creates a new sketch on a selected face or plane. v 0.15 ■ Mirror sketch: v 0. v0.Manual – FreeCAD Documentation Page 58 of 93 Snell's Law: Constrains two lines to obey a refraction law to simulate the light going through an interface. ■ ■ Toggle Constraint: Toggles the toolbar or the selected constraints to/from reference mode.php?title=Manual 27.2015 . If no face is selected while this tool is executed the user is prompted to select a plane from a pop-up window. (v 0. ■ Edit sketch: Edit the selected Sketch. ■ Map sketch to face: Maps a sketch to the previously selected face of a solid.09. ■ View sketch: Sets the model view perpendicular to the sketch plane.16 http://www. Manual – FreeCAD Documentation ■ Close Shape: v 0.16 http://www.php?title=Manual 27.16 ■ Rectangular Array: v 0.15 ■ Page 59 of 93 Show/Hide internal geometry: Recreates missing/deletes unneeded geometry aligned to internal geometry of a selected element (applicable only to ellipse so far).15 ■ Connect Edges: v 0.15 ■ Select Redundant Constraints: v 0.15 ■ Select Conflicting Constraints: v 0.15 ■ Select Elements Associated with constraints: v 0.16 ■ Copy: v 0.15 ■ Select Vertical Axis: v 0.org/wiki/index.09.15 ■ Select Constraints: v 0.16 ■ Clone: v 0.freecadweb.15 ■ Symmetry: v 0.15 ■ Select Origin: v 0.2015 .15 ■ Select Horizontal Axis: v 0. v 0. ■ Modification tools These are tools for modifying existing objects. ■ Chamfer: Chamfers edges of an object. ■ Polar Pattern: Creates a polar pattern of features. ■ Pad: Extrudes a solid object from a selected sketch. http://www.09. Transformation tools These are tools for transforming existing features.php?title=Manual 27.org/wiki/index. The sketch must be mapped to an existing solid object's face. Pocket: Creates a pocket from a selected sketch. ■ Linear Pattern: Creates a linear pattern of features. They will allow you to choose which object to modify. The sketch must be mapped to an existing solid object's face. The sketch must be a closed profile to get a solid object. They will allow you to choose which features to transform. ■ Revolution: Creates a solid by revolving a sketch around an axis. ■ Scaled: Scales features to a different size. ■ Draft: Applies angular draft to faces of an object.2015 . ■ Mirrored: Mirrors features on a plane or face. ■ Groove: Creates a groove by revolving a sketch around an axis. ■ Fillet: Fillets (rounds) edges of an object.Manual – FreeCAD Documentation Page 60 of 93 The Part Design Tools Construction tools These are tools for creating solid objects or removing material from an existing solid object.freecadweb. of the object dimensions in space. View Base ■ Bounding Box : To view the occupation. overall.09.2015 .org/wiki/index. DATA Data : properties related to the physical parameters of an object. False). http://www.Manual – FreeCAD Documentation ■ Page 61 of 93 MultiTransform: Allows creating a pattern with any combination of the other transformations. accessible through tabs at the bottom of the Property editor: VIEW View : properties related to the visual display of the object.php?title=Manual 27. or True (Default. Extras Some optional functionality that has been created for the PartDesign Workbench: ■ Shaft design wizard: Generates a shaft from a table of values and allows to analyze forces and moments Involute gear: allows you to create gear ■ Feature properties Properties There are two types of feature properties. Value False. and. or True (Default. ■ VIEW VIEW Control Point : Value False.freecadweb. False). VIEW Wireframe. where w. or True (Default. The value is in percent of object's size (deviation in mm = (w+h+d)/3*valueInPercent/100. 204. 0). 2). ■ VIEW ■ VIEW ■ VIEW ■ VIEW ■ VIEW VIEW Point Size : Gives the size of the points (Default. 25). 25. Line Width : Gives the thickness ■ Point Color : Gives the color of the points (ends of the form) (Default. Lower values = better quality. True). VIEW Line Color : Gives the color of the line (edges) (Default.d are sizes of bounding box). Shape Color : Give the color shape (default.org/wiki/index. Lighting : Lighting One side. Transparency : Sets the degree of transparency in the form of 0 to 100 (Default. Visibility : Determines the visibility of the form (like the bar SPACE ). (Default. 204).2015 .Manual – FreeCAD Documentation Page 62 of 93 Deviation : Sets the accuracy of the polygonal representation of the model in 3d view (tessellation). Value False. Two side). (Default. ■ VIEW ■ Display Mode :Display mode of the form. ou True (Default. Flat lines). ■ VIEW ■ VIEW ■ of the line (edges) (Default.freecadweb.php?title=Manual 27.h. Value False. 25). 2). 204. True). Flat lines. 25.09. Shaded. 25. Two side . Points . Selectable : Allows the selection of the form. http://www. 25. The exact value of rotation comes from the angle (see above) option.0 for y. will rotate 15 ° and 30 ° in the y-axis and the x-axis (final position). and accept any number as the argument for each field. Axis : This option specifies the axis/axes to rotate the created object. Adding a value. more of an axis. y or z. DATA http://www. if you create an object with a required revolution should be rotate functionality of a certain amount. indicates the angle that will be used with the option Axis (below). with a Angle of 15 ° : specifying. these arguments. in order to enable it to take the same angle that another element existing. x.0 for x and 2.org/wiki/index. Here. The angle on the axis is set with the option Axis. are transmitted in the form of numbers.freecadweb. or z. The object takes the specified angle around the specified axis. This option takes three arguments. 1. will the rotation to each specified axis angle.2015 .Manual – FreeCAD Documentation Page 63 of 93 Data Base DATA Angle : The argument Angle.09. y. an angle is defined.php?title=Manual 27. DATA Base : This option specifies the offset in either axes x. An example. For example. Adding a value to more than one of the axes will cause the part to be rotated by the angle in each axis.00 1. but then needed to rotate the whole feature by some amount. which are passed as numbers to either the x. you have access to the options window Tasks_Placement. NOTE: The placement options do not affect the physical dimensions of the feature. For example. This option takes three arguments.freecadweb.php?title=Manual 27.. in order to allow it to line-up with another pre-existing feature. The feature is rotated by the specified angle.00. DATA Position : This option specifies the base point to which all dimensions refer.00)] Summary below data. This option takes three arguments. about the specified axis.00 0. DATA Angle : The Angle argument specifies the angle to be used with the axis option (below). and the axis that the angle acts upon is set with the axis option. clicking this button .00 0.00). The exact value of rotation comes from the angle option (above). y. Every feature has a placement that can be controlled through the Data Properties table. DATA Axis : This option specifies the axis/axes about which the created feature is to be rotated. DATA Placement : [(0. An angle is set here.0.09. a button with three small points appears. but merely its position in space! If you select the title Placement .Manual – FreeCAD Documentation Page 64 of 93 Label : The Label is the name given to the operation.(0. A usage example might be if you created a revolution feature as required. specifying a value of 1. this name can be changed at convenience.0 for x. which are passed as numbers to either the x.0 for y will cause the finished part to be rotated 15° in the x-axis AND 30° in the y-axis. It controls the placement of the part with respect to the coordinate system. with an angle of 15° set. y. or z boxes in the tool. and 2. DATA PS: The displayed properties can vary. Adding a value to more than one of the boxes will cause the part to be translated by the number of units along the corresponding axis. or z boxes in the tool.2015 .org/wiki/index.00 0.. . depending on the tool used. http://www. org/wiki/index.2015 . Meshes are a special type of 3D object.wikipedia. composed of triangles conected by their edges and their corners (also called vertices).php?title=Manual 27.Manual – FreeCAD Documentation Page 65 of 93 Tutorials Only for a development version of FreeCAD that is not currently available as a binary or installer: ■ PartDesign Bearingholder Tutorial I ■ PartDesign Bearingholder Tutorial II ■ Basic Part Design Tutorial ■ Sketcher tutorial < previous: Workbenches Index next: Mesh Workbench > The Mesh workbench The Mesh Workbench handles triangle meshes (http://en. http://www.09.org/wiki/Triangle_mesh).freecadweb. wikipedia.lines and faces.wikipedia. modify. meshes present one big limitation: They are very dumb objects. stretch. they are very easy to create.freecadweb. since they contain very simple data.Manual – FreeCAD Documentation Page 66 of 93 An example of a mesh object Many 3D applications use meshes as their primary type of 3D object.wikipedia. and can easily be passed from one application to another without any loss. only composed of points. blender (http://en. however.org/wiki/index. containing only vertices (points). maya (http://en.wikipedia. Besides. For those reasons.2015 . and image creation. Since meshes are very simple objects. In the field of engineering. In a mesh there is no automatic way to know if a point is http://www.09. edges and (triangular) faces. like sketchup (http://en. subdivide.php?title=Manual 27. They are only made of surfaces. and have no mass information.org/wiki/Maya_(software)) or 3d studio max (http://en. animation.org/wiki/3d_max). meshes are often the 3D object type of choice for applications dealing with movies. 3D applications can usually manage very large quantities of them without any problem.org/wiki/Sketchup).org/wiki/Blender_(software)). so they don't behave as solids. analyse it to detect errors or other problems that prevent converting them to more intelligent objects.php?title=Manual 27. such as addition or subtraction. This means that all solid-based operations.Manual – FreeCAD Documentation Page 67 of 93 inside or outside the object. in your workflow. such as mass.wikipedia. and finally. solid behaviour. since it is an engineering application. The most important operations you can currently do with meshes are: ■ Import meshes in several file formats ■ Export meshes in several file formats ■ Convert Part objects into meshes ■ Harmonize normals ■ Flip normals (http://en. faces. convert them to more intelligent objects. we would obviously prefer to work with more intelligent types of 3D objects.freecadweb. that can carry more informations.2015 . In FreeCAD.org/wiki/Surface_normal) ■ Close holes in meshes ■ Remove components of meshes ■ Cut meshes along a line Analyse curvature. and return errors often. or even custom parameters. You will need to handle that data. you will receive 3D data in mesh format. Using the mesh module The mesh module has currently a very simple interface. are always a bit difficult to perform on meshes. all its functions are grouped in the Mesh menu entry.09. handled by the Part Module. The mesh module was first created to serve as a testbed. manipulate and convert meshes is also highly important for FreeCAD. but to be able to read. and check if a mesh can be safely converted into a solid http://www. Very often.org/wiki/index. cylinders. Create mesh primitives. that features advanced 3D geometry manipulation and objects. are much more complex. But the FreeCAD meshes can also be handled in many more ways by scripting. unlike Mesh Module objects.2015 .php?title=Manual 27.. modifications history and parametric behaviour. or spheres: ■ Create a mesh cube ■ Create a mesh cylinder ■ Create a mesh cone ■ Create a mesh sphere ■ Create a mesh ellipsoid ■ Create a mesh torus ■ Union. OpenCascade is a professional-level CAD kernel. and therefore permit much more advanced operations. like cubes.09.org/wiki/Open_CASCADE) kernel.freecadweb. < previous: PartDesign Workbench Index next: OpenSCAD Module > The Part workbench The CAD capabilities of FreeCAD are based on the OpenCasCade (http://en. The Part module allows FreeCAD to access and use the OpenCasCade objects and functions. cones..wikipedia.org/wiki/index. The Part objects. like coherent boolean operations.Manual – FreeCAD Documentation ■ Page 68 of 93 Regular solid. subtract and intersect meshes These are only some of the basic operations currently present in the Mesh module interface. http://www. org/wiki/index.php?title=Manual 27.09.Manual – FreeCAD Documentation Page 69 of 93 Example of Part shapes in FreeCAD The tools The Part module tools are all located in the Part menu that appears when you load the Part module. Primitives These are tools for creating primitive objects.freecadweb.2015 . ■ Box: Draws a box by specifying its dimensions ■ Cone: Draws a cone by specifying its dimensions ■ Cylinder: Draws a cylinder by specifying its dimensions ■ Sphere: Draws a sphere by specifying its dimensions ■ Torus: Draws a torus (ring) by specifying its dimensions ■ CreatePrimitives: A tool to create various parametric geometric primitives http://www. . pipes) (v0.2015 .org/wiki/index.Manual – FreeCAD Documentation ■ Page 70 of 93 Shapebuilder: A tool to create more complex shapes from various parametric geometric primitives Modifying objects These are tools for modifying existing objects.16) Extrude: Extrudes planar faces of an object ■ ■ ■ Fillet: Fillets (rounds) edges of an object Revolve: Creates a solid by revolving another object (not solid) around an axis ■ Section: Creates a section by intersecting an object with a section plane ■ Cross sections.g.. They will allow you to choose which object to modify.16) ■ Cutout: Ctretes a cutout in a wall of an object for another walled object (v0. ■ Booleans: Performs boolean operations on objects ■ Fuse: Fuses (unions) two objects ■ Common: Extracts the common (intersection) part of two objects ■ Cut: Cuts (subtracts) one object from another ■ Join features: smart booleans for walled objects (e.16) ■ Connect: Connects interiors of objects (v0.09.php?title=Manual 27..freecadweb.: ■ ■ Chamfer: Chamfers edges of an object ■ Mirror: Mirrors the selected object on a given mirror plane ■ Ruled Surface: ■ Sweep: Sweeps one or more profiles along a path ■ Loft: Lofts from one profile to another http://www.16) Embed: Embeds a walled object into another walled object (v0. The geometric primitives are not made to be directly displayed on the 3D scene. http://www. A shape can be a vertex. but rather to be used as building geometry for shapes.2015 . to resume. a line.php?title=Manual 27.freecadweb. a face. that geometry primitive are "shapeless" building blocks. a plane. an edge. intersection (Common) and difference (Cut) Explaining the concepts In OpenCasCade terminology.Manual – FreeCAD Documentation ■ Offset: Creates a scaled copy of the original object. A geometric primitive can be a point.09. ■ Thickness: Assign a thickness to the faces of a shape. We could say. we distinguish between geometric primitives and (topological) shapes. a circle. and shapes are the real spatial geometry built on it. a wire. Page 71 of 93 Other tools ■ ■ ■ ■ ■ ■ ■ ■ Import CAD Export CAD Shape from Mesh Convert to solid Reverse shapes Create simple copy Make compound Refine shape ■ Check geometry ■ Measure Boolean Operations An example of union (Fuse). an edge can be constructed from a line or from a portion of a circle. or even some more complex types like a B-Spline curve or surface. For example.org/wiki/index. etc. a solid or a compound of other shapes. com/documentation/6. out of the surfaces (plane. http://www.freecadweb.09..com (http://opencascade. .can be created by six limited planes.org/org/doc/) (Alternative: sourcearchive.org/wiki/index.0.11/classes. circle. From an edge or face you can also go back to its geometric primitive counter part. For example.html)) and search for Geom_* (for geometry) and TopoDS_* (for shapes).dfsg. Please note that unfortunately the official OCC documentation is not available online (you must download an archive) and is mostly aimed at programmers..e.opencascade. .sourcearchive.a solid -.2015 . But hopefully you'll find enough information to get started here. The geometric types actually can be divided into two major groups: curves and surfaces.. it is defined by a base vector and a direction vector while its shape representation must be something limited by a start and end point.3. cylinder. Out of the curves (line. i. And a box -. There you can also read more about the differences between geometric objects and shapes. not at end-users.. the geometric primitive line is unlimited.) a face can be built.) you can directly build an edge.Manual – FreeCAD Documentation Page 72 of 93 To get a complete list of all of them refer to the OCC documentation (http://www.php?title=Manual 27. hence the start and endpoint.0.0.toShape() doc.0) Line is actually a line segment. several creation methods exist. http://www.09.wikipedia. Scripting The main data structure used in the Part module is the BRep (http://en.StartPoint=(0. as described in the FreeCAD Scripting Basics page.PartGui doc=App.0. such as Line and Circle (or Arc).0.1.newDocument() loads the Part module and creates a new document l=Part.0.0.Line() l.recompute() Let's go through the above python example step by step: import Part.0.0) l. and the whole range of TopoShapes. advanced operations like boolean union/difference/intersection are also available. Almost all contents and object types of the Part module are now available to python scripting.Shape=l.newDocument() l=Part. Solids and Compounds.addObject("Part::Feature". especially the TopoShapes. extract all sub-shapes a more complex shape is made of. out of shapes you can build very complex parts or.PartGui doc=App.freecadweb. Wires. and for some of them.1.StartPoint=(0. For each of those objects.EndPoint=(1. Examples To create a line element switch to the Python console and type in: import Part.0. the other way round.0.1.org/wiki/index. Explore the contents of the Part module. to know more.0.Line() l. This includes geometric primitives.2015 .0) l.Manual – FreeCAD Documentation Page 73 of 93 Thus. Edges.EndPoint=(1.php?title=Manual 27.0. like Vertexes."Line").0) doc.0.org/wiki/Boundary_representation) data type from OpenCascade. Faces.1. We can of course still access our construction geometry afterwards. geometry primitives are used as "building structures" for Shapes.Shape = c.toShape() doc.Line(point1.2015 .Shape=l.09. we used the circle (geometry primitive) to construct a shape out of it.Edges[0] c = e.Curve http://www. for example Part."Line"). "Circle") f. A circle can be created in a similar way: import Part doc = App. by doing: s = f. doc.addObject("Part::Feature".Radius=10. It is important to understand here that we used a geometric primitive (the Part. Only Shapes can be added to the document.activeDocument() c = Part. Note that a Line can be created by specifying its start and endpoint directly in the constructor.freecadweb.toShape() This adds a Part object type to the document and assigns the shape representation of the line segment to the 'Shape' property of the added object.point2).php?title=Manual 27.Circle() c.recompute() Updates the document. as we did here. In FreeCAD.recompute() Note again. This also prepares the visual representation of the new part object. or we can create a default line and set its properties afterwards.addObject("Part::Feature".Line) to create a TopoShape out of it (the toShape() method).0 f = doc.org/wiki/index.Manual – FreeCAD Documentation Page 74 of 93 doc.Shape e = s. then we take its list of edges. configuring and exporting 2D drawing sheets Open scalable vector graphic: Opens a drawing sheet previously saved as an SVG file ■ New A3 landscape drawing: Creates a new drawing sheet from FreeCAD's default A3 template ■ Insert a view: Inserts a view of the selected object in the active drawing sheet ■ Annotation: Adds an annotation to the current drawing sheet ■ ■ ■ Clip: Adds a clip group to the current drawing sheet Open Browser: Opens a preview of the current sheet in the browser http://www.2015 . a title and your logo and finally print that sheet. which is the geometry primitive it is based on. The Drawing module is currently under construction and more or less a technology preview! GUI Tools These are tools for creating. to put views of your models in a 2D window and to insert that window in a drawing. Head to the Topological data scripting page if you would like to know more. Every Edge has a Curve. That is. In this case there will be only one because we made the whole shape out of a single circle. < previous: OpenSCAD Module Index next: Drawing Module > The Drawing workbench The Drawing module allows you to put your 3D work on paper.org/wiki/index.09. for example a sheet with a border. so we take only the first item of the Edges list.freecadweb.Manual – FreeCAD Documentation Page 75 of 93 Here we take the shape of our object f.php?title=Manual 27. and we takes its curve. Manual – FreeCAD Documentation ■ ■ ■ ■ ■ Page 76 of 93 Ortho Views: Automatically creates orthographic views of an object on the current drawing sheet Symbol: Adds the contents of a SVG file as a symbol on the current drawing sheet Draft View: Inserts a special Draft view of the selected object in the current drawing sheet Save sheet: Saves the current sheet as a SVG file Project Shape: Creates a projection of the selected object (Source) in the 3D view.2015 . .freecadweb.php?title=Manual 27.09. Note The Draft Module has its own Draft Drawing tool to place Draft objects on paper.org/wiki/index. and supports specific objects like Draft dimensions. It has a couple of extra capabilities over the standard Drawing tools. http://www. Shape. in this case the "A3_Landscape" template.ActiveDocument.100). a scale factor (Property scale) and additional properties. A page gets instantiated through a template.cut(Part.org/wiki/index. Scripting At the moment the end user(GUI) workflow is very limited.100)). Here follow examples on how to use the scripting API of the drawing module.09.Manual – FreeCAD Documentation Page 77 of 93 In the picture you see the main concepts of the Drawing module.hiddenG1] = Drawing. Drawing Create a small sample part Part. Shape = App. len(visibleG0.project(Shape) print "visible edges:".php?title=Manual 27.100)). Each view has a position on the page (Properties X. The document contains a shape object (Schenkel) which we want to extract to a drawing. Every time the page or the view or the referenced object changes the page gets regenerated and the page display updated. Direct projection. Here a script that can easily fill the Macro_CartoucheFC leaf FreeCAD A3_Landscape. the G1 is tangent continuous. In this page we can insert one or more views.Edges) print "hidden edges:". Simple example First of all you need the Part and the Drawing module: import FreeCAD. so the scripting API is more interesting.40. The G0 means hard edge.Shape [visibleG0.2015 . Therefore a "Page" is created.makeCylinder(80.show(Part.freecadweb. len(hiddenG0.100. Part. The template is an SVG document which can hold your usual page frame.cut(Part. your logo or comply to your presentation standards.hiddenG0.Edges) http://www.visibleG1.makeBox(90.Y).makeBox(100.cut(Part. Cylinder." Y=".Box.visibleG0.ActiveDocument." Z=".00 App.ActiveDocument.ActiveDocument.Shape.00 App." Z=".Cylinder App."Box1") App.addObject("Part::Box".Box2.ActiveDocument.ActiveDocument.Box.Box."Fusion1") App.ActiveDocument.Shape."Fusion") App.Vector(1.Manual – FreeCAD Documentation Page 78 of 93 Everything was projected on the Z-plane: print "Bnd Box shape: X=".hiddenG1] = Drawing.Length=100."Box2") App.Box2."Cylinder") App.1)) Project to SVG resultSVG = Drawing.1.ActiveDocument.addObject("Part::Box".XLength.BoundBox.Fusion1.00 App.ZLength Different projection vector [visibleG0.php?title=Manual 27."Box") App.ActiveDocument.addObject("Part::Fuse".YLength.Angle=360.ActiveDocument.00 App.BoundBox.Radius=80.Fusion.Box2.XLength.Box1 App.ActiveDocument.Height=100.addObject("Part::Cylinder".Base = http://www.BoundBox.visibleG0.freecadweb.Height=100.visibleG0.addObject("Part::Fuse".addObject("Part::Box".00 App.Height=100.Vector(1.Box1.Height=100.00 App.ActiveDocument.ActiveDocument.ActiveDocument.ZLength print "Bnd Box project: X=".ActiveDocument.BoundBox.ActiveDocument.00 App.visibleG1.00 App.Base = App.ActiveDocument.ActiveDocument.Length=90.ActiveDocument.ActiveDocument.00 App.BoundBox.00 # Fuse two boxes and the cylinder App.hiddenG0.00 App.YLength.Shape.ActiveDocument.Box1.projectToSVG(Shape.Width=40.Width=100.ActiveDocument.App.1)) print resultSVG The parametric way Create the body import FreeCAD import Part import Drawing # Create three boxes and a cylinder App.2015 .project(Shape.09.Cylinder.Cylinder.ActiveDocument.Box1.1.Width=85.Fusion.App.ActiveDocument.00 App.Tool = App." Y=".BoundBox.Length=20.org/wiki/index. ActiveDocument.0) App.php?title=Manual 27.ActiveDocument.ViewRot.Box2. App.'View') App.ActiveDocument.ViewRot.0.ViewIso.'ViewIso') App.ViewIso. App.0.0.ActiveDocument.Direction = (0.Rotation = 90.org/wiki/index.addObject(App.Visibility=False Gui.ActiveDocument.addObject('Drawing::FeatureViewPart'.ActiveDocument.ActiveDocument.1.ActiveDocument.ActiveDocument.0) App.Cylinder.View.ActiveDocument.ActiveDocument.Shape.Tool = App.ViewRot) Create a third view on the same object but with an isometric view direction.0 App.ActiveDocument.ActiveDocument.addObject('Drawing::FeaturePage'.0.Fusion1."Shape") App.Y = 140.'Page') App. define the position and scale and assign it to a Page App.Source = App.Tool = App.ViewRot.Source = App.View) Create a second view on the same object but this time the view will be rotated by 90 degrees.Fusion1 # Hide all the intermediate shapes Gui.ActiveDocument.ActiveDocument.Box2 App.0.Box.ActiveDocument.Page.0 App.Page.ActiveDocument.Template = App.View.Fusion1.ActiveDocument.ActiveDocument.ActiveDocument.Scale = 1.Source = App.0 App.Visibility=False Gui.Page.Visibility=False Gui.X = 10.ActiveDocument.Fusion.0.Shape.Y = 30.ActiveDocument.0.0 App.Shape App.Direction = (0.ActiveDocument.0.Box App.Visibility=False Insert a Page object and assign a template App.Y = 10.X = 290.0 App.View.getResourceDir()+'Mod/Drawing/Templates/A3_Landscape.freecadweb.Base = App.svg' Create a view on the "Shape" object.0 http://www.ActiveDocument.ViewIso.Visibility=False Gui.addObject('Drawing::FeatureViewPart'.addObject('Drawing::FeatureViewPart'.ActiveDocument.Fusion # Cut the fused shapes from the first box App.ViewRot.ActiveDocument.ActiveDocument.0) App.addObject(App.1.ActiveDocument.Shape App.ActiveDocument.ViewIso.ViewRot.Box1.0 App.ActiveDocument.Direction = (1.2015 .ViewRot.ActiveDocument.Visibility=False Gui.1. The hidden lines are activated too.addObject("Part::Cut".1.ActiveDocument.ActiveDocument.ActiveDocument.ActiveDocument.ActiveDocument.0 App.ActiveDocument.View.ActiveDocument.ActiveDocument.ActiveDocument.Shape App.09.X = 335.'ViewRot') App.Manual – FreeCAD Documentation Page 79 of 93 App. PageResult.addObject('Drawing::FeatureView'.freecadweb. only read permission) print "Resulting SVG document: ". App."r") print "Result page is ".ActiveDocument.09.ActiveDocument. 0)" stroke-width="0.2015 .View.ActiveDocument.Page.5 App.'ViewSelf') App.ViewIso.readlines()).PageResult file = open(App.Manual – FreeCAD Documentation Page 80 of 93 App.X = 30.ActiveDocument.len(file.Scale = 1.ViewResult print ViewSVG Get the whole result page (it's a file in the document's temporary directory.ActiveDocument.ActiveDocument.ActiveDocument.Page.ActiveDocument.ActiveDocument.Page.ViewIso) Change something and update.ActiveDocument.php?title=Manual 27.ViewSelf. 0.Y = 30.0 App.0 App.ActiveDocument.org/wiki/index.recompute() Accessing the bits and pieces Get the SVG fragment of a single view ViewSVG = App.View.View.ActiveDocument. The update process changes the view and the page.30)" fill="#00cc00" > <ellipse cx="40" cy="40" rx="30" ry="15"/> http://www.App.addObject(App." lines long" Important: free the file! del file Insert a view with your own content: App.ViewResult = """<g id="ViewSelf" stroke="rgb(0.35" stroke-linecap="butt" stroke-linejoin="miter" transform="translate(30.View.ShowHiddenLines = True App. com/jcc242/FreeCAD To get a feature control frame. try out the following: http://www. First you need to get the gdtsvg python module from here (WARNING: This could be broken at any time!): https://github.ActiveDocument.ActiveDocument.09.Manual – FreeCAD Documentation Page 81 of 93 </g>""" App.recompute() del ViewSVG That leads to the following result: General Dimensioning and Tolerancing Drawing dimensions an tolerances are still under development but you can get some basic functionality with a bit of work.freecadweb.Page.ViewSelf) App.2015 .php?title=Manual 27.org/wiki/index.ActiveDocument.addObject(App. try out the following: import gdtsvg ourDimension = linearDimension(point1.cadblog. width of symbol as second. (optional) The diameter symbol (tuple. svg string as first. I like to give it an easy handle ourFrame = g. (optional) The second datum (type string) 10. Y-coordinate in SVG-coordinate system (type string) 3. height of symbol as third) 4. height of symbol as third) 9. textstyle=getStyle("text") http://www.2015 .freecadweb. overall height of control frame) To get a dimension. point2.ModifyingSymbols("L"). arrowstyle=getStyle("filled"). g. height of symbol as third) The ControlFrame function returns a type containing (svg string. dimensiontext. width of symbol as second.09. (optional) The third datum's material condition (tuple. width of symbol as second. height of symbol as third) 6.ModifyingSymbols("F"). (optional) The third datum (type string) 12. width of symbol as second. (optional) The first datum (type string) 8. g."0".5". "B". The tolerance (type string) 5. g.ControlFrame("0". overall width of control frame. svg string as first.ModifyingSymbols("M"). ".Diameter(). svg string as first. (optional) The condition modifying material (tuple. height of symbol as third) 7.htm The parameters to pass to control frame are: 1.org/wiki/index. (optional) The second datum's modifying condition (tuple. width of symbol as second. textpoint. svg string as first.ModifyingSymbols("I")) Here is a good breakdown of the contents of a feature control frame: http://www. linestyle=getStyle("visible"). svg string as first. g. g.php?title=Manual 27. svg string as first.Perpendicularity(). height of symbol as third) 11.net/adding-geometric-tolerances. width of symbol as second. (optional) The first datum's modifying condition (tuple. X-coordinate in SVG-coordinate system (type string) 2. "A" g. The desired geometric characteristic symbol (tuple. "C".Manual – FreeCAD Documentation Page 82 of 93 import gdtsvg as g # Import the module. css) styles. css) styles. textstyle.freecadweb. you can proceed as above for displaying them on the drawing page. a string containing svg (i.y) tuple with svg-coordinates. a string containing svg (i. point2. for styling how the text looks With those two. linestyle.e. textpoint. this is where the text of your dimension will be 4.org/wiki/index. bug reports are welcome on the github page for now. using the getStyle function to retrieve a preset string. for styling the how the lines look 6. Templates FreeCAD comes bundled with a set of default templates. a string containing the text you want the dimension to say 5.e. dimensiontext.y) tuple of svg-coordinates. an (x. Extending the Drawing Module Some notes on the programming side of the drawing module will be added to the Drawing Documentation page. css) styles. this is the second point you would like to dimension between 3.09.Manual – FreeCAD Documentation Page 83 of 93 Inputs for linear dimension are: 1. This is to help quickly understand how the drawing module works.2015 . using the getStyle function to retrieve a preset string. or contact jcc242 on the forums if you post a bug somewhere else. this is one of the points you would like to dimension between 2. an (x. enabling programmers to rapidly start programming for it. point1. a string containing svg (i. arrowstyle. Tutorials ■ Drawing tutorial http://www.e. This module is very buggy and can be broken at any given moment.y) tuple with svg-coordinates. but you can find more on the Drawing templates page. using the getStyle function to retrieve a preset string. for styling how the arrows look 7. an (x.php?title=Manual 27. org/wiki/index.freecadweb. by allowing you to create a Raytracing project in which you add views of your objects. or be rendered directly. The project can then be exported to a ready-to-render file. The Raytracing workbench works with templates. http://www.2015 . the same way as the Drawing workbench.Manual – FreeCAD Documentation < previous: Part Module Page 84 of 93 Index next: Raytracing Module > The Raytracing workbench The Raytracing module is used to generate photorealistic images of your models by rendering them with an external renderer.php?title=Manual 27.09. or on another machine. http://www.Manual – FreeCAD Documentation Page 85 of 93 Currenly.wikipedia. The raytracing workbench works with templates. which are complete scene files for the given external renderer. two renderers are supported: povray (http://en. These scene files contain placeholders.org/wiki/POV-Ray) and luxrender (http://en.2015 . including lights and possibly additional geometry such as ground planes. though. To be able to render directly from FreeCAD. you are still able to export a scene file that can be used in any of those renderers later.freecadweb.org/wiki/LuxRender). and its path must be configured in the FreeCAD Raytracing preferences. Without any renderer installed. at least one of those renderers must be installed on your system.wikipedia.php?title=Manual 27.09.org/wiki/index. org/wiki/index. Tools Raytracing project tools These are the main tools for exporting your 3D work to external renderers ■ New PovRay project: Insert new PovRay project in the document New LuxRender project: Insert new LuxRender project in the document ■ Insert part: Insert a view of a Part in a raytracing project ■ Reset camera: Matches the camera position of a raytracing project to the current view ■ Export project: Exports a raytracing project to a scene file for rendering in an external renderer ■ Render: Renders a raytracing project with an external renderer ■ Utilities These are helper tools to perform specific tasks manually Export view to povray: Write the active 3D view with camera and all its content to a povray file ■ Export camera to povray: Export the camera position of the active 3D view in POV-Ray format to a file ■ Export part to povray: Write the selected Part (object) as a povray file ■ http://www.09.2015 .freecadweb. That modified scene file is what is then exported to the external renderer.php?title=Manual 27. and geometry and materials information of each of the objects you insert in the project.Manual – FreeCAD Documentation Page 86 of 93 where FreeCAD will insert the position of the camera. First.. Create or open a FreeCAD project.Manual – FreeCAD Documentation Page 87 of 93 Typical workflow 1.povray. Create a Raytracing project (luxrender or povray) 3. you must load or create your CAD data and position the 3D View orientation as you wish. Export or render directly Creating a povray file manually The utility tools described above allow you to export the current 3D view and all of its content to a Povray (http://www..org/wiki/index." from the raytracing menu.php?title=Manual 27.09. http://www. add some Part-based objects (meshes are currently not supported) 2. Select the objects you wish to add to the raytracing project and add them to the project with the "Insert Part" tool 4.2015 .org/) file. Then choose "Utilities->Export View.freecadweb. php?title=Manual 27.povray.org/wiki/index.freecadweb.2015 . After that you can open it in Povray (http://www.09.Manual – FreeCAD Documentation Page 88 of 93 You will be asked for a location to save the resulting *.org/) and render: http://www.pov file. php?title=Manual 27.org/wiki/index.09.freecadweb.2015 .Manual – FreeCAD Documentation Page 89 of 93 As usual in a renderer you can make big and nice pictures: http://www. Manual – FreeCAD Documentation http://www.org/wiki/index.2015 .freecadweb.09.php?title=Manual Page 90 of 93 27. getPartAsPovray() and Raytracing. The most useful are Raytracing. a third object exist. and can contain custom povray or luxrender code.read()) OutFile.getResourceDir()+'Mod/Raytracing/Templates/ProjectStd. that can be inserted either in povray or luxrender projects.Shape.'w') OutFile.pov'.App.0.luxViewCamera()) OutFile.0. http://www.write(Raytracing.luxViewCamera() to get the current point of view of the FreeCAD 3D window into povray or luxrender format.800000) OutFile. and RaytracingGui.800000. that you might wish to insert into your raytracing project. assuming your document contains a "Box" object: import Raytracing.800000)) OutFile.freecadweb.pov').getPartAsLux('Box'. and that can be inserted in povray and luxrender projects respectively.Box.write(open(App.getPartAsLux() to render a FreeCAD Part object into a povray or luxrender definition.Manual – FreeCAD Documentation Page 91 of 93 Scripting Outputting render files The Raytracing and RaytracingGui modules provide several methods to write scene contents as povray or luxrender data.povViewCamera()) OutFile.lxs'.activeDocument().RaytracingGui OutFile = open('C:/Documents and Settings/jriegel/Desktop/test.0.read()) OutFile.write(RaytracingGui.write(Raytracing.2015 .close() del OutFile Creating a custom render object Apart from standard povray and luxrender view objects that provide a view of an existing Part object.getPartAsPovray('Box'.povViewCamera() and RaytracinGui.0.800000.Shape.09.write(RaytracingGui.org/wiki/index.activeDocument().800000.close() del OutFile And the same for luxrender: import Raytracing. Here is how to write a povray file from python.800000.0.App.write(open(App. That RaySegment object is not linked to any of the FreeCAD objects.RaytracingGui OutFile = open('C:/Documents and Settings/jriegel/Desktop/test.lxs').0.php?title=Manual 27.Box. called RaySegment.'w') OutFile.getResourceDir()+'Mod/Raytracing/Templates/LuxClassic. spiritone.PovProject myCustomRenderObject = FreeCAD.wikipedia.php?title=Manual 27.Manual – FreeCAD Documentation Page 92 of 93 You can also use it.ActiveDocument.addObject(myCustomRenderObject) myCustomRenderObject.mitsuba-renderer.org/wiki/index. if you are not happy with the standard way.org/ http://www.povray.09.org/ http://www.ActiveDocument.Result = "// Hello from python!" Links POVRay ■ http://www.luxrender. for example.com/~english/cyclopedia/ ■ http://www. to output your FreeCAD objects a certain way.freecadweb.org/ Currently there is a new Renderer Workbench in development to support multiple back-ends such as Lux Renderer and Yafaray.net/ Future possible renderers to implement ■ ■ ■ ■ http://www.2015 .net/ http://www.org/ ■ http://en.addObject("Raytracing::RaySegment". You can create and use it like this from the python console: myRaytracingProject = FreeCAD.org/wiki/POV-Ray Luxrender ■ http://www.artofillusion. Information for using the development version can be viewed at Render_project For Development status of the Render Module look here Raytracing_project http://www.yafaray."myRenderObject") myRaytracingProject.kerkythea. 09.freecadweb.2015 .org/wiki/index.php?title=Manual Page 93 of 93 27.Manual – FreeCAD Documentation http://www.
Copyright © 2024 DOKUMEN.SITE Inc.