Commit Graph

16906 Commits

Author SHA1 Message Date
Gabriel Wicke
487215d2f5 [part] More robust tessellation angular deflection default
OCC currently does not reliably enforce linear deflection on curved
surfaces, especially curved lofts over nurbs splines. To avoid surprises
when tight tolerances are needed, replace the static default angular
deflection of 0.5 radians (~28 degrees), with a more sensible angular
deflection derived from the provided linear deflection tolerance.

By adding the default heuristic to TopoShape, we can keep typical
tessellate() and STL export functionality users simple, and also avoid
the need to implement similar heuristics in many places. If more
explicit control over angular deflection is needed for some use cases,
then we could still choose to expose the option to override the derived
default explicitly.

The hope is that OCC's linear deflection enforcement will be more
reliable at some point, at which point this heuristic will no longer be
needed.
2020-06-23 12:17:51 +02:00
Bernd Hahnebach
648b3bbe7e FEM: examples, some comment changes 2020-06-23 09:12:24 +02:00
Bernd Hahnebach
5948a83058 FEM: unit test, fix setting up some examples 2020-06-23 09:12:18 +02:00
Sudhanshu Dubey
c22fa6eac7 FEM: examples, use gmsh mesh object instead off pure mesh object 2020-06-23 07:19:09 +02:00
Sudhanshu Dubey
cfec12ec10 FEM: examples, ccx_cantilever_std separated into 4 examples 2020-06-23 07:18:56 +02:00
Sudhanshu Dubey
54c8dbd812 FEM: examples, boxanalysis separated into 2 examples
The static and frequency analysis were separated
2020-06-23 07:18:50 +02:00
Sudhanshu Dubey
6360ab6cea FEM: examples, manager, add missing run in run all 2020-06-23 07:18:39 +02:00
Sudhanshu Dubey
061524803b FEM: examples, flow 1D, add comment 2020-06-23 07:18:31 +02:00
Sudhanshu Dubey
79377cbc98 FEM: examples, bimetall, move comment 2020-06-23 07:18:25 +02:00
Yorik van Havre
ac6e9f4640 Arch: fixed minor bug in Offline rendering module 2020-06-22 14:12:17 +02:00
vocx-fc
8b8210f290 Arch: fix calculation of fence objects
In the past it used the `Draft.calculatePlacementsOnPath` function
but this function was moved and modified when the `PathArray`
was improved. The `calculatePlacementsOnPath` function
was moved to `draftobjects.patharray`
and renamed `placements_on_path`.

This doesn't completely fix the Fence object because some other
modifications need to be done in the calculation of the paths.
2020-06-22 11:59:58 +02:00
triplus
29f3ab6db6 Icon themes Part viewproviders 2020-06-22 11:58:06 +02:00
Bernd Hahnebach
5613793f53 FEM: elmer writer test mode, do not search for gmsh binary 2020-06-22 06:46:02 +02:00
Bernd Hahnebach
32d4014918 FEM: unit tests, use unique dir for each run 2020-06-22 06:45:55 +02:00
wmayer
6c74b78507 Part: [skip ci] add missing headers 2020-06-21 22:53:42 +02:00
sliptonic
e1bfab226e Merge pull request #3599 from GeneGH/Edits
Path Simulator - Recognition of canned cycle cancellation
2020-06-21 13:22:49 -05:00
sliptonic
274d044ad6 Merge branch 'master' into master 2020-06-21 10:38:47 -05:00
sliptonic
1357826bf8 Merge pull request #3636 from Russ4262/PathSlot_fixes
[Path] Slot operation fixes and improvements
2020-06-21 10:22:52 -05:00
donovaly
62129362bf TaskProjGroup.ui: correct a typo 2020-06-21 08:22:49 -04:00
donovaly
0e0e9dbbc4 disable keyboardTracking for the scale to avoid unnecessary recomputes 2020-06-21 08:22:49 -04:00
donovaly
e50db2ed78 [TD] add spacing to ProjGroup dialog
Add the setting to auto-distribute projections to the dialog
2020-06-21 08:22:49 -04:00
Russell Johnson
cfa6ad5de6 Path: Slot operation fixes and improvements
- Add `CutPattern` feature, defaulting to `ZigZag`.
- Change inter-pass retractions to SafeHeight for multi-pass operations.
- Fix division by zero instance for particular Perpendicular use case.
- Synchronize property values with inputs in both the Property View and Tasks Editor windows.
- Change `LayerMode` default value to `Multi-pass`.
- Improve debug messaging.
- Consolidate code and remove unused code.

Path: fix exception thrown
2020-06-20 14:27:12 -05:00
wandererfan
002e25b561 [TD]Cosmetic Edge endpoint inversion 2020-06-20 12:36:54 -04:00
wandererfan
ff66708c35 [TD]Detail default scale 2020-06-20 12:36:54 -04:00
sliptonic
9b7319107b [Path] Make jobs delete cleanly.
Deletion of tool controllers now works for toolbits as well
2020-06-19 13:17:17 -05:00
sliptonic
ffe957cef4 Merge pull request #3631 from Russ4262/task_panel_icons
[Path] Add icons to Tasks Window tabs
2020-06-19 12:32:07 -05:00
sliptonic
1e05734dff Merge pull request #3584 from gwicke/area_tweaks
Path: Area fixes and robustness tweaks
2020-06-19 12:30:32 -05:00
sliptonic
e3a67e247d Merge pull request #3629 from gwicke/line_simplification
[path] Implement Ramer-Douglas-Peucker line simplification
2020-06-19 11:12:35 -05:00
sliptonic
fd1dc30170 Merge pull request #3624 from Russ4262/SlotCutter
[Path] Add new `Slot` operation to PathWB 2D tool group
2020-06-19 11:12:01 -05:00
sliptonic
9c847fc424 Merge pull request #3600 from sliptonic/feature/customimprove
[PATH] make -custom- op compliant. Improve gcode_pre importer
2020-06-19 11:11:21 -05:00
sliptonic
7c3d0040e5 Merge pull request #3568 from Russ4262/3D_Surface_fixes_2
[Path] 3D Surface and Waterline: FinalDepth guess and `InternalFeaturesCut` fixes
2020-06-19 11:10:14 -05:00
sliptonic
7aa20e8bcc Merge pull request #3545 from Russ4262/Multi-profile
[Path] Profile - New `ExpandProfile` feature for compound profile operations
2020-06-19 11:09:04 -05:00
sliptonic
2962110516 Merge pull request #3574 from Russ4262/ToolBit_OCL_update
[Path] 3D Surface and Waterline: OCL-ToolBit compatibility fix
2020-06-19 11:08:18 -05:00
wandererfan
31f64d3a3a [TD]Fix jumping section view 2020-06-19 07:18:47 -04:00
Harald Geyer
2e3f3dd6c2 Arch: importIFC: Allow faster inserts
For huge models just parsing the IFC file in ifcopenshell takes
significant time. When importing via IFC explorer from the BIM
workbench, the file is already open.

This change allows to pass the ifcopenshell.file object instead of a
filename, making the process much more efficient.

Backwards compatible code to use this will be submitted for the BIM
workbench soon. Then we have a workflow, where we can insert items
from big IFC files in multiple rounds quickly.
2020-06-19 12:19:20 +02:00
donovaly
ca13b24673 [Spreadsheet] add visible alias check
as discussed in https://forum.freecadweb.org/viewtopic.php?p=408992#p408981
visible feedback is missing for the Alias field. This PR add it and also adapts the UI label style.
2020-06-19 12:17:04 +02:00
vocx-fc
4e106902f1 Draft: add onChanged method in the derived annotation classes
The classes `ViewProviderDimensionBase`, `ViewProviderLinearDimension`,
`ViewProviderAngularDimension`, `ViewProviderText`, and
`ViewProviderLabel` use `super()` to call the `onChanged` method
of the parent class `ViewProviderDraftAnnotation`.

In this way the `AnnotationStyle` property correctly modifies
the properties of every annotation object.
2020-06-19 12:15:25 +02:00
vocx-fc
b9d4e6884a Draft: improve setting of properties of dimensions, labels, and texts
Add view properties of dimensions, labels, and text objects
through methods, calling the parent classes, and `ViewProviderDraftAnnotation`
when needed.
2020-06-19 12:15:25 +02:00
vocx-fc
3f75dc7c61 Draft: clean up the ViewProviderDraftAnnotation class
This class is the base of the viewproviders of annotation-type
objects like dimensions (linear, radial, angular), labels,
and texts.

The basic properties of `ViewProviderDraftAnnotation`
are set up by a method `set_properties`, which can be called
in the derived classes.

In the general proxy object `DraftAnnotation` we implement
the `onDocumentRestored` method in order to add the missing
view property `AnnotationStyle` to older objects.
2020-06-19 12:15:25 +02:00
vocx-fc
270e4b100a Draft: move default annotation style properties to utils module
These style properties are used by `ViewProviderDraftAnnotation`
and by the Gui Command `Draft_AnnotationStyleEditor`.

Therefore, they are moved from `draftguitools.gui_annotationstyleeditor`
module to the `draftutils.utils` module, so that they
are in a central location where they won't cause circular
dependencies.
2020-06-19 12:15:25 +02:00
Russell Johnson
27ab0b8f32 Path: Format and add DocStrings and comments 2020-06-18 20:13:41 -05:00
Russell Johnson
40faed1b7d Path: Fix timing of updatePanelVisibility() call
Targeted function call needed to be after `updateBase()` call after the `for` loop.
2020-06-18 19:56:52 -05:00
Russell Johnson
f323e635bd Path: Add new Slot operation
New slotting operation:
- Accepts selection of up to two features.
- Selectable features include: faces, edges, and vertices.
- User may select a single face or edge, or a pair of features.
- The path may be extended at the start and end.
- The path may be reversed.
- The path may be altered to the perpendicular in some cases.
- A unique Slot icon is included.
- Includes simple collision detection with warning message.
2020-06-18 19:56:52 -05:00
Russell Johnson
33a1804050 Path: Add icons to feature tabs
Add Base Geometry, Heights, Depths, and Operation icons on the tabs in the Tasks Window editor.
2020-06-18 15:54:14 -05:00
Russell Johnson
56f6736923 Path: Add icon reference to UI panel 2020-06-18 15:54:14 -05:00
wmayer
87c0365add Cloud: [skip ci] add missing closing curly brace 2020-06-18 12:33:27 +02:00
Russell Johnson
521b0e46c0 Path: Add operation's label to task panel window title 2020-06-18 01:39:26 -05:00
Russell Johnson
b110ea2818 Path: Cleanup and simplify code 2020-06-18 01:39:26 -05:00
Russell Johnson
939ac2e115 Path: Add ExpandProfile feature
Two new properties, `ExpandProfile` (length) and `ExpandProfileStepOver` (percent) added for new feature.
New feature converts the normal single offset profile into a compound profile containing multiple increasing/decreasing offsets.
The new feature clears a each layer completely before stepping down to the next layer.
Adjust sorting procedure in PathAreaOp due to `ExpandProfile` modifications to open edges code.
2020-06-18 01:39:26 -05:00
Russell Johnson
0f393e2095 Path: Add operation's label to task panel window title 2020-06-18 01:36:54 -05:00