Commit Graph

3266 Commits

Author SHA1 Message Date
Yorik van Havre
02eecc4fd7 Draft: small bug in Draft GUI - fixes #1908 2015-01-09 20:43:33 -02:00
wmayer
396e9c93b7 + fixes #0001553: printing drawing full size (1:1) prints wrong size 2015-01-09 21:15:27 +01:00
wmayer
ddfb525c87 + fixes #0000932: Unexpected scaling of a printed Drawing From FreeCAD but not always from exported SVG 2015-01-09 14:00:18 +01:00
wmayer
311ba87b6c + issue #0000932: Unexpected scaling of a printed Drawing From FreeCAD but not always from exported SVG 2015-01-07 19:35:52 +01:00
wmayer
f24e216db4 + fixes #0001652: Proper support of units for all geometric primitives 2015-01-07 15:31:07 +01:00
wmayer
be2e191681 + fixes #0001669: Part operation with parts in groups splits again when moved back into group 2015-01-07 11:02:52 +01:00
wmayer
80db2a3bd9 Merge branch 'master' of ssh://git.code.sf.net/p/free-cad/code 2015-01-06 18:39:00 +01:00
wmayer
010fc6f307 + fixes #0001721: PartDesign Pad 'Up to face' face selection in the 3D view not working 2015-01-06 18:38:33 +01:00
wood galaxy
641c295d44 Arch : Added mid-point to Frame Basepoint - fixes #1892 2015-01-06 13:44:44 -02:00
wmayer
fb19ea5089 + fixes #0001870: Revolution and Groove in Part-Design do not hide the sketch and parent-feature for some geometries 2015-01-06 15:00:24 +01:00
Julien Nabet
b325bcea3d Fix some cppcheck reports:
- (error) va_list '<var>' was opened but not closed by va_end()
- (style) Same expression on both sides of '||'
- (style) Same expression on both sides of '!='
2015-01-06 11:37:44 +01:00
Yorik van Havre
bde130821d Draft: Finished ellipse support - fixes #1788 2015-01-05 19:23:02 -02:00
wmayer
71efef4761 Merge branch 'master' of ssh://git.code.sf.net/p/free-cad/code 2015-01-05 16:29:06 +01:00
wmayer
ee86871bed + fixes #0000763: Bad IGS import 2015-01-05 16:28:40 +01:00
wood galaxy
03183527b2 Draft : fix some utf8 decode
Impacted Lines : 688,2061,2972
2015-01-05 13:13:45 -02:00
wood galaxy
2db39c3d71 Arch : Fix some utf8 decode 2015-01-05 13:13:45 -02:00
wood galaxy
95c0fe3a84 Arch : Internal object name are in English.
Arch objets Label could be translated.
2015-01-05 13:13:45 -02:00
wood galaxy
5657eed566 Arch: Fixed building label 2015-01-05 13:13:45 -02:00
Sebastian Hoogen
be447e64b5 revise drawing dxf ellipse export 2015-01-05 12:26:51 +01:00
Sebastian Hoogen
099ece5c00 determine the angles of an arc only by the axis and paramter range 2015-01-05 12:26:50 +01:00
Yorik van Havre
9ee08a97ea Draft: fixed #1664 again 2015-01-04 20:38:47 -02:00
Yorik van Havre
47f172bfa2 Arch: Fixed window label 2015-01-04 15:33:54 -02:00
Yorik van Havre
a7b3b85aa1 Arch: Fixed the task panel of Windows - fixes #1835 2015-01-04 15:00:31 -02:00
wmayer
d3bc389765 + exception handling if moving sketch fails 2015-01-04 13:02:11 +01:00
wmayer
4cfc2a1a08 Merge branch 'master' of ssh://git.code.sf.net/p/free-cad/code 2015-01-03 22:39:45 +01:00
wmayer
6c187572c7 + fix undo/redo issues with ortho views 2015-01-03 22:39:07 +01:00
Yorik van Havre
9b9526e4cc Arch: fixed behaviour of clones of windows - fixes #1841 2015-01-03 15:40:02 -02:00
Yorik van Havre
3db987d9b7 Draft: Added a Fuse property to Array objects - fixes #1768 2015-01-03 14:47:29 -02:00
wmayer
d8e0df9e97 + fixes #0001678: Visibility property is ignored on drawing sheets 2015-01-03 17:09:17 +01:00
wmayer
e7963472b0 + close drawing view when deleting page object 2015-01-03 14:23:17 +01:00
wmayer
3614a08911 + fixes #0001698: All drawing pages are opened automatically when opening a project file 2015-01-03 13:45:12 +01:00
wmayer
c47eea61fa + return point/facet indices as unsigned long in Python 2015-01-03 11:24:57 +01:00
Yorik van Havre
77882051fa Draft: Made initial Face mode dependent on fill mode pref setting - fixes #1812 2015-01-02 19:53:39 -02:00
wmayer
08828e5dc0 + fixes #0001225: Allow User to Rotate Arc Radius Constraint Text and Leader 2015-01-02 21:26:03 +01:00
Yorik van Havre
fe994efa66 Draft: Fixed import of DXF splines - fixes #1743 2015-01-02 17:05:27 -02:00
Yorik van Havre
12afbc9ed5 Arch: trivial bugfix 2015-01-02 16:49:31 -02:00
Yorik van Havre
1dd069ec7f Raytracing: added transparency to lux feature - fixes #1771 2015-01-02 16:48:35 -02:00
wmayer
26666a1fda + minor optimization 2015-01-02 12:26:29 +01:00
DeepSOIC
c4fb8fc8ae Sketcher: AngleViaPoint: revert from OCC angle precalculation
Returning back to the slow temporary-sketch-based
calculateAngleViaPoint, because OCC-based version was incompatible with
always-CCW sketcher geometry. More info in "Sketch: how to handle
reversed external arcs?" forum thread
http://forum.freecadweb.org/viewtopic.php?f=10&t=9130&sid=1b994fa1236db5ac2371eeb9a53de23f
2015-01-02 11:48:34 +01:00
DeepSOIC
93d00b2dab Sketcher: validateConstraint update
Refactor validateConstraint and add angle-via-point and snell's law
support there.
2015-01-02 11:48:33 +01:00
DeepSOIC
684036fae8 Sketcher Ellipse: code cleanup
deleting redundant overloaded functions involving arc-of-ellipse, a few
todo comments, not implemented methods, System(constraintlist)
constructor.
2015-01-02 11:48:33 +01:00
DeepSOIC
ab7d980de0 Sketcher: solver rebranding - renamed directory
Sketcher: solver rebranding - updated references

cleanup

Sketcher: GCS: remove unused NAN and INF
2015-01-02 11:48:32 +01:00
DeepSOIC
9cc2ff7944 Sketcher Constraints: small code refactor
Unifying first checks in grad().
2015-01-02 11:48:32 +01:00
DeepSOIC
8660d9a914 Sketcher Ellipse: porting to DeriVector2
Sketcher Ellipse: porting tangent-line to DeriVector2

Replacing a ton of unreadable, sage generated math code with
easy-to-manage C++ code.

Sketcher Ellipse: porting internal align-t to DeriVector2

Sketcher Ellipse: small math refactor; const members

Moving the repeating code computing deriv+value of major radius to a
method of GCS::Ellipse.
Marking several methods of DeriVector2 as const member functions.

Sketcher Ellipse: porting arc angle rules to DeriVector2

Just porting.
Probably a complete remake of the concept is worth... Angles can be
calculated explicitly, there's no need to load the solver. I see no
benefits whatsoever on using the solver to keep track of angle values.

Sketcher Ellipse: porting equality to DeriVector2
2015-01-02 11:48:31 +01:00
DeepSOIC
43e8b30846 OpticConstraints: Adding Snell's law
Fix AngleViaPoint to support new derivative calculation technique.

OpticConstraints: Adding Snell's law. Fix AngleViaPoint to support new derivative calculation technique.

Snell's law constraint added to GCS, but not yet exposed and cannot be
tested.
Since the way CalculateNormal() returns derivatives had changed,
AngleViaPoint constraint needed modifications. Nothing serious.

OpticConstraints: SnellsLaw progress

Addable through python. Fix math. Some quick-and-dirty visual stuff to
get rid of hangs and to see the constraint in action.

OpticConstraints: SnellsLaw: flipping logic fix

OpticConstraints: SnellsLaw progress

Added toolbar button. Allowed editing a datum by doubleclick. New error
message approach during constraint creation.

OpticConstraints: SnellsLaw

OpticConstraints: SnellsLaw: list label improvement

OpticConstraints: SnellsLaw: fix after rebase

OpticConstraints: SnellsLaw: expose helper constraints

Snell's law internally is made of three constraints: point-on-object,
coincident and the Snell's sin/sin. They were all buried under one UI
constraint. Exposing them allows to construct reflection and
birefringence on the point (attempting to do so used to result in
redundant constraints and was often not functional at all).
This commit breaks compatibility with older files.

OpticConstraints: SnellsLaw: small refactor of math

Placing the duplicated code of error and gradient calculation into a
private method.

OpticConstraints: SnellsLaw: fix datum edit unit

OpticConstraints: SnellsLaw: fix datum edit bug

After previous fix, the dimensionless value was not accepted (the
constraint's value did not change, the changes were ignored).
2015-01-02 11:48:31 +01:00
DeepSOIC
68ec9e44f8 OpticConstraints: SnellsLaw: icon 2015-01-02 11:48:30 +01:00
DeepSOIC
397e37ad1c GCS: fundamental changes to simplify derivatives
GCS::Vector2D was morphed into a DeriVector2, a derivative-aware vector.
A bunch of vector math methods were added that implicitly calculate
respective derivatives. Now, there is no need to calculate the partials
- most is done implicitly.
2015-01-02 11:48:30 +01:00
DeepSOIC
3838bddcdb AngleViaPoint Constraint
AngleViaPoint: fixes in UI routines + new messages

Goofed undo message in tangency via point is fixed.
Forgotten updateActive, clearSelection have been added.
New more informative error messages for tangent constraint.

AngleViaPoint: using it instead of via line tangency

* replaced the helper construction line for ellipse-to-ellipse and
similar tangency with a point. Using tangent-via-point there
* deleted tangency via line for point-to-point on
(cherry picked from commit 9e3fa8c8de0f49c0ef3c978e015eb905358dbdd9)

AngleViaPoint: internal/external tangency locking

*Added automatic tangency type lockdown for all new constraints (only
for point-wise tangency).
Tangency type is stored in the constraint datum field, as an angle value
shifted by Pi/2 (to be able to treat 0.0 as undefined type).
Added ability to switch the tangency by setting datum value from python
(can be abused by passing arbitrary angle).
Further simplified the tangency related code in Sketch.cpp.

AngleViaPoint: added license to Geo.cpp

AngleViaPoint: renames in Constraints.cpp/.h

Changed some names to increase self-explanatoryness:
bool "remapped" renamed to "pvecChangedFlag"
"ReconstructEverything()" renamed to "ReconstructGeomPointers()"

AngleViaPoint: renames in Constraints.cpp/.h

Changed some names to increase self-explanatoryness:
bool "remapped" renamed to "pvecChangedFlag"
"ReconstructEverything()" renamed to "ReconstructGeomPointers()"

AngleViaPoint: using for endpoint perpendicularity

+ direction lockdown, just as with tangency.
+ quite a lot of old code is gone because of that

AngleViaPoint: perp-ty UI routine made similar to tangent

(Git has made a very messy diff.)
The changes are:
* Perpendicularity-via-point (3-element selection) support added.
* Endpoint-to-curve and endpoint-to-endpoint supports all shape
combinations.
* a bit of code cleanup and clarifications.

AngleViaPoint: placement of perpendicular icon in 3d view

AngleViaPoint: fix: allow setDatum of perpendicular constraint

AngleViaPoint: fix: centers of ellipses are not endpoints

isSimpleVertex used to return false for centers of ellipses and arcs of
ellipses, which made them being accepted for point-to-point tangency.
Should be fixed forever, mo more changes are expected to be necessary
for new types of geometry.

AngleViaPoint: precalc with OCC (work in progress)

Work in progress (not yet working).
Using OCC's tangent to replace implementation of
SketchObject::calculateAngleViaPoint.

AngleViaPoint: fix math: normal now points inwards, where it was intended initially and goofed up.

AngleViaPoint: adding comments to the code

AngleViaPoint: using GeomCurve::closestParameterToBasicCurve for angle precalculation

AngleViaPoint: Py method: changeConstraintsLocking

changeConstraintsLocking(True) - locks/re-locks all lockable
tangency/perpendicularity constraints of the sketch (applicable to
existing sketches).
changeConstraintsLocking(False) - removes locking information from
lockable constraints

AngleViaPoint: final SketchObject::calculateAngleViaPoint

Now, finally, using OCC functionality (thanks Abdullah!), without
composing temporary Sketch object.
2015-01-02 11:48:29 +01:00
DeepSOIC
9f821e06b5 Sketcher: Responsivity tweaks and AngleViaPoint Constraint
Solver iteration limit independent of system size (reduces hangs when
solver fails to converge).
Repaint() instead of update() to force render for every movePoint.

Sketcher: New Constraint AngleViaPoint

* Adding generic CalculateNormal() method
* Reconfiguration of GCS geometry classes: adding a base class "Curve",
that has a pure virtual function CalculateNormal().
* Initial inplementation of the new function.
* adding Vector2D class (I wanted to reuse the existing, but got wierd
compile errors, so implemented a new one... TODO.)
* Adding redirection support into GCS shapes. Adding a Copy method to
GCS::Curve.
* Automatic point-on-object
* Angle precalculation: when AngleViaPoint is added, angle is properly calculated based on
existing geometry.
* Added tangency-via-point using one.
* Implemented placement of tangency-via-point icon in 3d view. Also
affected is the placement of point-on-object icon (since it is very
similar code, it is now shared with tangency-via-point)
* Placement and moving of angle datum
Functions: calculateAngleViaPoint, isPointOnCurve,
calculateConstraintError exposed to python
* Endpoint tangency: All endpoint-to-endpoint and endpoint-to-curve tangency now works
through AngleViaPoint constraint and obsolete code clean up (most procedures
addConstraintTangentXXX2YYY)
2015-01-02 11:48:28 +01:00
Abdullah Tahiri
ec03fb541f Part: Extension of Geometry::Curve
Part: Extension of Geometry::Curve to wrap more functions of OCC

Apart from:
    bool tangent(double u, gp_Dir&) const;
that was already implemented, now it also implements:
    Base::Vector3d pointAtParameter(double u) const;
    Base::Vector3d firstDerivativeAtParameter(double u) const;
    Base::Vector3d secondDerivativeAtParameter(double u) const;
    bool normal(double u, gp_Dir& dir) const;
    bool closestParameter(Base::Vector3d point, double &u);

i.e. apart from giving the tangent vector for a given curve at parameter value u,
it also gives:
   - The point cartesian coordinates of the curve point at parameter value u
   - The vector of the first derivative at parameter value u
   - The vector of the second derivative at parameter value u
   - The normal vector to the curve at parameter value u
   - The parameter value of a curve closest ot a given point

Code cleanup: Changing Trim functionality of Ellipse to use OCC calculations

Part Curve functions extension: closestParameterToBasicCurve

It provides the parameter of the curve closest to a given point. If the curve is a Trimmed curve, the parameter of the basic underlaying curve closest to the point is provided.
2015-01-02 11:48:28 +01:00
Sebastian Hoogen
a8dd528c1a Build python Qt resource files at compile time
fixes #1888
2015-01-02 11:14:07 +01:00
Yorik van Havre
f3af41e4cc Merge branch 'master' of ssh://git.code.sf.net/p/free-cad/code 2015-01-01 19:06:26 -02:00
Yorik van Havre
051b38b1c1 Arch: temporarily disabled custom subvolume in windows 2015-01-01 19:06:11 -02:00
Yorik van Havre
60b648b053 Arch: Equipments now take the diffuse color of their base object on creation 2015-01-01 19:06:00 -02:00
wmayer
f545455466 + fixes #0001889: Crash when undoing move of base object of a part fillet 2015-01-01 21:05:19 +01:00
Yorik van Havre
2680395ede Draft: adapt icon sizes from preferences settings - fixes #1783 2014-12-31 21:23:24 -02:00
Yorik van Havre
845849fa91 Arch: implemented reading & writing of Ifc properties in IFC files 2014-12-31 18:35:39 -02:00
Yorik van Havre
244373779d Arch: Fixed IFC import bug - fixes #1887 2014-12-31 15:21:41 -02:00
Yorik van Havre
3f607d73a4 Arch: Fixed Arch example - fixes #1789 2014-12-31 14:42:22 -02:00
Yorik van Havre
cb5a807990 Arch: Added a MoveWithHost property to all Arch objects which specifies if they must be moved/rotated together with their parent - fixes #1820 2014-12-31 14:04:23 -02:00
Yorik van Havre
1f9ecfa509 Draft: Better error messages when trying to convert a bspline to a sketch 2014-12-31 13:17:25 -02:00
wmayer
ca5062cbfe + fixes #0001885: Unhandled exception when trying to enter edit-mode for objects while drawing view is active 2014-12-31 14:08:03 +01:00
wmayer
4d618955b3 + fixes #0001884: Crash when double-clicking on Clip element with drawing page closed 2014-12-31 13:15:33 +01:00
wmayer
2c53bd1e9a + fixes #0001670: Orthographic projection: scale/position is empty when unchecking 'Auto scale/position' 2014-12-30 19:14:07 +01:00
wmayer
c231866b8d + fixes #0001746: Part Fillet and Chamfer do not show correct length/radius when editing old items 2014-12-30 17:20:32 +01:00
wmayer
ff09f0524d + fixes #0001656: Vertical/horizontal distance constraint confuses for a line or two points 2014-12-30 15:20:29 +01:00
wmayer
72f947433c Merge branch 'master' of ssh://git.code.sf.net/p/free-cad/code 2014-12-29 22:28:52 +01:00
wmayer
f51daa88e0 + fixes #0001819: Getter Methods for Data inside a sketch 2014-12-29 22:28:12 +01:00
Yorik van Havre
2f78c021db Arch: Fixed encodings in Survey - fixes #1825 2014-12-29 18:54:33 -02:00
Yorik van Havre
638fa8ba75 Draft: Changed working plane button text to Auto - fixes #1879 2014-12-29 17:54:04 -02:00
wmayer
84aad261fc + fixes #0001876: replace helpful text in task tab with an info button 2014-12-29 18:49:17 +01:00
wmayer
d83c02387c + fix constraint evaluation function 2014-12-29 15:17:04 +01:00
wmayer
6a1cb47e30 + fixes #0001616: crash when selecting 'Edit Sketch' 2014-12-29 01:13:03 +01:00
wmayer
e329cb5c3a + fixes #0001878: model refine exception 2014-12-28 18:10:02 +01:00
wmayer
7d8b1f30c3 + fixes #0001720: Freecad crash when handling invalid sketches 2014-12-28 17:10:54 +01:00
wmayer
6a211b9dbe + fixes #0001060: Editing sketch crashes FreeCAD 2014-12-27 22:47:21 +01:00
wmayer
16a8965038 + do not long apply changes in mesh settings on existing mesh objects 2014-12-27 18:32:18 +01:00
wmayer
7149cce90f + fixes #0000957: Sketch view problem when go to edit 2014-12-27 17:50:37 +01:00
wmayer
93e5668967 + make undo/redo accessible from drawing view 2014-12-26 22:46:02 +01:00
wmayer
9290274e1c + fixes #0000711: fileted borders not projected on 2D drawing + deleted views still showing 2014-12-26 22:24:45 +01:00
wmayer
d060cdf400 + revert changes for issue 1873 2014-12-26 00:08:26 +01:00
wmayer
272cb566e9 + fix minor issue in toggle construction command 2014-12-25 23:13:01 +01:00
wmayer
29d50dbc01 + improve whitespace 2014-12-25 23:10:42 +01:00
wmayer
e8802adcbe + fixes #0001838: When In Sketcher Make It Difficult To Mistakenly Delete A Feature 2014-12-25 22:43:09 +01:00
wmayer
a6b8bd6815 + improve whitespace, fix warnings 2014-12-25 09:48:23 +01:00
wmayer
33bc596fd8 + fixes #0001873: Error working with getSelectionEx()[0].SubObjects 2014-12-23 22:04:34 +01:00
Yorik van Havre
11a4025c4b Arch: Fixed Ifc explorer to work with recent ifcopenshell 2014-12-23 17:34:56 -02:00
Sebastian Hoogen
d0126061c8 DRAWEXE export: minor bugfix 2014-12-23 15:58:17 +01:00
Sebastian Hoogen
ca3ad00da8 SVG export: minor improvements and bugfixes
export Names as "id" attributes and Lables to "title" elements.
avoid duplicate path names in SVG export
handle faces with holes in SVG export
sort the edges in given wires using fixWire()
2014-12-23 15:57:57 +01:00
wmayer
2db457b74a Merge branch 'master' of ssh://git.code.sf.net/p/free-cad/code 2014-12-23 15:32:37 +01:00
wmayer
3fa8a1ed2b + fixes #0001874: Scripted constraints not evaluated correctly 2014-12-23 15:32:03 +01:00
Yorik van Havre
da5504eebb Draft: Fixed autoconversion of bsplines to circles in DXF export 2014-12-23 12:13:25 -02:00
wmayer
c918ef7e40 + fix whitespaces in Python module 2014-12-22 12:54:09 +01:00
wmayer
491ea2b52a + use QApplication instead of qApp 2014-12-22 12:30:44 +01:00
wmayer
02cc02eaee + fix build failure 2014-12-21 11:21:32 +01:00
Abdullah Tahiri
75377ebfd3 Part Module New Feature: Hyperbola & ArcOfHyperbola
- Completed Hyperbola c++ implementation and python wrapper
- Created ArOfHyperbola c++ and python wrapper implementation
2014-12-21 00:54:07 +01:00
Abdullah Tahiri
6997cc9991 Part Module New Feature: Parabola & ArcOfParabola
- Completed Parabola c++ implementation and python wrapper implementation
- Created ArOfParabola c++ and python wrapper implementation
2014-12-21 00:51:24 +01:00
Michael Georg Hansen
8effb87566 Prevent pages and views from being put into the drawing sheet. 2014-12-20 22:18:43 +01:00
Michael Georg Hansen
ec4ed868b6 Remove leftover debug output and use named parameters. 2014-12-20 22:18:22 +01:00
Michael Georg Hansen
fe1d67fd65 Simplify access to projection properties.
Directly access the properties where possible.
2014-12-20 22:17:46 +01:00
Michael Georg Hansen
1816f88575 Reuse projection settings from an existing view when creating new draft views.
Select a draft object and a view on a drawing page, then the view created for
the draft object will have the same projection settings as the selected view.
2014-12-20 22:17:08 +01:00
Michael Georg Hansen
ef24aaa3ce Reuse projection settings from an existing view when creating new part views.
Select a part and a view on a drawing page, then the view created for the part
will have the same projection settings as the selected view.
2014-12-20 22:16:41 +01:00
wmayer
6af1186d27 + remove Makefile.am, remove some leftovers, avoid including unneeded headers in GCS.cpp 2014-12-20 14:06:54 +01:00
wmayer
d486f3351d + fix pow() ambiguity 2014-12-20 14:01:23 +01:00
Abdullah Tahiri
501c40f0e6 Sketcher: Ellipse implementation enhancements
- ArcOfEllipse enhancement: Tangency ArcOfEllipse to ArcOfEllipse or ArcOfCircle by selecting end/starting points...
- Minor bug corrections (Thanks DeepSOIC)
- ExposeInternalGeometry python command
- DeleteUnusedInternalGeometry python command
- On deletion of an Ellipse/ArcOfEllipse all further unconstrained internal geometry is also deleted.
- This cleans up the code by eliminating code repetition in the creation methods.
- Major bug fix for autoconstraints for ellipse and arc of ellipse creation (for both creation methods)
- Major bug fix Start and Endpoint constraints of an arc of ellipse where not taking into account that Sketcher arcs are always CCW, so they have to be exchanged if we convert a CW arc into a CCW arc.

Sketcher: General bug fix: Tangency wrongly suggested

What?
=====
- On creation of a shape autoconstraints are suggested.
- Tangent autoconstraint was suggested even with lines perpendicular to the tangency direction

Reproduce
=========
- Make a circle on the origin and move the mouse along the X axis, it will suggest a tangency that is impossible
- Click on the axis and no circle will be created

Solution
========
- The SeekConstraint now can use the parameter dir to give a direction that is substantially perpendicular to the expected tangency, so that
if an object having a direction (a line) is hit, a tangency will not be suggested if within around 6 degrees of being parallel.
- Additionally, if such a line is an X,Y axis of the sketch, tangency will only be suggested if the direction is within 6 degrees of being perpendicular (i.e. it is almost tangent already while sketching).
- This difference is due to the fact that an X or Y axis can not "move" to meet the object under creation, whereas a line can.
2014-12-20 12:33:37 +01:00
Mark A. Taff
80120a6bac Ellipse implementation: Several bug fixes
I. Fix minor bug where wrong b was used to create ellipse internal geometry.

Tweak the internal geometry code a bit and reformat it so it isn't so wide.
Also begin debugging constraint conflicts on small circular ellipses.

There seem to be two issues currently in major/minor internal geometry lines:
  1) Sometimes minorLength > majorLength due to round-tripping doubles, and
  2) Constraint conflicts when majorLength > minorLength by an epsilon on the order of 1e-6

(cherry picked from commit 5c3e20af1a95c860112289dcdda54ea99778bc3a)

II. When testing for a valid ellipse, also ensure that the mangled major axis length > the mangled axis length.

This additional condition ensures that major and minor axis constraints don't conflict in the case of small
(nearly) circular ellipses.

The is still a potential bug in the solver when the major length is just slightly larger than the minor, but this fix
makes it nigh impossible to reproduce.
(cherry picked from commit 7e274bc32d9aa1a12ab52bfa33ed80353540b062)

III. Code clean up

Remove redundant 3d vectors.

(cherry picked from commit c656d5165c8bae8f101a2b46af6b12348d06cefe)
2014-12-20 12:33:37 +01:00
Abdullah Tahiri
c8d7f70dba Sketcher: Ellipse implementation: Art by Jim 2014-12-20 12:33:36 +01:00
DeepSOIC
fc7f1791d2 Fix intern. geom. placement for ellipse arc a<b
(cherry picked from commit 896372cbae2d5667f72f6ee9e628eea482846156)
2014-12-20 12:33:36 +01:00
Abdullah Tahiri
83edcf4c86 Sketcher: Ellipse : Integration of all conics under a single toolbar space 2014-12-20 12:33:35 +01:00
Abdullah Tahiri
ba2c2d36e0 Sketcher: Ellipse implementation Art by Jim
- Art for setting all conics under a single icon
- Art for ellipse for 3 points creation method
2014-12-20 12:33:35 +01:00
Mark A. Taff
bccb9466cc Implement two construction methods for ellipses:
--Center, major radius, minor radius
  --Periapsis, apoapsis, minor radius

Artist: We need an icon for periapsis, apoapsis, minor radius method.
(cherry picked from commit f0a4339621b0bf901754af14c3cd36c95ca55966)
2014-12-20 12:33:35 +01:00
Abdullah Tahiri
901bbbed57 Sketcher: Various Ellipse enhancements
- Autoconstraints for Ellipse
- Conversion of a Part.Arc of an Ellipse to Sketcher.
2014-12-20 12:33:34 +01:00
Sebastian Hoogen
dc5c64703a support for ellipses and elliptical arcs in flattened SVG output
(cherry picked from commit 59eabdbcb043f3d462c3e9ed0ba21cfe65b7aae6)
2014-12-20 12:33:34 +01:00
Abdullah Tahiri
f5df65c4c4 Sketcher: Ellipse enhancement: All internal geometry is shown on creation
Elements that have internal geometry are created with the internal geometry on creation.

It has been under discussion for a long time. Ulrich was in favour (asked for it several times).
DeepSOIC implemented the focus because he hated the poor dragging of the ellipse when empty.
2014-12-20 12:33:33 +01:00
DeepSOIC
9d135bdc4e Sketcher: Ellipse enhancement: Negative focus on creation to improve dragging
Focus2 is thrown in automatically for ellipse arcs

(cherry picked from commit 1ab814e6b07fd946dbb2910cc1bfb8588c61afb8)
2014-12-20 12:33:33 +01:00
Abdullah Tahiri
d0362fa4a2 Sketcher Ellipse and ArcOfEllipse: Extra features and bug fixes
- Visual representation of equality constraint: Separate circle and arcofcircle implementation from ellipse and arcofellipse implementation
- Fix for Alignment constraint: Now it allows to assign a second element, one by one
- Box selection for ArcOfEllipses
  Fixes the bug that vertex far away got selected due to lack of sync between the selection and draw loops.
2014-12-20 12:33:32 +01:00
DeepSOIC
f24b589d67 Sketcher Ellipse bug fix:
- Fix placement of equality symbols at ellipses and arcs of ellipses
2014-12-20 12:33:32 +01:00
Abdullah Tahiri
a067a7c25a Sketcher Ellipse and ArcOfEllipse: Extra features and bug fixes
- Minor changes to alignment constraint selection to avoid to create objects just for simple calculations
- Equality constraint of Ellipse, ArcOfEllipse and combinations of those elements
- Bugfix for internalalignment creation of major and minor of ellipse and extension to arcofellipse
- Trim support for ellipses
- Solver threshold for rank calculation set at 1e-13.
- Trim support for arc of ellipse
- Ellipses and ArcOfEllipses as external geometry
- Validate Sketch now supports arcs of ellipse
- Tangents of Ellipse or ArcOfEllipse to any of ArcOfcircle, circle and Ellipse (using construction elements)
- Perpendicularity constraint
- Bug fix: Show/hide internal geometry not working for external geometry
- Visualization of Internal alignment constraints when selecting in the constraint widget
- Equality for ellipses and arc of ellipses
2014-12-20 12:33:31 +01:00
DeepSOIC
21354e9a8b Sketcher Ellipse bug fixes:
- Fix of internal geometry creation
- Fix swapped negative and positive ends of major radius line on creation
- Removing the fudge factor (no longer needed)
- Fix to restore internal alignment - autodecide on constraint creation which point of the line is closer to the position
2014-12-20 12:33:30 +01:00
Abdullah Tahiri
fb0d830560 Sketcher Ellipse and ArcOfEllipse: Major bug fixes
- Change mode so that focus1 is not a point, but two doubles so that visual model and solver model match in number of points.
- Solver fix to deal with reduced constraint partials accuracy (threshold for matrix rank calculation tweak)
- Changes suggested by logari81
2014-12-20 12:33:30 +01:00
DeepSOIC
e423c308af Sketcher Ellipse bug fix: Jump back on mouseup when shrinked 2014-12-20 12:33:29 +01:00
Abdullah Tahiri
a458c3e6d2 Sketcher New Feature: Ellipse support
- Ellipse introduction button via (center,majaxis extreme, a point in edge), ellipse is always CCW so that Z axis goes in the positive direction of the sketch
- Backwards compatibility with files of previous versions of ellipse not defining a phi angle
- Art by Jim (all the icons you see and the XPMs shown on creation of an ellipse)
- Element Widget support for ellipses
- Box selection for ellipses
- Point on Ellipse constraint based on the gardener's method based on Ulrich's function proposal (radcan simplified, i.e. with simplify_radical sage function)
- Tangent: Ellipse to Line based on DeepSOIC's geometric formulation (radcan simplified)

Sketcher New Feature: Internal Alignment Constraint
- The element to which internal alignment is applied has to be selected last.
- All other elements are added in the order of priority, taking into account existing elements
- Art by Jim (beautiful icons).

Sketcher New Feature: Tool to show/hide/restore the internal geometry of an element
- New functionality for show/hide internal geometry:
  toggles between hiding all unused internal geometry elements and showing all internal geometry.
  The restore function is implicit to the showing all internal geometry

Sketcher New Feature: Arc of Ellipse support
- Part::Geometry + Python implementation
- ArcOfEllipse creation method
- Art by Jim (all the icons you see and the XPMs shown on creation of arc of ellipse elements)
- Sketcher Element widget for ArcOfEllipse.

Bug fix: Select elements associated to constraints works now for foci internal alignment constraints
2014-12-20 12:33:29 +01:00
Abdullah Tahiri
6eec2e9851 Ellipse implementation: Art by Jim
- it also includes a shell script equivalent to the UpdateResources.bat for those who use linux
2014-12-20 12:31:27 +01:00
Richard M. Shaw
a8d24be3b3 Update CMake config to work with smesh 6.5.3.1.
New fork of standalone smesh is available here:
https://github.com/tpaviot/smesh
2014-12-19 11:23:38 +01:00
wmayer
f37a752975 + fixes #0001848: Radius of circle given in degrees 2014-12-16 12:10:15 +01:00
wmayer
171a8cf85a + fixes #0001857: Broken start page in Ukrainian language 2014-12-16 10:20:29 +01:00
wmayer
78f07f8731 + fixes #0001790: Crash on undo/redo with a selection 2014-12-14 00:06:08 +01:00
wmayer
ff7e33b95d + reimplement copyObject based on merge document 2014-12-13 21:43:20 +01:00
Yorik van Havre
7e86d94a48 Material: Added mk2's material cards 2014-12-13 13:36:51 -02:00
Yorik van Havre
4f3b1e2595 Drawing: added new set of empty templates - issue 1856 2014-12-13 13:30:15 -02:00
Yorik van Havre
b2df659699 Fixed small error in concrete material 2014-12-12 14:56:27 -02:00
J.L. Cercos-Pita
f58807168d Removed autotools makefile template 2014-12-12 14:49:58 -02:00
J.L. Cercos-Pita
5a23e77385 Fixed the module copy path 2014-12-12 14:49:58 -02:00
J.L. Cercos-Pita
fc7c75ba84 Regenrated the branch (rebase failed) 2014-12-12 14:49:58 -02:00
Yorik van Havre
94187a6872 Draft: small fix in Draft.py 2014-12-12 14:38:07 -02:00
wmayer
7801fbef3a + fixes #0001849: Enable Spin Boxes support for Pad, Fillet and Chamfer 2014-12-11 18:25:30 +01:00
wood galaxy
6aa91b3622 Ready for merge : fix issues #1618 and #1607
Implement getSubVolume to cut wall with roof.
Now Roof is not hidden when removing it to a wall.
2014-12-08 12:23:01 -02:00
wood galaxy
341782ec54 Implement Overhang 2014-12-08 12:23:01 -02:00
wood galaxy
1876f36611 Fix bug if user enter thickness = 0 2014-12-08 12:23:01 -02:00
wood galaxy
715b5d7fe9 Add a new Arch Roof Builder 2014-12-08 12:23:01 -02:00
wmayer
2608d0aaf2 + 0001849: Enable Spin Boxes support for Pad, Fillet and Chamfer 2014-12-07 00:38:02 +01:00
jriegel
9a07c3ad9e fix in reading results from Calculix 2014-12-06 13:10:09 +01:00
wmayer
6872b2c393 + fixes #0001736: Parts with multiple colors are displayed in a single bad color after hiding 2014-12-04 14:36:43 +01:00
Yorik van Havre
a6563fb03a Draft: Fixed polygon center snap 2014-12-03 11:16:08 -02:00
wmayer
c6f1132664 + degree symbol is not 7-bit ASCII, use utf-8 2014-12-03 10:26:15 +01:00
wmayer
351ad4f6c7 + fixes #0001363: VRML export can produce corrupt files 2014-12-02 15:40:36 +01:00
wmayer
640c9cbf8b + fixes #0001361: StartPage scripts and resources are installed twice 2014-12-01 15:57:23 +01:00
wmayer
dd3412b159 + improve whitespaces 2014-12-01 11:36:33 +01:00
jriegel
38fc7ba604 Merge branch 'refs/heads/master' into review-CL-Bundler 2014-11-29 15:43:19 +01:00
wmayer
2896372a75 + fix mesh unit tests 2014-11-29 15:17:58 +01:00