Commit Graph

19616 Commits

Author SHA1 Message Date
Abdullah Tahiri
2d817128d0 Sketcher: SketchObject - Trim refactor
======================================

* Refactor the code for all GeomTrimmedCurve and non-periodic BSplines in a single block, adding
support for arcs of hyperbola, parabola and B-Splines.

* Refactor the code for periodic curves (circle, ellipse) in a single block, adding support for
periodic B-Splines.

* Add support for trimming limited by external geometry

* Trim deletes a geometry if intersections are detected and nothing would be left after trimming

* Trim deletes a geometry if no intersection are detected

Bonus:
* Function addConstraint moving the constraint instead of cloning it again
* SketchObject::seekTrimPoints as a wrapper of Part2DObject::seekTrimPoints providing
a correct handling of GeoId indices.
* Helper functions addConstraint/createconstraint to create new constraints and move them
into the Constraint property
* New getGeometry with templated return type defaulting to Part::Geometry.
2021-03-21 06:56:23 +01:00
Abdullah Tahiri
2afcbff0d6 Part: Geometry - Add function to trim a B-Spline
================================================

Supports both non-periodic and periodic case
2021-03-21 06:56:23 +01:00
Abdullah Tahiri
8be50486af Sketcher: reset Marker Edit layer when exiting DrawSketchHandler 2021-03-21 06:56:23 +01:00
Abdullah Tahiri
010a2cbd41 Sketcher: ViewProvider - add marker information layer
=====================================================

New Coin Marker layer intended to temporarely highlight sections of the 3D View for information purposes.
Independent from the actual redrawing of the geometry and constraints.
2021-03-21 06:56:23 +01:00
Abdullah Tahiri
595fc118e3 Part: Part2DObject::seekTrimPoints rename parameters
====================================================

This function takes parameters named GeoId, which evoke the Sketcher GeoId and which
indeed are used by the sketcher. However, these indices are just indices of the provided
geometry list. Therefore:
1. The are never negative (no matter if a corresponding Sketcher GeoId is external or not).
2. They do not have reserved indices for axes.
3. Most importantly, not found GeoId1 and GeoId2 are coded as -1, which for the Sketcher has
a well defined meaning (axis), whereas the Sketcher uses Constraint::GeoUndef as undefined or
not present/ not found index, which currently is -2000.

For these reasons, it was judged appropriate to rename the parameters and documentation to
emphasise that this function is unrelated and dettached from any Sketcher knowledge, and that
indices are just normal indices of a vector.
2021-03-21 06:56:23 +01:00
wmayer
f4e3e8abd6 Mesh: [skip ci] refactor Mesh open/import functions 2021-03-20 21:54:30 +01:00
marioalexis
efbdc2ec9e Draft: Clear tracker attributes when finish method is executed in gui_stretch 2021-03-20 17:12:58 -03:00
marioalexis
96d1516abe Draft: Change selectUi and makeDumbTask argument named 'callback' to 'on_close_call'
Suggested by user @carlopav
2021-03-20 17:12:58 -03:00
marioalexis
122a3dad59 Draft: Set reject method for working plane task dialog 2021-03-20 17:12:58 -03:00
marioalexis
a57b323e00 Draft: Call finish method if pressed Close button in dumb taskdialog 2021-03-20 17:12:58 -03:00
wmayer
182952a881 Mesh: [skip ci] do not make lower case read lines of OBJ file as otherwise it may fail to load the MTL file 2021-03-20 19:19:30 +01:00
Abdullah Tahiri
3a656d8597 Sketcher: UI Constraint Creation - PointOnObject + Tangency on edge constraint substitution
============================================================================================

On creation of a constraint from the UI (toolbar/menu):

1. if a PointOnObject constraint preexisted the addition of an
edge-to-edge tangency, substitute it with a point-to-edge tangency.

2. if an edge-to-edge tangency preexisted, addition of a PointOnObject
results in a substitution of the edge-to-edge tangency with an edge-to-curve
tangency.

Bonus:
- Refactor of this with preexisting coincident+tangent substitution.
- Activate both substitutions in continuous constraint addition mode.
2021-03-20 18:12:54 +01:00
Abdullah Tahiri
c08a19626f Sketcher: Use old NotifyConstraintSubstitution parameter in DlgCheackableMessageBox 2021-03-20 15:59:15 +01:00
David Osterberg
d759a8e43d Sketcher: Change constraint-conversion MessageBox to DlgCheckableMessageBox 2021-03-20 15:59:15 +01:00
Claas Ahlrichs
f0f25af3f5 Update grbl_post.py 2021-03-20 10:27:46 +01:00
marioalexis
4ef6bde9a3 Draft: Make Edit closed wires consistent with open wires and tracker 2021-03-20 01:58:10 -03:00
wmayer
9c8685c20c Import: [skip ci] avoid conflicting class names in global namespace 2021-03-19 15:18:25 +01:00
Markus Lampert
67555d2cc3 Fixed coin import for py3 class initialisation 2021-03-18 18:00:55 -07:00
Markus Lampert
e510d095c4 Moved coin import under GuiUp clause 2021-03-18 11:44:57 -07:00
mlampert
cbb76ca84e Merge branch 'master' into bugfix/dogbone-on-straight-edges-and-noop-moves 2021-03-17 20:13:56 -07:00
mlampert
49c6349a5c Merge branch 'master' into bugfix/job-setup 2021-03-17 20:09:52 -07:00
Markus Lampert
1704f42fb4 Cleanup marker after deleting them 2021-03-17 20:06:01 -07:00
Markus Lampert
c343533604 Added visualisation for dogbones during editing 2021-03-17 19:46:51 -07:00
Stephen Early
75b4225d45 Fix camera position buttons in WebGL export
Fix the "View Top" and "View Front" buttons on pages generated with the
WebGL exporter to select the same views as the FreeCAD Navigation Cube.
2021-03-17 18:48:19 +00:00
wmayer
371b089ea0 OpenSCAD: fix test_import_surface by changing currently working directory 2021-03-17 12:35:15 +01:00
Bernd Hahnebach
cf241d0c93 FEM: examples, elmer eigenvalues, add calculix solver for frequencies 2021-03-17 12:25:09 +01:00
wmayer
9a105e3405 OpenSCAD: fix utility_create_scad by changing currently working directory so that test_import_surface doesn't fail any more 2021-03-17 11:59:14 +01:00
wmayer
0581409fbe OpenSCAD: [skip ci] fix incorrect filename creation in unit tests 2021-03-17 11:56:58 +01:00
UR-0
0f12d6e9ec [FEM] improve get_gmsh_version 2021-03-17 11:28:23 +01:00
Bernd Hahnebach
5bf22ad4ac FEM: examples, elmer tut1, eigenvalues, fix some problems 2021-03-17 10:45:37 +01:00
Bernd Hahnebach
71141d0964 FEM: fix unit test because of denisty writing. See 3e1b16b198. This reverts 8ec3766b00 2021-03-17 09:33:21 +01:00
Bernd Hahnebach
3e1b16b198 FEM: elmer writer, only write denisty if really needed, partitially revert 2d73444a66, unit test fix in separate commit 2021-03-17 09:26:48 +01:00
mlampert
bf3a3a871e Merge branch 'master' into bugfix/job-setup 2021-03-16 19:58:52 -07:00
mlampert
5ad9f69b71 Merge branch 'master' into bugfix/dogbone-on-straight-edges-and-noop-moves 2021-03-16 19:58:34 -07:00
wmayer
4561deb4fa Part: [skip ci] implement makeShellFromWires 2021-03-16 16:01:43 +01:00
Bernd Hahnebach
bfdeaf6af3 Update task_material_common.py 2021-03-16 11:55:19 +01:00
Bernd Hahnebach
b9f4576dba FEM: material task panel, small code improvements 2021-03-16 11:22:27 +01:00
mlampert
f42d96fb46 Merge branch 'master' into bugfix/job-setup 2021-03-15 22:42:07 -07:00
Markus Lampert
fb49fb2470 Dogbone resiliency against noop moves 2021-03-15 22:39:27 -07:00
Markus Lampert
ef6d526bc3 Dogbone resiliency against comments between moves 2021-03-15 22:39:18 -07:00
Markus Lampert
35efc4ec4d Don't insert dogbone between two straight segments 2021-03-15 22:39:09 -07:00
Markus Lampert
501524e1dc Disable stock/model linking by default 2021-03-14 19:33:45 -07:00
Markus Lampert
2f2ea4c9d4 Fixed race condition in deleting job when cancelling its task panel 2021-03-14 18:33:22 -07:00
Markus Lampert
2ffa5be3fa Fixed aligning path model along an axis. 2021-03-14 18:23:49 -07:00
marioalexis
bc60c93266 Draft: Fix regression in sync_snap_toolbar_button function 2021-03-14 17:14:58 -03:00
UR-0
381ce4a830 [FEM] get Gmsh version 2021-03-14 17:22:09 +01:00
Bernd Hahnebach
8ec3766b00 FEM: unit tests, fix denisty writing in existing unit tests 2021-03-13 22:38:56 +01:00
Bernd Hahnebach
69aacc2fc5 FEM: pep8 2021-03-13 21:47:50 +01:00
Bernd Hahnebach
a8c1624b94 FEM: elmer writer, add comment 2021-03-13 21:47:40 +01:00
UR-0
f11945d1c7 getPropertyOfGeometry() used to get BoundBox 2021-03-13 21:23:23 +01:00