Commit Graph

13110 Commits

Author SHA1 Message Date
Bernd Hahnebach
a2d8afb65c FEM: beam rotation object, add this new object 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
f1c2f12423 FEM: ccx writer, slightly resort key sort creation on ccx elset creation 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
63eb8f7576 FEM: ccx writer, check for empty ccx elset on creation 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
05216d3b8a FEM: ccx writer, resorting in elset creation 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
c68bbb9c50 FEM: ccx writer, use set and intersection instead of two nested for loops 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
174e86abb3 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
2595be273c FEM: ccx writer, resort elset creation methods 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
8497eaa01a FEM: ccx writer, better elset name def and raise exception if name is too long 2018-01-23 14:01:27 +01:00
mkhizenz
2a42f71543 FEM: vtk DataAtPoint, implementation 2018-01-23 14:01:27 +01:00
mkhizenz
bfd9b27be9 FEM: Auto disable mesh and solid when opening VTK functions 2018-01-23 14:01:27 +01:00
Bernd Hahnebach
a860b97410 FEM: code formating 2018-01-23 14:01:27 +01:00
luz.paz
165571a851 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
eafba8cbfe Fix Exception when Source Shape IsNull 2018-01-22 19:10:28 -05:00
wmayer
c65585ccaf improve whitespace, fix const correctness 2018-01-23 00:40:41 +01:00
Abdullah Tahiri
46aa2c6356 Sketcher: Change nomenclature relating to Block constraint 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
fc0e6478f3 Sketcher: Constraint widget adapted to Block constraint 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
73d817281a 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
74043d5063 Sketcher: Block constraint - Prevent from adding constraint if the solver has redundant/conflicting constraints 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
41fe55bda3 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
470913434a Sketcher: Blocked constraint viewprovider rendering 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
015609a0fa Sketcher Blocked Constraint icons 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
08d23cf951 Sketcher: Blocked Constraint toolbar commands 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
fa3e0462e0 Sketcher: Blocked Constraint Python 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
7d2aab853e Sketcher: Blocked Constraint solver level 2018-01-22 22:52:56 +01:00
Abdullah Tahiri
2ad1653a3f 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
b863d1df75 improve whitespaces 2018-01-22 20:06:12 +01:00
Abdullah Tahiri
90cd417fe4 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
0e11e83c68 Fixed 2885, dogbone maintaining F parameter. 2018-01-22 19:40:50 +01:00
Markus Lampert
c3dbeba4d9 Fixed recursion problem 2018-01-22 19:40:50 +01:00
Markus Lampert
0d063d91f1 Fixed path unit test setup for new PathDressup 2018-01-22 19:40:50 +01:00
Markus Lampert
50529d33e4 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
8ecf31feff 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
d538e88815 Prevent adding an entry method dressup to an op that's already has one. 2018-01-22 19:40:50 +01:00
Markus Lampert
d1fa0d1d37 Made dogbone resilient to all dressups and profiles. 2018-01-22 19:40:50 +01:00
Markus Lampert
0b48c98792 Fixed import of PathGeom - might want to refactor that one day. 2018-01-22 19:40:50 +01:00
Markus Lampert
e96e32580e Fixed template-export menu activation. 2018-01-22 19:40:50 +01:00
TeroK
61b202992c 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
2a2414f2e2 Arch: Fixed wrong orientation and shape of window louvres 2018-01-21 20:57:35 -02:00
Yorik van Havre
6bd5523987 Path: Fixed possible bug in last commit 2018-01-21 17:48:16 -02:00
Sammel Lothar LTS
a23f891420 BUGFix PATH Dressup Sim FreeCADBreakdown 2018-01-21 17:43:27 -02:00
wmayer
9b28d1e226 remove SetMinTolerance as suggested by PR 1240 2018-01-21 18:17:45 +01:00
tomate44
fa85b1e76d typo 2018-01-21 17:29:17 +01:00
tomate44
e0ee9bf9ce indentation fix 2018-01-21 12:30:29 +01:00
tomate44
31ce28aa0d tolerance fix in TopoFace.validate() 2018-01-21 12:25:14 +01:00
tomate44
ecce5eea6d fix some TopoShape documentation 2018-01-21 12:03:53 +01:00
Yorik van Havre
3c679c13ca 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
4bfa12d86d 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
fd7d75b309 PartDesign: Extension of Pocket Feature to have two dimensions
fixes #2915
2018-01-20 16:15:38 +01:00
sliptonic
2375a95afd 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
sliptonic
d1f194c7ab Path: typo in command name 2018-01-20 14:09:58 +01:00