Commit Graph

23505 Commits

Author SHA1 Message Date
Yorik van Havre
107ac45ddd Merge pull request #4175 from donovaly/TD-unit-dimension-fix
[TD] fix unit conversion for dimensions
2020-12-23 14:10:04 +01:00
Yorik van Havre
8db34cdd31 Merge pull request #4172 from tomate44/fcinfo
fcinfo: support backup files
2020-12-23 14:08:46 +01:00
Yorik van Havre
100e39fead Merge pull request #4176 from dbpatankar/indian_standard_profiles
[Arch] Indian standard H and U profiles added to profiles.csv
2020-12-23 14:07:05 +01:00
wmayer
7eca939b0f Py2: fix Py2 build failure 2020-12-23 14:04:14 +01:00
Aapo
e542425a28 [Part] AppPartPy.cpp Python 3.9 Unicode warning fixes. 2020-12-23 13:51:52 +01:00
Aapo
9050afbe28 CXX, Objects.hxx: Python 3.9 Unicode compilation warning fixes suggested by wmayer on the FC forum. 2020-12-23 13:51:52 +01:00
David Osterberg
69cd283663 Apply style suggestions from @abdullahtahiriyo 2020-12-23 06:23:17 +01:00
David Osterberg
e1328a5876 Sketcher: Fix issue #4513 - SketchObject::addSymmetric
This fixes issue
https://tracker.freecadweb.org/view.php?id=4513

addSymmetric will now only transfer Vertical and Horizontal constraints if the reference axis is either
 - the HAxis
 - the VAxis
 - a Vertical line
 - a Horizontal line
2020-12-23 06:23:17 +01:00
Aapo
5a25f91beb [TD] ShapeExtractor.cpp: Avoid processing infinite-sized shapes (Datum objects etc). 2020-12-22 17:46:19 +01:00
wmayer
58dccfea48 PyCXX: In Python 3.9 Unicode API are being deprecated
Taken from https://sourceforge.net/p/cxx/code/430/
2020-12-22 13:05:59 +01:00
Abdullah Tahiri
ae6dd7cb0f Sketcher: ViewProvider representation of (not)-fully constraint defining points 2020-12-22 07:10:48 +01:00
Abdullah Tahiri
515175acff Sketcher: Allow UI to toggle construction status of Vertices 2020-12-22 07:10:48 +01:00
Abdullah Tahiri
e9e6be66c3 Sketcher: Support for defining point 2020-12-22 07:10:48 +01:00
wmayer
eee49a8f1f Sketcher: support vertexes in sketch used e.g. for hole features 2020-12-22 07:10:48 +01:00
Abdullah Tahiri
33b47ecdd0 Sketcher: Implement Python function getConstruction(geoId) to retrieve geometry construction status 2020-12-22 07:10:48 +01:00
sliptonic
08e7931bb7 Merge pull request #4159 from Russ4262/fix_slot_op
Path: Fixes to Slot op
2020-12-21 16:31:41 -06:00
David Osterberg
fe4c00e920 Sketcher: Fix several issues in SketchObject::trim
Issues addressed:
- exception when trimming a loose end of a Arc of circle
- conflicting constraints when trimming
- loss of tangency when trimming arcs tangent to lines or other curves
- incorrect trimming when the intersecing geometry has a PointOnObject constraint to the arc, but also another intersection og geometry.

Fixes:
https://tracker.freecadweb.org/view.php?id=4066
https://tracker.freecadweb.org/view.php?id=3910

Also see forum discussion
https://forum.freecadweb.org/viewtopic.php?f=10&t=53299
2020-12-21 20:03:02 +01:00
luz paz
abd502ac53 Fix typo found via Crowdin [skip ci]
https://crowdin.com/translate/freecad/548/en-eu?filter=basic&value=3#6585264
2020-12-21 13:18:13 +01:00
David Osterberg
854191eb02 Improve comment and remove uncessary return statement 2020-12-21 08:37:37 +01:00
David Österberg
ca1ebf2321 Update src/Mod/Sketcher/App/SketchObject.cpp
Co-authored-by: Chris Hennes <chennes@pioneerlibrarysystem.org>
2020-12-21 08:37:37 +01:00
David Osterberg
06c31d2478 Delete Equal constraints on LineSegments in SketchObject::trim
This closes:
https://tracker.freecadweb.org/view.php?id=4510
2020-12-21 08:37:37 +01:00
Abdullah Tahiri
67be1fc3e0 Sketcher: New Blocked constraint solver implementation
======================================================

With the new solver ability to identify groups of dependent parameters, even with SparseQR, it is now possible to properly implement Blocked constraint (blocked geometry state/mode).

This comes at the cost of two consecutive diagnosis (4 QR decompositions, running in parallel by pairs, so the double of time than when not using any blocked constraint).

A first diagnosis identifies the groups of dependent solver parameters.

If any of these groups comprises a parameter affected by a blocked constraint, the parameter is fixed. As only one parameter from each group is fixed, there are no (partly) redundant parameters involved.

Then the new adapted system is solved.
2020-12-21 05:57:42 +01:00
Abdullah Tahiri
dc4c464115 Sketcher: GeometryFacade - convenience method to check if a geometry is blocked 2020-12-21 05:57:42 +01:00
Abdullah Tahiri
13d8a16047 GCS: enable to invalidate diagnosis result 2020-12-21 05:57:42 +01:00
Digvijay Patankar
21adfb71f1 Indian standard H and U profiles added to profiles.csv 2020-12-21 07:13:33 +05:30
donovaly
9213dace6b [TD] fix unit conversion for dimensions
as reported here: https://forum.freecadweb.org/viewtopic.php?f=35&t=53473
my commit 957ce2f38787 introduced a regression because now units are no longer converted when the unit is displayed.

This PR fixes this.
2020-12-21 01:27:41 +01:00
Abdullah Tahiri
170eb8c4fd Sketcher: Fix Array/copy/move
==============================

Do not copy/array internal alignment geometry if the geometry it defines is not part of the operation. Silently ignore it.

If the reference for the operation is one such geometry (or it is the only one), then abort the operation.
2020-12-20 19:27:29 +01:00
Abdullah Tahiri
e9cd316c60 Sketch: fix correct index in parameter dependency map for poles and knots 2020-12-20 19:27:29 +01:00
Abdullah Tahiri
2bf7bdf61d Sketcher: fix knots PointPos coded as mid instead of start 2020-12-20 19:27:29 +01:00
Abdullah Tahiri
63a0426952 Sketcher: fix crash on mirroring geometry defined by internal alignment geometry
================================================================================

Internal Alignment constraint mirroring was never implemented. With the enhancements
brought with implementation of geometry extensions in the sketcher, this lack of
implementation became a crash, as geometry was marked as being internal alignment, while
no associated internal alignment constraint was created.

Restrictions:
- Internal alignment geometry is only to be mirrored if the geometry it defines is also
being mirrored. Internal alignment geometry is otherwise skipped. This is because it
does not make sense to have a pole without a b-spline, or a major axis of a ellipse without
an ellipse.

fixes #4514
2020-12-20 19:27:29 +01:00
sliptonic
420df63743 Merge pull request #4150 from sliptonic/posttodxf
[PATH] Post-process a job to a dxf file with layers
2020-12-20 09:27:45 -06:00
Chris Hennes
ac05ce6245 Eliminate Windows debug-mode warning 2020-12-20 15:46:28 +01:00
tomate44
05dfa5ccc0 fcinfo: support FCBak backup files 2020-12-20 09:59:43 +01:00
tomate44
d320c7bb8d fcinfo: support backup files 2020-12-20 09:25:36 +01:00
sliptonic
90908f975c Merge pull request #4163 from Russ4262/patch-1
Path: Fix reference to cutting edge angle in OCL_Tool() class
2020-12-19 16:38:07 -06:00
sliptonic
b940207f75 Merge branch 'master' into posttodxf 2020-12-19 15:40:16 -06:00
sliptonic
fad099a755 Merge pull request #4144 from mlampert/feature/suppress-warnings-preferences
Path: Feature/suppress warnings preferences
2020-12-19 15:39:30 -06:00
luz paz
590cbd85e3 Fix typos [skip ci]
Found via `codespell v2.1.dev0`  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,apoints,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,click,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millim,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLogpios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-12-19 16:35:16 +01:00
wmayer
51245f3851 Part: [skip ci] add TopoShape::isInfinite 2020-12-19 16:07:00 +01:00
Abdullah Tahiri
116b0bae55 Sketcher: Remove unnecesary header 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
9245062358 GCS: clean up old interface 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
04923686eb Sketcher: Sketch.cpp clean up old interface 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
0a2d3ddd1a Sketcher: Bring new colors to preferences 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
10352931b5 Sketcher: ViewProviderSketch - Show constrained elements in new color
=====================================================================

Provide different colors for full constrained edge, construction edge, internal alignment element and construction vertex.

This should enable users to select what they want in their specific situation.
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
4328b6b3c8 Sketcher: ViewProviderSketch - fix BSpline pole dragging based on SolverGeometryExtension 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
219e984418 Sketcher: rewrite Cmd to select DoFs using SolverGeometryExtensions framework 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
6c6c286047 Sketcher: rewrite SketchObject getGeometryWithDependentParameters to use SolverGeometryExtension 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
0888c0dd64 Sketcher: Sketch.cpp - use SolverGeometryExtension as mechanism to convey dependent parameter information
=========================================================================================================

Former mechanism with hasDependentParameters is not flexible enough for the new kind of information.

This commit further enhances the calculation of dependent parameters and dependent parameter groups by
caching the parameter-geoelement (GeoId, PointPos) relationship during geometry creation.

This commit provides traditional information whether a parameter is dependent via SolverGeometryExtension. New
enhanced information about groups of dependent parameters are available via the Sketch API.
2020-12-19 11:58:54 +01:00
Abdullah Tahiri
5a20215e65 Sketcher: new SolverGeometryExtension to store solver information within the geometry 2020-12-19 11:58:54 +01:00
Abdullah Tahiri
573a850b99 Sketcher: Add ability to update a GeometryExtension of the solver 2020-12-19 11:58:54 +01:00