Release notes 017

"This release of FreeCAD is dedicated to our friend Roland Frank who left us in 2017. He was an active and well-appreciated member of the FreeCAD forum, and his video tutorials on the Learn FreeCAD and BPLFRE Youtube channels helped many people get started with FreeCAD."

FreeCAD 0.17 is not released yet. You can get the development version from Download. This is a summary of the most interesting changes. The complete list of changes can be found in the MantisBT bugtracker FC 0.17 changelog. Older FreeCAD release notes can be found in Getting started.

Garden Railway Coach O&K (by FreeCAD-User "Garden Railway Coach O&K", see Users Showcase)

Highlights
It's been almost 2 years since the previous 0.16 release, but the FreeCAD team didn't stay idle during that time. Nearly 6,700 revisions were added to FreeCAD's source code. For comparison, this is more than three times the work done between v0.16 and 0.15! Most existing workbenches benefited from improvements, and two completely new workbenches were added. New additional modules were also developed by the community. Some of the highlights:

The PartDesign workbench has been completely overhauled. A new Body container now holds a chain of features and lifts the requirement of mapping sketches to planar faces. New tools to create datum (reference) geometry such as points, axes and planes make PartDesign a lot more versatile.



The new Addon Manager available from the Tools menu (which was previously available as the addons installer macro) makes installing and updating add-on modules and macros much easier and standardized across Windows, Mac OS X and Linux.



The Sketcher now supports B-spline creation with many ways to control curves and display information.



The new TechDraw workbench aims to replace the Drawing workbench, and already provides more features than the old Drawing workbench.



General

 * Yorik van Havre wrote "The FreeCAD Manual" as an introductory book on how to use FreeCAD.
 * Document recomputes can now be disabled/enabled via the context menu.
 * There's a new New Revit navigation style.
 * A new Navigation Indicator at the bottom right of the FreeCAD window allows quick access to the navigation styles.


 * [[File:FC017 Navigation Indicator 01.png]] [[File:FC017 Navigation Indicator 02.png]]


 * The dependency graph benefited from graphical enhancements.
 * STEP import leverages the new Part container and uses it to organize an imported STEP assembly into sub-assemblies, now more closely following the original document's structure. stpZ (a compressed STEP format) is now supported.
 * Most of FreeCAD's icons were reworked to better comply with Tango guidelines.

Arch Workbench

 * New Arch Schedule tool: This tool has been completely rewritten, and offers now a much more flexible way to gather data from the document into a spreadsheet, using different kinds of queries, such as counting all objects of a certain type, or summing up the total volume of a certain category of objects.
 * New set of piping tools to design piping systems. You can use lines, sketches or wires as a base to place tubes, and automatically create connections between 2 or 3 tubes.
 * The Arch Structure tool has now been extended with a series of new presets to build precast concrete elements.
 * During the Google Summer of Code 2017 edition, to which FreeCAD participated, the Arch Rebar tool was greatly extended and gained a friendly User Interface to easily add several standard types of Reinforcement bars to your concrete structures.




 * Windows gained several enhancements, such as the possibility to define subcomponents as openable, show opening symbols, appear open, and have louver panels.




 * Arch Axis tools have also been rewritten, and allow more complex systems by combining different series of axes together. They can also be customized to show different kinds of situations such as levels.
 * A new Arch Grid tool allows to easily create spreadsheet-like base objects by stretching, joining or splitting cells. These grid objects can the be used as axes systems, or as bases for complex window or panel arrangements.
 * New Panel tools were specifically designed for panel constructions. They allow to build a model composed of Arch Panels, and then generate cutting sheets that can be used by the Path Workbench to generate cuttng machine code.
 * A new Nesting tool (still experimental), allows to compose cut sheets by automatically placing 2D shapes in a containing shape.
 * Multi-materials have been introduced in the Arch workbench. They allow to automatically create multilayer walls, or control the different material of compound objects such as windows.
 * The Arch Workbench OBJ and DAE exporter now support materials, both when importing and exporting.
 * Import support for the 3DS format has been added.

Draft Workbench

 * Autogroup system: The Draft workbench now features an auto-group button on its main toolbar. When activated, all newly created Draft and Arch objects will automatically be placed in that group.
 * Slope tool: When used on a Draft Line or Draft Wire, this tool will allow you to give it a given slope/inclination. That is, the intermediate and end points will get a lower Z value, so the whole object gets a constant inclination. This is useful to use Lines or Wires as bases for objects that needs a precise inclination, such as roof panes or sewer pipes.
 * Working Plane proxies: When working with Draft working planes, you often need to store working plane locations that you use often. This is now possible by placing one of those proxies in your document. It will remember the current working plane location, and can also restore the current view and/or objects visibility.




 * Draft Stretch: The Draft workbench now has a stretch tool, that allows to move vertices of several Draft objects at once.
 * Draft Label: With this tool, one can place labels in the document, which as composed of a piece of text and a leader line that can be free or stick to a specific object. The text can be made to display a custom piece of text, or automatically display the contents of a property of the target object.



FEM Workbench

 * FEM Mesh
 * Gmsh object ToDo
 * Boundary layer object for gmsh ToDo
 * Mesh group object for gmsh ToDo
 * Mesh region object for gmsh ToDo
 * GUI clear mesh tool ToDo
 * GUI print mesh info tool ToDo
 * GUI mesh view provider Display quad face mesh as well as hexaeder, pentaeder and pyramid mesh
 * Mesh data model update SMESH to versionn 7.7.1 https://github.com/FreeCAD/FreeCAD/commit/666a3e5a
 * Mesh API Posibility to read mesh group data out of the FreeCAD SMESH FEM mesh data by Python. This was the base for th gmsh group object
 * Mesh API Export mesh groups to inp file format
 * FEM mesh 2 mesh tool tool to convert a surface of a volume mesh into a mesh for FreeCADs mesh module
 * Mesh problems nonpositive jacobians is an often seen problem in FEM meshes. Elements which have nonpositive jacobians in CalculiX solver are colored in FreeCAD.
 * Calculix New Analysis supported
 * Coupled Thermal Structural Analysis
 * 1D pipe Flow analysis Analysis
 * Coupled Beam Shell Solid models

Part Workbench

 * The Open Cascade geometric modeling kernel was updated from 6.8.0 to 7.2.0 (actual OCC version may depend on platform/distro). This version brings a lot of bug fixes in Boolean operations, hidden line removal algorithm, as well as new features.
 * New features: Boolean Fragments, Slice and XOR.
 * Thanks to the new features above, composite solids (compsolids) can now be created in FreeCAD. They are of great use in FEM.
 * Connect performance and reliability were improved, and the tool was made more versatile.
 * New feature: 2D Offset, to offset planar wires.
 * Enhancement: Part Extrude tool now supports parametric Normal direction, direction controlled by linked edge, reversing, 2nd length, 2nd taper angle, and symmetric. Also, Make Solid checkbox is now checked automatically if you open dialog and the selected object is a closed wire (e.g., a sketch).
 * Enhancement: Part Revolve tool now supports parametric link to revolution axis.
 * The new Part Attachment utility accessible from the Part → Attachment… menu can be used to attach most types of objects to other geometry parametrically.

PartDesign workbench
PartDesign workbench has changed massively.



Part and Body containers were introduced. Part container is made for organizing the model, and Body container keeps sequences of PartDesign features making up a single solid together. These containers provide a way to keep model tree nice and organized, and serve a basis for future Assembly workbench by providing a way to move parts around.

Thanks to Bodies, it is now not necessary to map sketches to faces when adding features. This requirement was a major problem of old PartDesign, that has caused many models to break upon parameter changes. So, it is now recommended to not map sketches to faces, if possible.

Sketcher has changed too, allowing free external geometry links within a Part, or a Body, or even a whole project if Part and Body containers are not used.

PartDesign got a bunch of new feature types: Primitives, Loft, Sweep, Thickness. And a totally new kind of thing - datum features, which are planes, lines and points useful for placing sketches, alignment, and serving as axes of revolutions.


 * With version 0.17 a new workflow within the part design workbench would be introduced, known as part design next. With new features also a new philosophy of creating parts with the part design workbench is introduced. This work should make programming an assembly module much easier.

Path Workbench
The Path workbench has been massively overhauled in version 0.17. The overhaul saw the removal of all older HeeksCNC code and replacement of the libarea python wrapper with the new Path-Area module. As a result operations have gotten much more powerful, faster, with a simplified code base.


 * Support for 2.5D operations is complete including contour, face-milling, pocketing, profiling, and drilling


 * Limited support for 3D pocketing operations.


 * Path can use Arch Panel as base object to group multiple parts together for 2D cutting.


 * Introduction of Path Job. The job is now a central object of the path workflow. It organizes and coordinates multiple operations, tools, stock material, part orientation and alignment.  A customized Job can be saved as a 'Job Template' and re-used to streamline the setup of future jobs.  Job SetupSheets provide a mechanism to automate the configuration of depth and speed settings.


 * All operations have a consistent task panel organization


 * New or improved post-processors for LinuxCNC, Smoothieboard, GRBL, Phillips, OpenSBP (shopbot), Roland Modela, Centroid, Fablin, and Dynapath.  Most post-processors support arguments.


 * Improved tool library and editor.


 * Path Inspect tool allows highlighting individual commands to visualize path and explore gcode.


 * Path Simulator tool does 3D simulated cutting to visualize Path execution


 * Dress-up operations can be used to refine core operations and add additional complexity. Dressups exist for 'dogbone' corners, holding tags, ramp entry, and dragknife 'corner actions'

Sketcher Workbench

 * Sketches can now be attached in a wide variety of ways, not only to flat faces as it used to be. Of particular importance is attachment perpendicular to edges, useful for making profiles for sweeping.


 * External geometry links are no longer limited to only the object the sketch is mapped to. Geometry from other sketches is supported.


 * Visibility automation: now, when you start editing a sketch, objects depending on it are automatically hidden to unclutter the view, and objects used for external geometry links are automatically shown; old visibilities are restored as you close the sketch.


 * Added arc of hyperbola and arc of parabola.


 * Added Extend edge tool.


 * B-spline creation is now possible, with many ways to control curves (degree, knot multiplicity, control point weight) and display information (control polygon, curvature comb, knot multiplicity indicator).


 * [[File:FC017 Sketcher B-spline 01.png]]


 * New Carbon Copy tool to copy geometry from another sketch.


 * Virtual space switches all constraints to a different "virtual space", in effect hiding them from view. It is also possible to toggle the visibility of constraints individually from the Constraints list.


 * The Block constraint removes all degrees of freedom for a geometry element in place with the use of a single constraint. It should be particularly useful to work with B-Splines, which are cumbersome to constrain.


 * Sketcher Array


 * "regular polygon" with user defined number of sides


 * Alternative sketch solvers through "show advanced solver control in taskview" in Preferences.


 * Geometry style based "rendering order"


 * Constraints List box includes ability to hide internal alignment, as well as individual hiding of constraints with a checkbox


 * New tick box in edit mode task view "Avoid redundant auto constraints"


 * Horizontal and Vertical constraints can be used to align selected points.


 * New constraint continuous creation mode:

Spreadsheet Workbench

 * An Excel-file importer was added.

Surface Workbench

 * A new addition in v0.17, for now the Surface workbench has 4 functioning surface creation commands.

TechDraw Workbench
TechDraw is a new workbench for creating technical drawings that aims to replace the ageing Drawing workbench. FreeCAD v0.17 is still shipped with the Drawing workbench so you can still open and edit your files containing Drawing pages, but Drawing will be phased out in a future release. Some of the exciting new stuff that TechDraw brings:


 * Most tools from the Drawing workbench have a TechDraw counterpart.
 * Easier view creation and manipulation. Views can be grabbed by their border with the mouse and dragged on the page. Orthogonal views alignment can be locked.
 * Better line type management (hard, smooth, iso, seam). Better hidden line removal thanks to an updated OCC library.
 * Section view, detail view creation.
 * Better template management.
 * Dimensioning is now supported, through multiple dimensioning tools: horizontal, vertical, length, radial, diameter, angular.
 * Decoration tools: hatching, hatching compatible to Autodesk PAT specification, symbols, images.

Flamingo Workbench
Sandbox:Flamingo