Release notes 26.3/ru

FreeCAD 26.3 находится в стадии разработки, дата выхода пока не сообщается.

FreeCAD 26.3 was released on D Month Year, get it from the Download page. This page lists all new features and changes.

Previous FreeCAD release notes can be found in the Feature list.

General

  • FreeCAD has adopted a new release schedule of three stable releases per year and switched to a CalVer versioning scheme (YY.N), starting with version 26.3. FEP-0003
  • Multiple documents can now be edited simultaneously with independent tasks and undo/redo stacks, for example, having two Sketches open at the same time (GSoC project). Pull request #21978
  • .FCBak backup files can now be opened directly from the File → Open dialog without renaming them to .FCStd first. Saving such a file triggers Save As… to prevent accidentally overwriting the backup. Pull request #28454
  • The .FCBak backup date format preference now validates invalid filename characters and replaces invalid timestamp characters when creating backups. Pull request #25985
  • The "Using undo/redo in documents" preference was removed as redundant. Pull request #30616
  • An experimental Windows-on-ARM build of FreeCAD is now included with the release. Pull request 31514

User interface

The Navigation Cube was improved, mostly in terms of appearance and functioning of its extra buttons. A home button was added.

Pull request #29338

Further user interface improvements

Core system and API

Core


Click on the image if the animation does not start.
The expression editor's autocomplete now uses fuzzy matching instead of requiring an exact prefix match, with caching and ranking that prioritizes property names over container labels, making it easier to find properties, objects, and functions by typing partial or approximate names.

Pull request #30531

A new command to add an Annotation Label to the last picked point in the 3D view was added.

Pull request #23673

A new Mass Properties command has been added to calculate volume, mass, surface area, center of gravity, center of volume, and inertia for parts and assemblies, with support for custom reference frames and material-aware calculations.

Pull request #27347

Core Datums now use the Show Placement property, making attachment offsets (without rotations) in local coordinates more intuitive. Pull request #29176

Click on the image if the animation does not start.
The Transform tool now supports a custom coordinate system mode: translation and rotation inputs are expressed relative to any object with a placement in the document (bodies, shapes, local coordinate systems, Part containers, etc.), while the dragger position and orientation remain unchanged. Rotations are applied around the current dragger origin (object origin or custom dragger position) using the axes of the custom coordinate system. Optionally, the dragger axes can be visually aligned to the custom coordinate system to also drag the object interactively in its directions. This allows moving or rotating an object at or around the current dragger relative to another object's coordinate system.

Pull request #30227

Further Core improvements

  • The search bar in the Preferences is now able to search through tooltips, dropdown values, checkboxes and group titles. Pull request #24283
  • The Measure tool now has the option to display the measured result of circular elements as diameters instead of radii. Pull request #24853
  • The Measure tool now supports the measurement of the radius and diameter of cylindrical faces. Pull request #27044
  • On macOS the .FCStd files now support the native QuickLook extension to show a thumbnail of the file in the finder and the full preview. Pull request #25239
  • The Measurement units can now be converted and viewed on the fly. Pull request #27462
  • The Measure tool now keeps the selected display unit with the measurement object, so changing units updates the task panel result and 3D label immediately. Pull request #29157
  • The Measure tool can now report the radius and diameter for circular faces in addition to the existing measurement types. Pull request #27415
  • The Measure tool now displays area units using unicode superscripts. Pull request #28044
  • Macros now support directories to collect the files associated with them. Pull request #27005
  • The macro dialog and the Open Macros Folder command now open the configured macro path instead of the default macro directory. Pull request #29224
  • The broken built-in macro debugging actions now show a message directing users to the remote debugger workflow instead of implying breakpoint debugging is available there. Pull request #29889
  • The Measure tool can now report the radius and diameter for spheres and toruses. Pull request #29369
  • The Measure tool now supports curved faces in Distance mode. Pull request #29367
  • The appearance and placement of the Angle Measurement arrows was significantly improved. Pull request #27135
  • Box Element Selection now takes into account the selection filters. Pull request #28982
  • The Measure tool now supports circular faces for angle measurements. Pull request #29803
  • The Measure tool now supports internal sketch faces. Pull request #29551
  • The Quick Measure feature now shows the diameter of circular faces. Pull request #29385
  • Selection filters can now select other entities within the viewer pick radius instead of immediately showing the blocked-selection state. Pull request #29705
  • FreeCAD was adapted for OpenCascade 8 while keeping OpenCascade 7 compatibility, updating geometry, import/export, CAM, Sketcher, FEM mesh, and related code paths. Pull request #25502
  • CMake now warns that Qt 5 support is deprecated and scheduled for removal, prompting packagers and builders to update to Qt 6. Pull request #30222
  • On Unix-like systems, lock files now use owner-only permissions, and Coin image export avoids creating world-writable files. Pull request #30239
  • The Conda release build preset now enables FREECAD_WARN_ERROR, and related warnings were fixed so release CI catches new compiler warnings earlier. Pull request #30228
  • The Transform tool can now use the Center of mass / centroid mode with Links and Part containers. Pull request #30208
  • The Transform tool now snaps the dragger to the start and end points of an edge when hovering near them, in addition to the existing edge center snap, while preserving the dragger orientation aligned to the edge. Pull request #30213
  • The Transform custom dragger mode now supports selecting an object in the Tree View to use its placement as the dragger reference, in addition to picking elements in the 3D View, and no longer stays active when switching back to another dragger mode. Pull request #30943
  • The JT file importer was improved, including support for JT 10.x files. Pull request #29768
  • The bounding box feature used in several ways including the Fit Selection tool and sketch edit mode was reworked. Pull request #26291
  • Fine-grained recomputes were introduced. These are recomputes based on dependencies between properties instead of objects. This is an experimental feature that can be toggled with a preference. Pull request #25603
  • The Image Plane calibration tool now supports rotating the imported image so the calibration line aligns to the nearest 45-degree angle (horizontal, vertical, or diagonal), and can center the image on the midpoint of the calibration line. Now it also supports input hints. Pull request #30755 and Pull request #31291
  • The Measure tool's support for datums was significantly improved. Pull request #29720
  • The Mass Properties tool can now calculate inertia around any selected straight edge, in addition to the existing reference options. Pull request #31157
  • The Mass Properties tool can now calculate the area of non-solid (surface) objects. Pull request #30810
  • The Measure tool's angle measurement now accepts cylindrical and conical faces, using their axis, so picking two holes directly gives the angle between them instead of requiring a straight edge parallel to the axis. Pull request #31905
  • The Send to Python Console tool has been extended to support multiple objects and additional variables. Pull request #31096
  • File thumbnails are now captured with a dedicated camera framed to fit the document's geometry, using the default home view and a transparent background instead of the last-used viewport and a color-keyed background. Pull request #32489
  • Delta measurements of the Measure tool were added to its task panel. Pull request #30641
  • The FEM unit scheme was significantly improved to make it correct and user-friendly. Pull request #31013
  • The handling of 2 discs or 1 disc and 1 plane by the Quick Measure feature was improved. Now it also shows the axis distance. Pull request #31770
  • The Center of Mass mode of the Measure tool was refactored to align it with other modes. Pull request #29310
  • A moment unit was added to the MKS unit schema. Pull request #32708
  • Mass and area moment of inertia units were added. Pull request #31972
  • Now it is finally possible to use Graphviz for Dependency graphs in all builds. Pull request #32042
  • When opening/saving a file, filters with very long extension lists (Supported Formats & Image Formats) no longer take up all the screen width. Pull request #23209
  • Linux AppImage releases now use the system's file open/save dialogs by default. Pull request #32212
  • Linux AppImages can now be forced to start in Wayland mode using the FREECAD_QT_QPA_PLATFORM=wayland environment variable. Pull request #32212

API

Removed Python API

Changed Python API

New Python API

  • A Python typing stub generator was added for FreeCAD's C++/PyCXX API surface, using source-adjacent .pyi inputs and smoke checks to keep generated stubs valid. Pull request #29334

Start

The Addon Manager in this release focuses on three areas: installing and updating very large addons, managing Python packages, and supporting addon repositories hosted outside GitHub.

Installation and updating

  • Very large addons are installed and updated with git. Addons that the catalog marks as too large to cache in full, the Parts Library being the canonical case, now use git when it is available on the user's machine. Updating fetches only what changed instead of re-downloading the entire archive, and the dialog states which method is in use. Pull request #467 and Pull request #451
  • Installation progress, cancellation, and recovery were substantially reworked. The progress dialog reports formatted transfer amounts for zip downloads and git's own progress lines with a percentage for git installs, and it distinguishes updating from installing. Cancelling states whether it is stopping the work or clearing up afterwards, removes the partial download on a background thread so the interface keeps repainting, and terminates the whole subprocess tree. A failed git install now offers "Try again" or "Download a zip instead" rather than reporting a dead end. Pull request #467
  • Uninstalling a macro removes its toolbar button. The custom toolbar button and its generated icon files, which the Addon Manager itself created at installation time, are now cleaned up on removal rather than being left behind pointing at a missing macro. Pull request #471

Python packages

  • The Python Package Manager is now a top-level command with a working interface. It can be opened directly from the menu without going through the Addon Manager dialog. The dialog gained an "Add Package" button for installing a package by name, a "Stop" button that actually cancels a running pip operation, an animated progress bar with a live detail line carrying pip's own output, and a selectable installation path field. Pull request #396, Pull request #421, Pull request #458 and Pull request #472
  • Python package policy comes from published constraints files, and PyPI is no longer contacted directly. The hard-coded ALLOWED_PYTHON_PACKAGES.txt list is gone. FreeCAD publishes one constraints file per Python minor version, pinning every vetted package including transitive dependencies to an exact version. The Addon Manager fetches, caches, and applies it through pip's --constraint, and determines outdated packages by comparison against the vetted version rather than by querying PyPI. Pull request #455 and Pull request #345
  • Python dependency installation no longer times out. The previous 120-second wall-clock limit, which killed legitimate installations on slow connections or with large wheels, has been removed in favor of monitored output. Pull request #458 and Pull request #472

Custom repositories

  • Custom repositories work with hosts other than GitHub. The Addon Manager determines which software a git host is running, covering GitHub, GitLab, and Gitea or Forgejo including Codeberg, by probing raw-file URL layouts. It remembers the answer in preferences and uses it for metadata, icons, READMEs, and archive downloads. Zip extraction detects the archive's wrapper directory by structure rather than guessing at each host's naming convention. Pull request #426, Pull request #425 and Pull request #442
  • The branch field for a custom repository is now optional. Leaving it blank makes the Addon Manager ask the repository for its default branch via git ls-remote, falling back to probing main and then master. Previously an unspecified branch was assumed to be master. Pull request #428
  • Custom repositories show full metadata, icons, and update status. Custom addons are constructed through the same code path as catalog addons, fetching package.xml and the icon from the host, instead of appearing as a bare name. Pull request #424 and Pull request #367

Interface and other changes

  • User interface text was revised to follow FEP-0007. Tooltips are phrased in the descriptive third person, for example "Shows the compact view", dialog titles use title case, and terminology was made consistent across the options page, the uninstaller, and the view selector. Pull request #447
  • The "Other" category no longer hides unrecognized addons. Any package content type without a dedicated category, including types introduced after this version of the Addon Manager was released, now appears under "Other" instead of being filtered out of every category. Pull request #470
  • Custom repositories are not held to the catalog's Python allow-list. When every addon in an installation comes from a repository the user added themselves, unreviewed Python dependencies are presented for confirmation rather than being silently dropped. The allow-list still applies as soon as one catalog addon is involved. Pull request #427
  • Malformed addon icons no longer produce console noise. PNG icons carrying duplicate iCCP chunks, which Qt warns about on every paint, are detected and handled. Pull request #354
  • The Report View is considerably quieter. A large volume of routine status output moved from PrintMessage to PrintLog, and genuine problems moved to PrintWarning. Pull request #440
Moves controls were added to Exploded views in Assembly.

Pull request #30955

The new Part Link Array tools were also added to Assembly: Linear, Polar, Circular, Path, and Point — that insert the source object as a rigid array of links instead of copying its geometry, while still allowing joints to be added to any instance's feature or element, and suppressing individual instances or changing custom spacing via OVP.

Pull request #30840

Further Assembly improvements


Click on the image if the animation does not start.
Draft Trimex now also works on supported BIM objects (Wall, Pipe, Structure, Frame, Truss, and baseless Panel), trimming or extending the object by picking one of its end faces. Extruding a face into a new object is now a separate BIM Extrude Face command instead of being combined with Trimex.

Pull request #31941

A Report command has been added. It uses an SQL-like query language to select, filter, and aggregate data.

Pull request #24078

A BIM Covering command has been added. It can apply finishes like flooring, wall cladding, ceiling tiles, or façade panels to existing geometry.

Pull request #27222

BIM Windows now include a Sliding Door preset whose opening follows the Opening property, and the Tree View context menu can invert the sliding direction.

Pull request #27375

  • Removing a wall base now preserves the wall's placement and parametric dimensions for supported straight Draft or Sketch bases, and warns before removing unsupported complex bases. Pull request #24550
  • Walls can now be created without a base object by default, with the selected wall baseline mode remembered in preferences. Pull request #24595
  • The BIM toolbar layout was decluttered by grouping related commands, removing the Shape from Text and BIM Views entries from the default toolbar, and rearranging common drafting and copy tools. Pull request #25147
  • BIM Windows now provide a task-panel options box for editing common window properties with expression-aware fields and a cancel action. Pull request #27381
  • BIM Window types can now use LinkGroups, avoiding out-of-scope subvolume warnings while preserving unset base-object properties. Pull request #27420
  • Walls now provide task-panel options for common wall properties, and the same quick-access task-box framework was extended to other BIM objects. Pull request #26758 and Pull request #27746
  • BIM link handling was refactored, and the new Make Link command creates an App::Link and immediately starts a move operation for BIM workflows. Pull request #28104
  • Sites now provide task-panel options for several site properties. Pull request #28504
  • Defining external geometry in base sketches is no longer ignored. Pull request #30086
  • Status Bar input hints were added for BIM tools. Pull request #30511

Further BIM improvements

CAM operations (Profile, Pocket, MillFacing, Drilling, Circular Hole, Engrave, Vcarve, Adaptive, Deburr) now support 3+2 (indexed) machining: each operation can be assigned a Workplane, and the toolpath is computed relative to that plane. For a non-Z-up workplane, the required rotary-axis positioning move is automatically computed and emitted based on the configured machine's kinematic chain. This requires a machine with rotary axes and machine-based postprocessing.

Pull request #30106

A new Rotary Surface operation was added for 4th axis surfacing.

Pull request #29751

Machine Library and Editor were added to the CAM Preferences. Machine-based postprocessing was also added. Machine definitions can also be implemented as add-ons.

Pull request #26533, Pull request #27507 and Pull request #28405

The MillFace operation was reimplemented with significant improvements as MillFacing.

Pull request #24367

Further CAM improvements

  • The Units (Metric/Imperial) property was added to ToolBits. Pull request #25783
  • The new CAM simulator now uses the same ortho/perspective view mode and navigation style as the 3D View. Pull request #23073
  • The Pocket operation can now handle horizontal edges in addition to faces. Pull request #27750
  • The Op Final Depth property of the Engrave operation now has a better default value depending on stock and engraving shape. Pull request #26543
  • Start Point can now be set from the task panel for Profile and Pocket operations. Pull request #29502
  • The Circular Hole Base feature used to select Base Geometry for some operations now shows position and blind state (for cylinder faces) in addition to face name and diameter. Pull request #27869
  • CAM operations now recover more gracefully when linked Base Geometry becomes invalid: the path is cleared, the operation is marked with an error state, and invalid Base entries can be removed from the task panel. Pull request #27559
  • The Helix operation now has the Helix Max Ramp Angle property while Helix Pitch was renamed to Helix Max Pitch. Pull request #29286
  • The Zig Zag Angle property of the Pocket operation was renamed to Angle. It is now hidden if the selected pattern is Offset. Pull request #26842
  • A new dressup tool was added to allow mirroring paths. Pull request #21820
  • A rapid move from Clearance Height to Safe Height was added at the beginning of the Slot operation's G-code. Pull request #25845
  • The Slot operation now handles perpendicular and start-to-end paths for multiple edges or faces more reliably, supports straight edges and non-horizontal arcs, and clears invalid paths when a slot cannot be created. Pull request #25090
  • The Slot operation task panel now includes the CutPattern option, whose values were renamed to Bidirectional and Directional; the removed LayerMode behavior now matches other operations' step-down handling. Pull request #25867
  • The CAM context menu was improved. Pull request #26492
  • Engraving has two new properties: Pattern (allows swapping the direction after step down to exclude retraction) and Reverse (forces direction change). Pull request #22226
  • Linking now considers the tool shape. Pull request #28180
  • The Array tool's Jitter feature was improved. Pull request #26326
  • The HandleMultipleFeatures feature can now process more cases for the Area operation. Pull request #26867
  • The DressupTag tool can now automatically place tags for several closed paths. Pull request #22468
  • The DressupTag tool now scales better with many edges. Pull request #29094
  • The Z Depth Correction Dressup now shows a warning instead of an error when the path is outside the probe area. Pull request #28582
  • The Adaptive operation now uses helix generator to create a helix entry. Helix properties were moved to the Adaptive Helix Entry group. There are also new property names Helix Max Ramp Angle and Helix Max Pitch. Pull request #22357
  • Toolpath rendering for multi-revolution rotary moves now uses the full angular travel, avoiding coarse display segments on long G0/G1, G2/G3, and drilling-cycle rotations. Pull request #29707
  • The job creation and editing dialogs were improved. Job creation now includes a unit schema selector, template description was added to the json and there is a machine selector, as well as a button to create new machines on the General tab. Several other widgets within those panels were also enhanced. Pull request #29861
  • MachineState.G0F, and .ReturnMode were added for Drilling commands. Pull request #29892
  • CAM drilling cycle expansion now uses MachineState for more accurate machine state tracking while expanding drilling cycles. Pull request #30112
  • The Drilling, Helix and MillFacing linking options now include collision-avoidance strategies for using retract height, clearance height, line-of-sight checks, tool diameter, or tool shape. Pull request #29983
  • The Linking generator was added to the Engrave and Deburr operations to use the safe height instead of clearance height for linking moves. The Linking Mode and Safety Margin options were added to the task panels, also for Drilling and Helix operations. Pull request #29959
  • The loop selection tool can now handle horizontal faces. Pull request #26786
  • A Points pattern type option was added to the Array operation. With this type the position and direction of array elements is taken from selected shapes. Pull request #23606

Click on the image if the animation does not start.
Typing a value into any X/Y/Z/Length/Angle input field in Draft and BIM task panels now automatically locks that field, preventing the 3D cursor from overwriting the entered value. Locked fields are indicated by a lock icon in the spinbox, constrain the cursor in the 3D view to the locked values, and can be unlocked by clicking the icon, double-clicking the field, or clearing the value.

Pull request #30448

Further Draft improvements

Several new tools extending the capabilities of the Gmsh mesher with advanced refinements and transfinite algorithms were added. Thanks to the latter, hexahedral meshes can now be automatically created for all shapes whose subvolumes have 5 or 6 faces with 3 or 4 edges each.

Pull request #24792


Click on the image if the animation does not start.
Local coordinate system transformations can now also be applied to edges of 2D models.

Pull request #30946

Magnetodynamic 2D equation now properly supports Joule heating calculations with Heat equation. There is also a new example for eddy currents heating based on and validated using an Abaqus benchmark, and the frequency for the harmonic equation can be entered directly in Hertz instead of being specified as an angular frequency.

Pull request #31690

The Z88 solver was completely refactored. It can be used with both open-source versions of Z88 - Z88OS and Z88Adria. It supports several element types (including true truss, plate, shell, plane stress and axisymmetric elements) and basic features for linear analyses. Pull request #28944
The Z-refinement algorithm of Netgen, allowing the creation of extruded meshes, now also supports shells.

Pull request #28204

The None Field Color property was added to the results pipeline and filters to set the color when the displayed field is None (can be helpful e.g. when using the Glyph filter).

Pull request #28028

Material assignments are now read from the CalculiX's .frd results files. They can't be accessed in FreeCAD yet, but they can be visualized in ParaView upon conversion to .vtm format.

Pull request #27847

Further FEM improvements

Further Inspection improvements

Further Material improvements

  • The Material-Metals database has been extended with additional copper and copper-alloy materials. Pull request #25832
  • Material assignment via Std SetMaterial now wraps changes in a transaction, replacing the "Close" button with "OK" and "Cancel" to enable proper undo support. Pull request #27910
  • Material library paths using symbolic links are now handled correctly by the Materials Editor and material-loading API calls. Pull request #28500

Further Mesh improvements

  • A status widget now displays the reason when adding a triangle to a mesh fails. Pull request #29945
A new Midplane between faces attachment mode was added, placing the attachment origin midway between the centers of two selected planar faces. For non-parallel faces, the resulting plane is the angle bisector between the two faces.

Pull request #31574

New link arrays were added: Linear, Polar, Circular, Path, and Point which insert the source object as array of links instead of copying its geometry, with the option of suppressing individual instances or changing custom spacing via OVP.

Pull request #30840

Further Part improvements

  • A new method has been added to split a B-spline curve into two curves at a given parameter. Pull request #26716
  • Extruding text sketches in the Part Workbench is now faster, especially for sketches that produce many wires. Pull request #28344
  • The attachment system now correctly offers modes such as XY parallel to Plane when selecting origin datum planes through an Origin object. Pull request #28958
  • Loft creation now allows valid profile combinations that share the same center of gravity while still guarding against the crash case fixed for duplicate profiles. Pull request #29982
  • A unified face maker was added to replace the current multi-face maker approach with a single algorithm handling all planar and non-planar cases. This is a new default face maker. Pull request #28788
  • The Project on Surface tool now accepts internal sketch faces as input for projection on a surface. Pull request #30425
  • The Mirror tool now respects the placement of a link to a placed object. Pull request #30987
  • The Part Extrude task panel now supports expressions in its length and taper input fields, since the underlying features are created as soon as the panel opens instead of only on Apply/OK. Pull request #32610
  • Seam edges are now preserved during refinement to ensure closed wires. Pull request #32850
  • Box selection received a significant speedup. Pull request #32963
Support for cosmetic threads (thread textures) was added to the Hole tool. They can be enabled using the Cosmetic Thread property (Threaded has to be enabled and Model Thread must be disabled).

Pull request #22573 and Pull request #28570

Creating New sketch now activates the Attachment dialog unless a single planar face or datum plane is selected to allow for attachment offset changes of the sketch plane before starting the sketch. When it is open, a double click on a face selects and accepts it for a faster workflow.

Pull request #29168


Click on the image if the animation does not start.
A new parametric Defeaturing command was added, allowing selected faces of a feature to be removed and the resulting gap automatically healed or removed based on the geometry, with a live preview of the result before confirming.

Pull request #29616


Click on the image if the animation does not start.
Pad and Pocket now support an optional start offset, letting the profile begin at a distance from its sketch plane instead of directly on it. The offset can be entered as a direct dimension or set by referencing a face, plane, or sketch, making it easier to build multiple features from a single master sketch without needing separate offset planes. Interactive draggers now include a spherical handle for the start offset when Start Type is set to anything but Profile plane.

Pull request #31688


Click on the image if the animation does not start.
All PartDesign pattern tools (Mirror, Linear, Polar, and the new Circular, Path, and Point patterns) now support suppressing individual instances, including the original, directly from the 3D View.

Pull request #30840

Three new pattern types were added to PartDesign: Circular Pattern distributes instances evenly around one or more concentric circles, Path Pattern distributes instances along a selected curve or edge, and Point Pattern places instances at a set of selected points. All three are also available as steps within Multitransform.

Pull request #30840

Pattern tools now use OVP (On-View Parameters) fields to control spacing overrides implemented in the previous release.

Pull request #23997


Click on the image if the animation does not start.
Subtractive PartDesign features (Pocket, Groove, Subtractive Loft, Subtractive Pipe, Subtractive Helix and primitives) now support a boolean Common operation in addition to the default Subtraction, keeping only the material shared between the feature and the base body instead of removing it. A dedicated Operation dropdown was added to each affected task panel, with matching preview highlighting, so the mode no longer has to be set through the property editor.

Pull request #29650 and Pull request #32387


Click on the image if the animation does not start.
Pad and Pocket interactive draggers can reverse the direction by clicking on any length dragger. Also, it is now allowed to drag into negative lengths directly instead of only through the task panel.

Pull request #31839


Click on the image if the animation does not start.
The Hole tool now supports the same Start Type controls (Profile plane, Offset, Reference), letting a hole begin at a distance or reference away from its profile (circular edge, point or sketch). The task panel was aligned with Pad and Pocket for consistency, and an offset dragger with click-to-reverse direction was added.

Pull request #31852

The Thickness tool's Recto Verso mode is now implemented, applying half the entered thickness to each side of the selected faces and fusing the results, instead of silently falling back to Skin mode. The non-functional Pipe mode has been hidden from the mode selector.

Pull request #32333


Click on the image if the animation does not start.
Revolution and Groove now offer an optional Project axis checkbox for planar profiles, projecting the selected axis onto the profile plane instead of requiring the axis to already lie in that plane. This makes it possible to revolve around an axis from elsewhere in the model (e.g. a reference edge or another feature's axis) without first constructing a coplanar helper line.

Pull request #32747


Click on the image if the animation does not start.
PartDesign Boolean "tool bodies" are no longer required to share the active Body's local origin: tool body and Part container placements are now correctly respected during the boolean operation instead of needing to be reset to the origin beforehand.

Pull request #30575

Further Part Design improvements

  • Interactive draggers now support configurable coarse snapping, allowing larger steps by default with a modifier key (e.g. Shift) for fine movement; the snap step sizes and modifier key are configurable in the preferences. Pull request #28384
  • Interactive draggers were added to the Sphere, Box and Cylinder (additive and subtractive) primitive tools. Pull request #23700
  • An interactive dragger was added to the Draft tool. Pull request #27111
  • Multi-selection is now supported for the Additive and Subtractive Pipe path edges list. Pull request #27962
  • Errors from Part Design dress-up features such as chamfers and fillets are now shown in the notification area and Report view instead of a popup dialog, allowing users to stay in the task panel. Pull request #28131
  • Now unhiding a Body with no visible features also unhides its tip. Pull request #24887
  • Changing a Pad to the Up To Face type no longer crashes if the feature is not inside a Body; an error is reported instead. Pull request #30022
  • Pressing Space on an element selected from the 3D view (e.g. from selecting a face) now toggles the visibility of the entire PartDesign Body instead of the last feature, making it easier to show or hide bodies in assemblies or files with multiple bodies. Selection in the Tree view still toggles the selected object. Pull request #29110 and Pull request #30231
  • Input hints were implemented for the interactive control draggers. Pull request #29631
  • SubShapeBinder now uses the BuildFace face maker to handle overlapping geometry. Pull request #29249
  • A Fuzzy Tolerance property was added to override the default fuzziness/tolerance for boolean operations determined from the size of the input shapes. Pull request #29984
  • Suppressing a feature now doesn't result in unnecessary recomputes and thus works instantly. Pull request #29219
  • Strikethrough was added to labels of suppressed features. Pull request #27808
  • Transformation tools now have better error handling for empty features. Pull request #26565
  • The Helix tool has better error handling for multiple solids cases now. Pull request #29339
  • Part Design Bodies used inside a boolean feature are now temporarily made visible when activated for editing, and hidden again when deactivated, removing the need to manually toggle result visibility or use a SubShapeBinder workaround. Pull request #30002
  • PartDesign Body and Clone Base Feature placement is now correctly preserved when the Body is inside a Part container that is not at the origin, and when a clone's Base Feature is changed, fixing incorrect displayed geometry and placement in these cases. As a side effect, positioning the object to be cloned at a specific location before cloning can now be used to control the shape's placement relative to the resulting Clone Body's origin. Pull request #31235
  • Creating a PartDesign Body with a Base Feature now preserves the source object's appearance, including per-face colors. Pull request #31767
  • Updating a Base Feature now automatically triggers recompute. Pull request #31406
  • Creating a PartDesign Body with a Base Feature no longer requires the source object to belong to the same Part container as the new Body, removing a restriction that was especially limiting for nested files and assemblies. Pull request #31763
  • Revolution and Groove now have working To first and Up to face modes, as well as a Two sided direction like Pad. Pull request #31044
  • Linked objects are now shown when opening a sketch from the Tree View. Pull request #30004
  • Revolution and Groove now support the same angular Start controls (Profile plane, Offset, Reference) introduced for Pad and Pocket, letting the revolved feature begin at an angular offset from its sketch plane, with a matching reference picker and an angular offset dragger. Clicking either visible angle arrow now also toggles Reversed, consistent with Pad and Pocket. Pull request #32121
  • SubShapeBinders are not added to single deactivated Bodies anymore. Pull request #30931
Thanks to AstoCAD, an experimental text tool was added to Sketcher, making it possible to create text geometries controlled by a special Text constraint.

Pull request #22217


Click on the image if the animation does not start.
Internal face generation now correctly handles complex overlapping geometry such as three or more intersecting circles, where previously some face regions were not generated at all.

Pull request #28648


Click on the image if the animation does not start.
Dimension and constraint tools in the Sketcher can now directly select model edges and vertices outside the sketch while editing. Clicking a valid external edge or vertex automatically creates the projected external geometry reference and uses it as the dimension or constraint operand, removing the need to manually add external construction geometry first.

Pull request #31916

A reworked polyline tool was added with support for OVPs.

Pull request #29336

Perpendicular and parallel autoconstraint hint lines were added. There is also a preference to disable them.

Pull request #30579


Click on the image if the animation does not start.
The Rotate pattern tool in Sketcher now specifies the total number of elements (including the original) instead of the number of additional copies, making full 360-degree patterns intuitive to enter, and a Symmetric option was added to distribute elements evenly on both sides of the original. The same Symmetric option was also added to the Translate pattern tool.

Pull request #30747


Click on the image if the animation does not start.
Thanks to AstoCAD, a development preview Group constraint was added to Sketcher, allowing the geometries to be grouped and moved or constrained together. By default it is hidden and can be activated by creating a parameter in BaseApp/Preferences/General: ShowDevelopmentPreviewFeatures set to true.

Pull request #22217


Click on the image if the animation does not start.
The Trim tool now can use the Sketcher axes when the Include axes (U) checkbox is enabled.

Pull request #30798

The Point-On-Object constraint now supports autoconstraints along the line. Helper lines are displayed for it.

Pull request #30332


Click on the image if the animation does not start.
Autoconstraints now work not only when creating geometries, but also when dragging and hovering over existing elements. You can manually set the delay of how long you need to hover suitable elements to avoid accidental constraints by adding and changing a user parameter DragAutoConstraintDelay in the Sketcher/General group (default 400ms).

Pull request #29771

Further Sketcher improvements

Configuration tables can now also be used vertically. Pull request #29656

Further Spreadsheet improvements

  • The color picker was redesigned and has two buttons - for custom colors and for resetting. Pull request #28698
  • Feedback for conflicting aliases was improved significantly. Pull request #27584
Annotation tools have been reworked with improved rich-text annotation editing. Pull request #24624

Click on the image if the animation does not start.
TechDraw now has a Screen Mode, enabled by default, that keeps vertices and edges at a constant on-screen size regardless of zoom level, preventing them from growing large enough to obscure nearby geometry when zoomed in. It can be toggled per page from the page's context menu, and configured via new preferences.

Pull request #32180

Further TechDraw improvements

Import and export

  • Importing STEP, IGES and glTF files now shows progress feedback during the transfer. Pull request #27849
  • XHTML/X3D export now uses more descriptive DEF attribute names. Pull request #29980
  • On Windows, DXF import now works when the file is in a folder whose path contains non-English characters. Pull request #30125