Commit Graph

7277 Commits

Author SHA1 Message Date
lorenz
67c1bcac7c Merge branch 'master' into path_helix 2017-01-15 13:52:27 +01:00
Abdullah Tahiri
4da262dd33 Sketcher: BSpline solver improvement
===================================

In the unusual event that endpoint knot multiplicity is edited, avoid trying to force the bspline end-point
to match the corresponding control point (aka pole), as this leads to unsolvable sketches.
2017-01-15 01:49:45 +01:00
Abdullah Tahiri
6b5622a661 Sketcher: BSpline - Equality not supported user indication 2017-01-15 01:40:04 +01:00
Abdullah Tahiri
2eec558ce7 Sketcher: BSpline - UI Perpendicularity 2017-01-15 01:27:46 +01:00
Abdullah Tahiri
340d33f3a5 Sketcher: BSpline - Informing the user of non-supported tangencies 2017-01-15 00:57:05 +01:00
Abdullah Tahiri
e53dc90c9a Sketcher: BSpline simplified endpoint tangency/perpendicularity solver implementation
=====================================================================================

Support for tangency/perpendicularity using angle via point for BSpline with appropriate
endpoint multiplicity so that the endpoints goes thru the first and last poles (control points).

Warning: Not applicable to periodic BSplines.
Warning: Not applicable to any non-periodic BSpline with inappropriate endpoint conditions.
2017-01-15 00:42:25 +01:00
Abdullah Tahiri
9bf1e8f4f4 Sketcher: BSpline box selection 2017-01-14 19:33:40 +01:00
looooo
42331bde1b python3: neutral fixes 2017-01-14 19:22:15 +01:00
Lorenz Hüdepohl
f2faa50802 PathHelix: Switch to QToolBox based task panel
This makes it more consistent with the other Path operations
2017-01-14 17:04:36 +01:00
WandererFan
d8afbe563e Fix 2843 DrawProjGroup Restore 2017-01-14 16:56:30 +01:00
WandererFan
2fef05c718 Revise edge & vector compare function for clarity 2017-01-14 16:56:30 +01:00
wwmayer
df82247b0e Merge pull request #441 from agryson/draft-stretch-align
Minor grid alignments
2017-01-14 16:08:18 +01:00
wwmayer
a631730caf Merge pull request #439 from agryson/spreadsheet-artwork-align
Spreadsheet artwork align
2017-01-14 16:06:34 +01:00
Bernd Hahnebach
e2b5623170 FEM: code formating, flake8 2017-01-14 10:44:20 +01:00
Bernd Hahnebach
73b9c7300c FEM: unit tests, update FreeCAD files of FEM unit tests 2017-01-14 10:44:20 +01:00
Bernd Hahnebach
4360c0b8b3 FEM: unit tests, fix some issues and save FreeCAD files of the unit tests 2017-01-14 10:44:20 +01:00
Bernd Hahnebach
eb9f1d0409 FEM: pre checks, do not allow youngs modulus and thermal conductivity (later for thermomech analysis) to be 0.0 2017-01-14 10:44:20 +01:00
Alexander Gryson
bfc3c3f509 Minor grid alignments 2017-01-14 10:16:28 +01:00
Abdullah Tahiri
512fd62c41 Sketcher: Enable BSpline edge and enpoints movement 2017-01-14 01:23:04 +01:00
Alexander Gryson
9914e41f11 Update Metadata 2017-01-13 23:46:20 +01:00
Alexander Gryson
1c7e0984c8 Align Spreadsheet icons to Tango 2017-01-13 23:46:19 +01:00
Abdullah Tahiri
1b59e74568 Sketcher: Solver Simplification for basic case
==============================================

This commit is intended to allow to early merging to master of BSpline support. Parts of it will be reverted when a more advanced solver implementation is available.

The intention is to have an advances solver implementation in the future.

This commit cripples part of the potential functionality, but allows a very simplistic solver structure (no de Boor, no recursion).

In particular:
1. Knots are not solver parameters and the solver acts as if such a parameter did not exist.
2. For non-periodic case, the start point and the endpoint coincide with the first pole and the last pole respectively. This is only valid under certain first and last
knot multiplicity. If the user manually changes this multiplicities, the sketch will remain unsolved. For the periodic case, end and start points are not even solver
parameters as an end and start point is an ilusion and we really do not care where that happens. It is not reasonable to ask the user to constrain where this point should
be.
2017-01-13 23:42:57 +01:00
Abdullah Tahiri
0ef082bcd4 Sketcher: Construction of periodic BSplines 2017-01-13 22:25:10 +01:00
Abdullah Tahiri
348d4cf320 Sketcher: Periodic bspline icons 2017-01-13 22:24:55 +01:00
sliptonic
b0abdd1c1d PATH: remove old holding tag code and GUI elements 2017-01-13 09:20:04 -06:00
Yorik van Havre
c704c28920 Draft: Added stretch tool - fixes #1163 2017-01-13 11:25:25 -02:00
Alexander Gryson
5929ad3957 correct clipping issue 2017-01-13 11:23:11 -02:00
Alexander Gryson
42a2faf05a Update Helix Metadata 2017-01-13 11:23:11 -02:00
Alexander Gryson
62b08cd4a4 Update helix icon 2017-01-13 11:23:11 -02:00
Markus Lampert
e76333f300 Fixed segmentation of xy-plane arcs, made # segments factor a property. 2017-01-12 17:42:29 -08:00
Abdullah Tahiri
671e588739 Sketcher: BSpline autoconstraints on creation 2017-01-12 23:45:03 +01:00
Abdullah Tahiri
b255ada03a Sketcher: Sketcher Elements support for BSpline 2017-01-12 22:55:31 +01:00
Abdullah Tahiri
1076b70056 Part: BSpline creation method corrected as per Werner's indication
==================================================================

http://forum.freecadweb.org/viewtopic.php?f=10&t=19700
2017-01-12 22:44:07 +01:00
wwmayer
0c34f1b749 Merge pull request #433 from agryson/arch-artwork-alignment
Arch artwork alignment
2017-01-12 22:01:59 +01:00
Abdullah Tahiri
c9de3687af Sketcher: BSpline restore internal geometry 2017-01-11 23:51:06 +01:00
Abdullah Tahiri
2a4353a940 Sketcher: BSpline delete internal geo on deletion 2017-01-11 23:44:45 +01:00
Abdullah Tahiri
d66242bd08 Sketcher: Contraint class extension
===================================

An additional index for internal geometry elements is introduced, to be stored only Internal Aligment constraint and backwards compatible.
2017-01-11 23:00:43 +01:00
Alexander Gryson
032ead09b5 fix broken shadow 2017-01-11 21:23:15 +01:00
Alexander Gryson
8e87cd6611 Revert modifications to 3rd party icon
3rd party icons will be reviewed after alignment of all other icons
See [this forum discussion for more on this issue](http://forum.freecadweb.org/viewtopic.php?f=23&t=19556&p=151812#p151812)
I'm mainting this as it's own commit for easy reversion in the future should we decide to update 3rd party icons
2017-01-11 21:23:15 +01:00
Alexander Gryson
1f43ad7943 Minor updates and polish
* New icon had been added since I started work, so aligned that
* Removed a copy/paste artefact on a clone icon
2017-01-11 21:23:15 +01:00
Alexander Gryson
4bf8b512c8 Update Arch Workbench icon metadata 2017-01-11 21:23:14 +01:00
Alexander Gryson
39e48dd10f Align Arch Workench icons to Tango 2017-01-11 21:23:14 +01:00
Markus Lampert
9d544209a8 Added support for rounded tags. 2017-01-11 12:05:23 -08:00
Markus Lampert
126fe81689 Translation of strings. 2017-01-11 12:05:23 -08:00
Markus Lampert
3cbf1c32b4 Reduced debug logging. 2017-01-11 12:05:23 -08:00
Markus Lampert
891add9bd3 Added preferences for holding tags. 2017-01-11 12:05:23 -08:00
Markus Lampert
70c3fc8686 Automatically disable tags if they overlap with previous tag and/or do not fall on the base wire. 2017-01-11 12:05:23 -08:00
Markus Lampert
2403890965 Minimum # tags is 2, makes sense and avoids the endless loop. 2017-01-11 12:05:23 -08:00
Markus Lampert
190aa1fc74 Retrieve colors from settings. 2017-01-11 12:05:22 -08:00
Markus Lampert
45893d7783 Fixed adding new tags - sorting required. 2017-01-11 12:05:22 -08:00
Markus Lampert
706875b3cc Fixed v-scrollbar issue and added edit button. 2017-01-11 12:05:22 -08:00
Markus Lampert
f89eea7b59 Using InputField for width and height and use proper properties. 2017-01-11 12:05:22 -08:00
Markus Lampert
6792e2c4b9 Minor name cleanups. 2017-01-11 12:05:22 -08:00
Markus Lampert
0781cf75d6 Added support for manual point input. 2017-01-11 12:05:22 -08:00
Markus Lampert
8f7102e2bf Adding and modifying tags with mouse works - event and selection handlers are properly registered and removed again. 2017-01-11 12:05:22 -08:00
Markus Lampert
e6c968cb79 Basic tag visualization and selection. 2017-01-11 12:05:22 -08:00
wmayer
c2f2a25054 issue #0002739: Mac users must Command click instead of Ctrl click multiple elements. 2017-01-11 20:58:49 +01:00
wmayer
a9530bc678 issue #0002739: Mac users must Command click instead of Ctrl click multiple elements. 2017-01-11 13:25:46 +01:00
sliptonic
678f36c989 PATH: some simple core tests 2017-01-10 22:00:56 -06:00
Abdullah Tahiri
1155022a82 Sketcher: BSpline Weights internal geometry support 2017-01-11 01:17:07 +01:00
Abdullah Tahiri
6bd801d363 Sketcher: expose Bspline pole internal geometry 2017-01-11 01:16:33 +01:00
Abdullah Tahiri
d949f52878 Sketcher: BSpline solver Internal Geometry for poles 2017-01-10 23:34:49 +01:00
Abdullah Tahiri
07eebb1c52 Sketcher: Constraint Third Redefinition for internal geometry
=============================================================

Internal alignment of BSplines requires an extra index for unbounded same-type internal geometry (poles, probably also in the future knots).

Value shall not be used, as it interferes with the update mechanism for constraint values.

An alternative solution would be to add another int to all the constraints just for this case.

As internal geometry does not use Third, it seems reasonable to reuse it for this indexing purpose.
2017-01-10 23:26:28 +01:00
Abdullah Tahiri
609c80b71a Part: Fixes triggered by Werner's comments on my branch 2017-01-10 20:05:18 +01:00
Abdullah Tahiri
e7dacb9178 Part: Bezier serialization support extension to periodic
=======================================================

Extension for periodic + suggestions by Werner.
2017-01-10 14:44:43 +01:00
wmayer
0e2cf2ebca fixes #0002837: Misspell in PY module 2017-01-09 21:21:36 +01:00
Sebastian Stetter
b7c012775c PATH: changed default opened tabs in panel ui files back to base gemoetry 2017-01-09 13:24:51 +01:00
Sebastian Stetter
21b116649e PATH: fix for 2805
changed TaskPanels to use unit conversions via FreeCAD.Units
commented out references to segLen since it si used nowhere
2017-01-09 13:24:23 +01:00
wmayer
0e65256f3f issue #0000466: Sketcher: allow moving the dimension datums in two directions 2017-01-09 13:17:27 +01:00
wmayer
f5367d7afc fix warning and improve code formatting 2017-01-09 10:16:11 +01:00
wwmayer
61c3f2c8ad Merge pull request #428 from vejmarie/step
Step import code update
2017-01-09 10:11:06 +01:00
wwmayer
5d817c7a28 Merge pull request #426 from brawaga/patch-2
Update Part_ru.ts
2017-01-09 10:08:59 +01:00
wwmayer
d88fd4cfb1 Merge pull request #424 from brawaga/patch-1
Update Fem_ru.ts
2017-01-09 10:08:42 +01:00
wmayer
186b9e2edf make code a bit more readable 2017-01-09 10:07:59 +01:00
wwmayer
6668a86c90 Merge pull request #420 from ChrisLuck/stepdown_2
support stepdown greater than total depth, 2nd try
2017-01-09 09:28:30 +01:00
qingfengxia
61fb3d429a Fem: add _CommandMaterialFluid.py and FemMaterial.makeFluidMaterial method 2017-01-08 21:46:27 +00:00
Jean-Marie Verdun
358238f745 Merge remote-tracking branch 'origin/master' into step 2017-01-08 21:55:46 +01:00
Jean-Marie Verdun
7ccd9a95d6 Create Compound per STEP file definition within FreeCAD interface
STEP hierarchy is in that case respected
2017-01-08 21:50:25 +01:00
wwmayer
5a370d6a78 Merge pull request #421 from dev-at-stellardeath-org/master
Fix non-GUI usage in BOPTools
2017-01-08 18:48:14 +01:00
wwmayer
2a977c335a Merge pull request #419 from f3nix/qt-keywords-1
Cosmetic change. Replace Qt keyword emit with Q_EMIT.
2017-01-08 18:43:48 +01:00
wwmayer
0c5ac71250 Merge pull request #418 from triplus/master
Update BOA common and section documentation
2017-01-08 18:42:02 +01:00
wmayer
81e9228cf0 issue #0000753: angle constraint auto places the constraints visuals including its value in the wrong place 2017-01-08 16:47:06 +01:00
Abdullah Tahiri
61b685fd53 Part: BSpline serialization
===========================

It stores a rational BSpline even if non-rational.

It should be extended to store in addition whether it is periodic or not, i.e. to support periodic BSplines.
2017-01-08 00:42:30 +01:00
Abdullah Tahiri
c20b17f721 Sketxher: Basic creation method
===============================

For non-periodic case.

No autoconstraints or internal geometry at this point.
2017-01-07 20:21:19 +01:00
Bernd Hahnebach
40aafe7452 FEM: remove precheck for load since an static analyis could be valid without loads 2017-01-07 15:16:44 -02:00
Bernd Hahnebach
aa83257b73 FEM: code formating, remove trailing whitspaces 2017-01-07 15:16:44 -02:00
makkemal
f9f682640a FEM: VTK tools, add stress and strain vectors (x,y,z) 2017-01-07 15:16:44 -02:00
makkemal
57a94af0e1 FEM: result task panel, add stress and strain vectors to possible user defined results 2017-01-07 15:16:44 -02:00
makkemal
3003b7d9c4 FEM: frd reader, add reading strain data and calculate stress and strain vector 2017-01-07 15:16:44 -02:00
makkemal
dc3b45458c FEM: result object, add properties for stress and strain vectors 2017-01-07 15:16:44 -02:00
makkemal
01b3db5de6 FEM: frd reader, add B32 beam elements 2017-01-07 15:16:44 -02:00
Bernd Hahnebach
2537cf512c FEM: mesh group, add a needed def to mesh tools and use the new mesh group object in gmsh mesh class 2017-01-07 15:16:44 -02:00
Bernd Hahnebach
1973efac20 FEM: mesh group, add task panel 2017-01-07 15:16:44 -02:00
Bernd Hahnebach
d1954aef48 FEM: mesh group, add command to FreeCAD GUI menu and tool bar 2017-01-07 15:16:44 -02:00
Bernd Hahnebach
c72cd509bc FEM: mesh group, add object 2017-01-07 15:16:44 -02:00
makkemal
edb1f0249e FEM: VTK tools, only import results into vtk if they exists 2017-01-07 15:16:44 -02:00
makkemal
3ec0a50a06 FEM: VTK tools, fix value assignment 2017-01-07 15:16:44 -02:00
makkemal
b5bfc01a3f FEM: frd reader, typo 2017-01-07 15:16:44 -02:00
makkemal
ba38e06bd2 FEM: result object, typo 2017-01-07 15:16:44 -02:00
Yorik van Havre
162c74c22e Draft: Moved dimension decimals preference setting to the dimension preferences tab - issue #2832 2017-01-07 14:20:58 -02:00
Yorik van Havre
5d2e834bc3 Draft: Fixed spline bug in DXF importer 2017-01-07 14:04:24 -02:00
brawaga
58844feaa1 Update Part_ru.ts
Added translations, corrected some existed for grammar, syntax or style.
2017-01-07 23:55:55 +08:00
ml
a0533b7c46 Changed comparison for points - fixes issue if bone is at plunge point. 2017-01-07 13:27:49 -02:00
Abdullah Tahiri
e7daf5a90e Sketcher: BSpline icons courtesy of Jim 2017-01-07 14:35:43 +01:00
brawaga
2830179054 Update Fem_ru.ts
Added some more translations, corrected some existed.
2017-01-07 15:01:59 +08:00
Abdullah Tahiri
8ea8699d14 Part: Enable BSpline creation from poles 2017-01-07 02:00:12 +01:00
Markus Lampert
9d555859ad Check for 0 pointer in initialisation for assigning default values. 2017-01-06 14:14:14 -08:00
Lorenz Hüdepohl
b6cf0e2500 Fix non-GUI usage in BOPTools
Only define the translation related functions if the GUI is up
2017-01-06 18:25:56 +01:00
wmayer
bf5dcbd062 move import statement to fix error 2017-01-06 18:04:07 +01:00
ChrisLuck
fea0e02fc1 support stepdown greater than total depth, 2nd try 2017-01-06 16:03:11 +01:00
Lorenz Hüdepohl
0de0d8f930 PathHelix: fix most of the PEP8 issues
Dealt with most issues expect for overly long lines
2017-01-06 15:50:21 +01:00
Lorenz Hüdepohl
ec5faafd86 PathHelix: typo in error path 2017-01-06 15:14:04 +01:00
Lorenz Hüdepohl
1edc151c5d PathHelix: Drop requirement of scipy.spatial
It was deemed that scipy is too heavy a requirement for FreeCAD just for
this little feature. Fortunately it was possible to extract the k-d tree
module from scipy with just minor modifications - it is quite
self-contained.

Now, only numpy is required.
2017-01-06 13:20:18 +01:00
Abdullah Tahiri
cb687b8e74 Sketcher: ViewProvider BSpline Representation 2017-01-06 00:08:30 +01:00
Mateusz Skowroński
9b07616fe6 * Cosmetic change. Replace Qt keyword emit with Q_EMIT.
* Whitespace fixes.
2017-01-05 22:57:30 +01:00
Abdullah Tahiri
6fc4ade7c6 Sketcher: Validation of BSpline 2017-01-05 22:10:31 +01:00
Abdullah Tahiri
36a5d5f9b6 Sketcher: Enable BSpline creation in SketchObjectPy 2017-01-05 21:52:35 +01:00
Abdullah Tahiri
d60613364b Sketcher: BSpline basic SketchObject support 2017-01-05 21:45:47 +01:00
triplus
8ac67eae80 Update BOA common and section documentation 2017-01-05 20:11:18 +01:00
wmayer
96dc57c068 replace Qt keyword slots with Q_SLOTS 2017-01-05 14:27:19 +01:00
wwmayer
899c5c337e Merge pull request #417 from dev-at-stellardeath-org/path_helix
Path: helix machining for circular holes
2017-01-05 14:05:28 +01:00
Abdullah Tahiri
6c456e9182 Sketcher: BSpline solver sketch basic implementation
====================================================

Creation of solver geometry definitions from Part::BSpline geometries and update of solved geometry back.
2017-01-05 12:01:11 +01:00
Abdullah Tahiri
80adf30da3 Sketcher: BSpline FreeGCS geometry definition
=============================================

multiplicities, degree and periodic are left as non-parameters of the solver, while still allowing certain manipulations to be effected from the solver
in certain situations (for example modifying the multiplicity of start/end nodes when applying G1,G2,G3 constraints between BSplines).
2017-01-05 11:58:35 +01:00
Abdullah Tahiri
b277620138 Part: GeomBSpline extension for basic BSPline Sketcher support
==============================================================

1) Basic set/get interface for poles, weights, knots and multiplicities

2) Introduction of GeomBoundedCurve class replicating OCC hierarchy. Why? To provide seamless start/end point interface for any bounded curve, i.e. Bezier, BSpline,

Note: The ArcOfConic start/end point interface relies on GeomTrimmedCurve, and introduces CCW/CW correcting code which relies on Axis. Axis are introduced in GeomConic and are
not part of GeomBounded.

Note 2: In the future, it may be thought to make GeomArcOfConic (the equivalent of GeomTrimmedCurve) deriving from GeomBoundedCurve, as to fully replicate OCC hierarchy. GeomBoundedCurve
defines the functions as virtual to allow seamless integration.
2017-01-05 11:58:33 +01:00
Yorik van Havre
b334197116 Arch: decompose multifuse objects when exporting to IFC 2017-01-04 21:08:54 -02:00
Lorenz Hüdepohl
cd3c1d574e Path: Helix taskpanel shows interdependencies of holes
Instead of a flat list of holes now a tree is shown, with the various
machining operations for the individual holes grouped together.
2017-01-04 20:11:49 +01:00
wmayer
4efd3e894a fix -Wunused-parameter 2017-01-04 18:20:43 +01:00
wwmayer
6dff7f1f1d Merge pull request #413 from realthunder/sortEdges
Add C++ implementation of Part.sortEdges
2017-01-04 17:12:10 +01:00
Stefan Tröger
109f8690ee Extensions: Fix GeoFeatureGroup drag&drop 2017-01-04 16:01:58 +01:00
Stefan Tröger
c4ec348fbd PartDesign: Show origin for primitive editing 2017-01-04 16:01:58 +01:00
Stefan Tröger
40cc2880e0 PartDesign: Fix test for new group body 2017-01-04 16:01:58 +01:00
Stefan Tröger
d2764a3c7a PartDesign: Adopt python interface to body group 2017-01-04 16:01:58 +01:00
Stefan Tröger
b4a569e013 PartDesign: Change body viewprovider to group 2017-01-04 16:01:58 +01:00
Stefan Tröger
9a3b952fb9 PartDesign: Port body to be a origin group 2017-01-04 16:01:58 +01:00
Stefan Tröger
47ed29fffd Extensions: GeoFeatureGroup only for GeoFeature 2017-01-04 16:01:58 +01:00
wmayer
dfbd6aa237 cleanup work: overload methods instead of using new method names 2017-01-04 15:39:27 +01:00
triplus
43ad429734 Add Part BOA multiCut, multiCommon and multiSection methods 2017-01-04 14:06:12 +01:00
AjinkyaDahale
8e1f5364af Coincident constraint making mode added
One small problem remains that the origin is not selectable as one point
in coincident constraint making mode.
2017-01-04 12:58:11 +01:00
AjinkyaDahale
75ad582913 Lock doesn't complain "no selection" 2017-01-04 12:58:11 +01:00
AjinkyaDahale
670e59eae7 Lock constraint in always available when sketch is open
Earlier it was available only when a selection is made
2017-01-04 12:58:11 +01:00
AjinkyaDahale
1230f493d5 Lock constraint can be applied with better selection
Can't yet start without selection: the button on toolbar is not active
without a selection yet
2017-01-04 12:58:11 +01:00
AjinkyaDahale
ecd1f465b0 Added DrawSketchHandlerLock 2017-01-04 12:58:11 +01:00
Yorik van Havre
0d4b185b80 Arch: Fixed small bug in components 2017-01-03 21:07:46 -02:00
wmayer
608f737170 use normals if available 2017-01-03 19:58:26 +01:00
wmayer
0ad93186b5 compute signed distances of points to shape, show results of visual inspection for point clouds 2017-01-03 17:02:50 +01:00
Zheng, Lei
d585499825 Make DraftGeomUtils.findWires use Part.sortEdges
Renamed the original DraftGeomUtils.findWires() to findWiresOld2(). The
original findWires() has a bug which may cause missing edge(s).
Besides, using C++ implementation of Part.sortEdges will have better
performance.
2017-01-03 17:05:28 +08:00
Zheng, Lei
e381b2332a Added Part.sortEdges
Unlike Part.__sortEdges__ which only return a list of connected edges,
and discard the rest. Part.sortEdges return a list of list of
connected edges, which includes all input edges.
2017-01-03 16:59:16 +08:00
Markus Lampert
e92f315379 Changed default values for tags and disabled old popup menu. 2017-01-02 17:34:37 -08:00
Markus Lampert
556e25e47f Fixed another initialisation issue - depending on how the dressup is created. 2017-01-02 17:34:36 -08:00
Markus Lampert
8efbe9e645 Basic UI for holding tags. 2017-01-02 17:34:36 -08:00