-
Notifications
You must be signed in to change notification settings - Fork 26
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
bfd7a45
commit 86d38cd
Showing
15,758 changed files
with
2,005,749 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
Development of FreeCAD 0.20 began following the tagging of [\| FreeCAD\'s 0.19 release version](https://github.com/FreeCAD/FreeCAD/releases/tag/0.19) on February 25, 2021. | ||
|
||
### Minimum supported library versions {#minimum_supported_library_versions} | ||
|
||
Development of 0.20 targets Ubuntu 18.04 LTS as the oldest [officially-supported](https://forum.freecadweb.org/viewtopic.php?p=483940#p483940) OS for compiling FreeCAD. Minimum supported infrastructure software versions are: | ||
|
||
- GCC 7.4 | ||
- Clang 6.0 | ||
- CMake 3.10 | ||
- Python 3.6 | ||
- Qt 5.9 | ||
- OpenCASCADE 7.3 | ||
|
||
This version of FreeCAD is compiled requiring the C++17 standard, and all C++17 features are allowed with two exceptions: | ||
|
||
- std::filesystem is not well-supported by GCC 7.4 \-- continue to use boost::filesystem instead | ||
- std::regex is much slower than boost::regex in some important cases, so we will continue to include the Boost regex library | ||
|
||
Developers are encouraged to review the [C++ Core Guidelines](https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines) for modern C++ coding advice. No strict coding convention has been selected for FreeCAD, though new C++ code often conforms to the [Qt coding conventions](https://wiki.qt.io/Coding_Conventions), and new Python typically conforms to [PEP 8](https://pep8.org/). | ||
|
||
### Features Under Development {#features_under_development} | ||
|
||
As volunteer-developed Open Source software it is impossible to guarantee that any particular feature will be implemented in a given time frame. Major features or modifications that developers are currently working on include: | ||
|
||
- Developing solutions to the [Topological naming problem](Topological_naming_problem.md) | ||
- Improving [Spreadsheet](Spreadsheet.md) usability and interoperability | ||
- Improving [OpenSCAD](http://www.openscad.org/) interoperability via the [OpenSCAD Workbench](OpenSCAD_Workbench.md): implementing missing functions and improving CSG shell generation in special cases | ||
|
||
[Category:Roadmap{{\#translation:}}](Category:Roadmap.md) [Category:Developer{{\#translation:}}](Category:Developer.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
|
||
|
||
## Introduction | ||
|
||
|
||
|
||
The [3D view](3D_view.md) of FreeCAD is an instance of a Coin3D [scenegraph](Scenegraph.md) that forms the most important window in the [interface](interface.md). Coin3D is a library that implements the OpenInventor 2.1 scene description standard. | ||
|
||
Certain properties of the view, like background color, [mouse navigation](Mouse_navigation.md) style, and zooming steps, can be configured in the [preferences editor](Preferences_Editor.md). | ||
|
||
<img alt="" src=images/FreeCAD_3D_view.png style="width:600px;"> | ||
|
||
|
||
*The [Draft Workbench](3D_view]]_is_a_component_of_the_FreeCAD_[[interface]]. By default it shows a small widget with coordinate axes, and the navigation cube also with coordinate axes; the grid can be displayed and configured by loading the [[Draft Workbench.md).* | ||
|
||
## Actions | ||
|
||
|
||
**Note:** | ||
|
||
link actions <small>(v0.19)</small> . | ||
|
||
Since the [tree view](tree_view.md) lists most objects that are visible in the 3D view, many of the actions are the same to those that can be executed from the [tree view](tree_view.md). | ||
|
||
When the default [Start Workbench](Start_Workbench.md) is active, right clicking on the 3D view shows only one command: | ||
|
||
- {{MenuCommand|[Navigation styles](Mouse_navigation.md)}}: different button styles to use with a 3-button mouse or laptop trackpad. | ||
|
||
However, once a [Workbench](Workbenches.md) is loaded, there are additional commands: | ||
|
||
- {{MenuCommand|Link actions}}: [Make Link](Std_LinkMake.md). | ||
|
||
- | ||
{{MenuCommand|Make Link group}} | ||
: [Simple group](Std_LinkMakeGroup.md), [Group with links](Std_LinkMakeGroup.md), [Group with transform links](Std_LinkMakeGroup.md). | ||
|
||
- {{MenuCommand|[Fit all](Std_ViewFitAll.md)}}: pans and zooms the view to fit all objects in the document on the screen. | ||
|
||
- {{MenuCommand|[Fit selection](Std_ViewFitSelection.md)}}: pans and zooms the view to tightly fit the currently selected object on the screen. | ||
|
||
- {{MenuCommand|[Draw style](Std_DrawStyle.md)}}: as is, flat lines, shaded, wireframe, points, hidden line, no shading. | ||
|
||
- {{MenuCommand|[Standard views](Std_View_Menu.md)}}: [isometric](Std_ViewIsometric.md), [front](Std_ViewFront.md), [top](Std_ViewTop.md), [right](Std_ViewRight.md), [rear](Std_ViewRear.md), [bottom](Std_ViewBottom.md), [left](Std_ViewLeft.md), [rotate left](Std_ViewRotateLeft.md), [rotate right](Std_ViewRotateRight.md). | ||
|
||
- {{MenuCommand|Measure}}: [toggle measurement](View_Measure_Toggle_All.md), [clear measurement](View_Measure_Clear_All.md). | ||
|
||
- {{MenuCommand|Document window}}: [docked](Std_ViewDockUndockFullscreen.md), [undocked](Std_ViewDockUndockFullscreen.md), and [fullscreen](Std_ViewDockUndockFullscreen.md). | ||
|
||
Additionally, depending on the workbench and object that is active, other contextual commands may become available. | ||
|
||
For example, with the [Part Workbench](Part_Workbench.md) and one object selected: | ||
|
||
- {{MenuCommand|[Appearance](Std_SetAppearance.md)}}: launches the dialog to change color and sizes of lines and vertices, and color of faces. | ||
|
||
- {{MenuCommand|[Toggle visibility](Std_ToggleVisibility.md)}}: makes the object visible or invisible in the 3D view. | ||
|
||
- {{MenuCommand|[Toggle selectability](Std_ToggleSelectability.md)}}: makes the object no longer selectable in the 3D view; use again this command to cancel its effect. It sets the object\'s `Selectable` attribute to `True` or `False`. Change the property by toggling **Selectable** in the [property editor](property_editor.md). | ||
|
||
- {{MenuCommand|[Go to selection](Std_TreeSelection.md)}}: expand the [tree view](tree_view.md) to show the selected object in the hierarchy. | ||
|
||
- {{MenuCommand|[Random color](Std_RandomColor.md)}}: assigns a random color to the object. It sets the object\'s `ShapeColor` attribute to a tuple `(r,g,b)` with tree random floats between 0 and 1. Change the property by modifying **Shape Color** in the [property editor](property_editor.md). | ||
|
||
- {{MenuCommand|[Delete](Std_Delete.md)}}: removes the object from the document, and from the 3D view, by calling the document\'s `removeObject()` method. | ||
|
||
Another example, with the [Draft Workbench](Draft_Workbench.md) and one object selected, it shows the same commands as with the [Part Workbench](Part_Workbench.md), but also: | ||
|
||
- {{MenuCommand|Draft}}: object creation and modification commands from the [Draft Workbench](Draft_Workbench.md). | ||
|
||
- {{MenuCommand|Utilities}}: additional contextual commands provided by the [Draft Workbench](Draft_Workbench.md). | ||
|
||
## Details | ||
|
||
FreeCAD uses the Quarter library to use Coin3D in a Qt environment. | ||
|
||
It is possible to interact directly with the 3D view scenegraph from the [Python console](Python_console.md) by using the Python library Pivy. | ||
|
||
For more information see the power user documentation: | ||
|
||
- [Scenegraph](Scenegraph.md), description of Coin3D. | ||
- [Pivy](Pivy.md), usage of Coin3D from the Python console. | ||
- [Third party libraries](Third_Party_Libraries.md) used by FreeCAD. | ||
- [Coin3D](https://grey.colorado.edu/coin3d/index.html) C++ documentation. | ||
|
||
{{Interface navi}} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
FreeCAD supports some specialized input devices, such as 3D mice. These enables the user to rotate, translate and zoom objects in three dimensions. | ||
|
||
## Supported hardware {#supported_hardware} | ||
|
||
- 3Dconnexion [SpaceNavigator](http://www.3dconnexion.com/products/spacenavigator.html) | ||
- Installation instructions: [3D connexion input devices](3Dconnexion_input_devices.md) | ||
|
||
[category:Documentation{{\#translation:}}](category:Documentation.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
|
||
|
||
## Introduction | ||
|
||
|
||
|
||
The [3D view](3D_view.md) of FreeCAD is an instance of a Coin3D [scenegraph](Scenegraph.md) that forms the most important window in the [interface](interface.md). Coin3D is a library that implements the OpenInventor 2.1 scene description standard. | ||
|
||
Certain properties of the view, like background color, [mouse navigation](Mouse_navigation.md) style, and zooming steps, can be configured in the [preferences editor](Preferences_Editor.md). | ||
|
||
<img alt="" src=images/FreeCAD_3D_view.png style="width:600px;"> | ||
|
||
|
||
*The [Draft Workbench](3D_view]]_is_a_component_of_the_FreeCAD_[[interface]]. By default it shows a small widget with coordinate axes, and the navigation cube also with coordinate axes; the grid can be displayed and configured by loading the [[Draft Workbench.md).* | ||
|
||
## Actions | ||
|
||
|
||
**Note:** | ||
|
||
link actions <small>(v0.19)</small> . | ||
|
||
Since the [tree view](tree_view.md) lists most objects that are visible in the 3D view, many of the actions are the same to those that can be executed from the [tree view](tree_view.md). | ||
|
||
When the default [Start Workbench](Start_Workbench.md) is active, right clicking on the 3D view shows only one command: | ||
|
||
- {{MenuCommand|[Navigation styles](Mouse_navigation.md)}}: different button styles to use with a 3-button mouse or laptop trackpad. | ||
|
||
However, once a [Workbench](Workbenches.md) is loaded, there are additional commands: | ||
|
||
- {{MenuCommand|Link actions}}: [Make Link](Std_LinkMake.md). | ||
|
||
- | ||
{{MenuCommand|Make Link group}} | ||
: [Simple group](Std_LinkMakeGroup.md), [Group with links](Std_LinkMakeGroup.md), [Group with transform links](Std_LinkMakeGroup.md). | ||
|
||
- {{MenuCommand|[Fit all](Std_ViewFitAll.md)}}: pans and zooms the view to fit all objects in the document on the screen. | ||
|
||
- {{MenuCommand|[Fit selection](Std_ViewFitSelection.md)}}: pans and zooms the view to tightly fit the currently selected object on the screen. | ||
|
||
- {{MenuCommand|[Draw style](Std_DrawStyle.md)}}: as is, flat lines, shaded, wireframe, points, hidden line, no shading. | ||
|
||
- {{MenuCommand|[Standard views](Std_View_Menu.md)}}: [isometric](Std_ViewIsometric.md), [front](Std_ViewFront.md), [top](Std_ViewTop.md), [right](Std_ViewRight.md), [rear](Std_ViewRear.md), [bottom](Std_ViewBottom.md), [left](Std_ViewLeft.md), [rotate left](Std_ViewRotateLeft.md), [rotate right](Std_ViewRotateRight.md). | ||
|
||
- {{MenuCommand|Measure}}: [toggle measurement](View_Measure_Toggle_All.md), [clear measurement](View_Measure_Clear_All.md). | ||
|
||
- {{MenuCommand|Document window}}: [docked](Std_ViewDockUndockFullscreen.md), [undocked](Std_ViewDockUndockFullscreen.md), and [fullscreen](Std_ViewDockUndockFullscreen.md). | ||
|
||
Additionally, depending on the workbench and object that is active, other contextual commands may become available. | ||
|
||
For example, with the [Part Workbench](Part_Workbench.md) and one object selected: | ||
|
||
- {{MenuCommand|[Appearance](Std_SetAppearance.md)}}: launches the dialog to change color and sizes of lines and vertices, and color of faces. | ||
|
||
- {{MenuCommand|[Toggle visibility](Std_ToggleVisibility.md)}}: makes the object visible or invisible in the 3D view. | ||
|
||
- {{MenuCommand|[Toggle selectability](Std_ToggleSelectability.md)}}: makes the object no longer selectable in the 3D view; use again this command to cancel its effect. It sets the object\'s `Selectable` attribute to `True` or `False`. Change the property by toggling **Selectable** in the [property editor](property_editor.md). | ||
|
||
- {{MenuCommand|[Go to selection](Std_TreeSelection.md)}}: expand the [tree view](tree_view.md) to show the selected object in the hierarchy. | ||
|
||
- {{MenuCommand|[Random color](Std_RandomColor.md)}}: assigns a random color to the object. It sets the object\'s `ShapeColor` attribute to a tuple `(r,g,b)` with tree random floats between 0 and 1. Change the property by modifying **Shape Color** in the [property editor](property_editor.md). | ||
|
||
- {{MenuCommand|[Delete](Std_Delete.md)}}: removes the object from the document, and from the 3D view, by calling the document\'s `removeObject()` method. | ||
|
||
Another example, with the [Draft Workbench](Draft_Workbench.md) and one object selected, it shows the same commands as with the [Part Workbench](Part_Workbench.md), but also: | ||
|
||
- {{MenuCommand|Draft}}: object creation and modification commands from the [Draft Workbench](Draft_Workbench.md). | ||
|
||
- {{MenuCommand|Utilities}}: additional contextual commands provided by the [Draft Workbench](Draft_Workbench.md). | ||
|
||
## Details | ||
|
||
FreeCAD uses the Quarter library to use Coin3D in a Qt environment. | ||
|
||
It is possible to interact directly with the 3D view scenegraph from the [Python console](Python_console.md) by using the Python library Pivy. | ||
|
||
For more information see the power user documentation: | ||
|
||
- [Scenegraph](Scenegraph.md), description of Coin3D. | ||
- [Pivy](Pivy.md), usage of Coin3D from the Python console. | ||
- [Third party libraries](Third_Party_Libraries.md) used by FreeCAD. | ||
- [Coin3D](https://grey.colorado.edu/coin3d/index.html) C++ documentation. | ||
|
||
{{Interface navi}} |
Oops, something went wrong.