Commit Graph

13111 Commits

Author SHA1 Message Date
Bernd Hahnebach
4ac2f2d37a FEM: beam rotation object, add an own icon for this object 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
bc8219cc36 FEM: beam rotation object, add this new object 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
128e5d3a72 FEM: ccx writer, slightly resort key sort creation on ccx elset creation 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
0145383d39 FEM: ccx writer, check for empty ccx elset on creation 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
66351b723a FEM: ccx writer, resorting in elset creation 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
233a32d27a FEM: ccx writer, use set and intersection instead of two nested for loops 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
6811d528f6 FEM: ccx input file, use even shorter elset names for the short names and raise exception if the elset name is still to long 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
3824df2eba FEM: ccx writer, resort elset creation methods 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
c8e87a039e FEM: ccx writer, better elset name def and raise exception if name is too long 2018-01-23 14:01:27 +01:00
mkhizenz
c78504e6eb FEM: vtk DataAtPoint, implementation 2018-01-23 14:01:27 +01:00
mkhizenz
6155884950 FEM: Auto disable mesh and solid when opening VTK functions 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
e533076910 FEM: code formating 2018-01-23 14:01:27 +01:00
luz.paz
3d2856e892 Mod/Test/BaseTests.py source typo
Changed `def testRoation(self):` to  ` def testRotation(self):`
Please review.
2018-01-23 13:55:33 +01:00
WandererFan
45a1d6c906 Fix Exception when Source Shape IsNull 2018-01-22 19:10:28 -05:00
wmayer
38da0c7312 improve whitespace, fix const correctness 2018-01-23 00:40:41 +01:00
Abdullah Tahiri
c7b137fe85 Sketcher: Change nomenclature relating to Block constraint 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
a4c29ba521 Sketcher: Constraint widget adapted to Block constraint 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
c27d5a26b2 Sketcher: UI Block constraint creation sanity checks
====================================================

Avoid creation of constraints if they would lead to undesirable conflicting situations.
2018-01-22 22:52:56 +01:00
Abdullah Tahiri
9634da6811 Sketcher: Block constraint - Prevent from adding constraint if the solver has redundant/conflicting constraints 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
34f533b0e1 Sketcher: Block Constraint - Advanced redundant/conflict redundant handling
===========================================================================

Block constraint is naturally redundant/conflicting with almost any other constraint applied to an edge (certainly with constraints operating only on that element).

As such, a block constraint will have very little applicability in absence of a way to handle this redundancy/conflicting. For example, in the case of a BSpline all its
internal geometry (construction circles on poles and its constraints) would have to be removed before locking. This would mean that it is not possible to define the BSpline shape
and then block it, as when removing the internal geometry the shape would be lost. In other cases, like temporally blocking to avoid that a part of the sketch moves while performing some
operation with the idea of afterwards unblocking it, it would mean removing all constraints, to add the block constraint, then perform the action, then remove the block constraint and manually
constraint it again.

Handling this situation in a user expected way means ignoring certain constraints (those causing the redundancy/conflicting), so that the solver is not aware of them and does not complain. However,
generally ignoring those constraints has a negative effect, in that constraints applied by the user on already blocked geometry, or constraints that otherwise lead to a conflicting or redundant
situation as a consequence of actions (further constraining) after the Block constrain is applied are ignored, thereby not properly informing the user of this situation, which is undesirable.

This new mechanism takes account on the position of the constraints relative to the involved blocked constraint(s). As such, redundant/conflicting constraints that were added before the Block
constraint are ignored, whereas those constraints that lead to a redundant/conflicting situation and added AFTER the block constraint was already in place, those are not ignored and are reported
accordingly.
2018-01-22 22:52:56 +01:00
Abdullah Tahiri
9b7d1d6042 Sketcher: Blocked constraint viewprovider rendering 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
d2e89b98d4 Sketcher Blocked Constraint icons 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
1932a2f152 Sketcher: Blocked Constraint toolbar commands 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
7495fe1c31 Sketcher: Blocked Constraint Python 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
48fc503364 Sketcher: Blocked Constraint solver level 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
f64760b8a3 PartDesign: OnDelete basefeature fixing and visualization
=========================================================

fixes #3084
fixes #3061 (at least what it is understood in the analysis as being a bug, the visualization left).

Basically when deleting a feature, if it is the base feature (feature with which it will merge or cutout), the dependent objects'
base feature is made to be the base feature of the object being deleted. This code pre-existed at body level, but was not being called (see below).

Additionally, if the visible object is not the one being deleted, we leave that one visible. If the visible object is the one
being deleted, we make the previous object visible.

Deletion from the tree of a feature is handled by Document.removeObject, which has no clue about what a body is. Therefore, Bodies, although an
'activable' container, know nothing about what happens at Document level with the features they contain.

The Deletion command StdCmdDelete::activated, however does notify the viewprovider corresponding to the feature (not body) of the imminent deletion
(before actually doing it). Consequently, the only way of notifying a body of the imminent deletion of one of its features so as to do the clean up
required (moving basefeature references, tip management) is from the viewprovider of the feature being deleted.
2018-01-22 22:03:18 +01:00
wmayer
4d36757636 improve whitespaces 2018-01-22 20:06:12 +01:00
Abdullah Tahiri
01e6cde7aa PartDesign: Fix bug of mirror transformation of multiple features
fixes #3317

This code ensures that an individual transformation or a multi-transformation have a proper
base feature and next feature.
2018-01-22 19:56:58 +01:00
Markus Lampert
23f88c5d85 Fixed 2885, dogbone maintaining F parameter. 2018-01-22 19:40:50 +01:00
Markus Lampert
8a39ddf884 Fixed recursion problem 2018-01-22 19:40:50 +01:00
Markus Lampert
e4e5d4e5f5 Fixed path unit test setup for new PathDressup 2018-01-22 19:40:50 +01:00
Markus Lampert
55268a06f4 Changed lead-in-out dressup to use PathDressup.baseOp() instead of relying that it is dressing up an op directly. 2018-01-22 19:40:50 +01:00
Markus Lampert
c3f03d3696 Removed ToolController from all dressups and replaced with recursive search for the base op's ToolController. 2018-01-22 19:40:50 +01:00
Markus Lampert
69c1acd391 Prevent adding an entry method dressup to an op that's already has one. 2018-01-22 19:40:50 +01:00
Markus Lampert
8511597a4c Made dogbone resilient to all dressups and profiles. 2018-01-22 19:40:50 +01:00
Markus Lampert
4b0d6c6889 Fixed import of PathGeom - might want to refactor that one day. 2018-01-22 19:40:50 +01:00
Markus Lampert
a4fe22062d Fixed template-export menu activation. 2018-01-22 19:40:50 +01:00
TeroK
434bf4d3f3 TechDraw: Add option to use polygonal HLR algorithm
Now on property panel there is option 'Coarse View' which allows to set
selected drawing view's Hidden Line Removal to utilize polygonal algorithm.
This should be faster on same cases (complex models).

When this option is set for a view there is known limitation with dimensions not
working on this experimental mode. At least currently this is best utilized on
view with no dimensions.

Also the vertices' 'black dots' are not drawn on this mode view to avoid
cluttering.  Face hilite is avoided, to gain speed. All curves are represented
by short linesegments in this mode.

Previously TechDraw always used OCC's exact HLR algorithm to generate views,
which produces good quality and continous shape lines but is sometimes
slower to generate than with polygonal approach.

Additionally now there is bool 'CoarseView' Parameter Editor setting, if anyone
wants to set this as their default.
2018-01-22 19:31:30 +01:00
Yorik van Havre
e697f2ef50 Arch: Fixed wrong orientation and shape of window louvres 2018-01-21 20:57:35 -02:00
Yorik van Havre
ff467dcb4f Path: Fixed possible bug in last commit 2018-01-21 17:48:16 -02:00
Sammel Lothar LTS
6bddaf6eb2 BUGFix PATH Dressup Sim FreeCADBreakdown 2018-01-21 17:43:27 -02:00
wmayer
e6e4710ae3 remove SetMinTolerance as suggested by PR 1240 2018-01-21 18:17:45 +01:00
tomate44
6e5b1dfb9a typo 2018-01-21 17:29:17 +01:00
tomate44
50e1866c49 indentation fix 2018-01-21 12:30:29 +01:00
tomate44
33f334049f tolerance fix in TopoFace.validate() 2018-01-21 12:25:14 +01:00
tomate44
8461df7ea6 fix some TopoShape documentation 2018-01-21 12:03:53 +01:00
Yorik van Havre
acb3a34d99 AddonManager: Download biggest code block from macro pages in case there is more than one code block 2018-01-20 22:34:53 -02:00
Abdullah Tahiri
a0ccdb5218 Sketcher: Correction of B spline normals
========================================

When writting solver implementations it has to be taken into account that the normal is not to be provided in the sense of the curvature, but to
the left when walking a curve from start to end.

https://forum.freecadweb.org/viewtopic.php?f=10&t=26312#p209486

This commit has impact on all the previous files using bspline and endpoint to endpoint tangency.

A work-around is to delete the tangency and do it again.
2018-01-20 17:21:26 +01:00
Abdullah Tahiri
663e4ee369 PartDesign: Extension of Pocket Feature to have two dimensions
fixes #2915
2018-01-20 16:15:38 +01:00
sliptonic
f6825a2686 Path: changed --output-doubles to --axis-modal and reversed the default behavior
Explicit gcode is better than implicit so it is the default.  additional flags compress the size of the output and make it less explicity
2018-01-20 14:09:58 +01:00