Commit Graph

15844 Commits

Author SHA1 Message Date
wmayer
fb37201299 fix build failures with newer compiler versions 2019-02-12 13:10:49 +01:00
wmayer
b29209d523 enhance capabilities to render text in splashscreen 2019-02-12 13:09:51 +01:00
wmayer
aee5b0213b improve exception handling if module to load a file cannot be imported 2019-02-12 13:07:48 +01:00
wmayer
0c3bfc4ff3 fix minor issues 2019-02-12 11:16:52 +01:00
Abdullah Tahiri
4e2ae6f408 Part: Rearrange inheritance not to use ArcPy
============================================

Inheritance:

Geometry
- GeomPoint
- GeomCurve (GeometryCurvePy)
- - GeomBoundedCurve (BoundedCurvePy)
- - - GeomBezierCurve (BezierCurvePy)
- - - GeomBSplineCurve (BSplineCurvePy)
- - - GeomTrimmedCurve (TrimmedCurvePy)
- - - - GeomArcOfConic (ArcOfConicPy)
- - - - - GeomArcOfCircle (ArcOfCirclePy)
- - - - - GeomArcOfEllipse (ArcOfEllipsePy)
- - - - - GeomArcOfHyperbola (ArcOfHyperbolaPy)
- - - - - GeomArcOfParabola (ArcOfParabolaPy)
- - - - GeomLineSegment (LineSegmentPy)
- - GeomConic
- - - GeomCircle
- - - GeomEllipse
- - - GeomHyperbola
- - - GeomParabola
- - GeomLine
- - GeomOffsetCurve

* Note: ArcPy is also a twinclass of c++ GeomTrimmedCurve, Python ArcPy derives from Python TrimmedCurvePy.

Same functionality as before:

>>> geometries = ActiveSketch.Geometry
>>> line = geometries[1]
>>> arc = geometries[2]
>>> line
<Line segment (-97.4389,42.4463,0) (-80.7887,44.5569,0) >
>>> arc
ArcOfCircle (Radius : 19.3111, Position : (-74.6914, -23.2165, 0), Direction : (0, 0, 1), Parameter : (1.82335, 2.71597))
>>> line.FirstParameter
0.0
>>> line.LastParameter
16.783437032695776
>>> line.setParameterRange(0,20)
>>> line.LastParameter
20.0
>>> arc.StartPoint
Vector (-79.51683708894876, -4.517938119394778, 0.0)
>>> arc.EndPoint
Vector (-92.27963885411512, -15.243140671641918, 0.0)
>>> arc.setParameterRange(1.5,3)
>>> arc
ArcOfCircle (Radius : 19.3111, Position : (-74.6914, -23.2165, 0), Direction : (0, 0, 1), Parameter : (1.5, 3))
>>> geometries[1] = line
>>> geometries[2] = arc
>>> ActiveSketch.Geometry = geometries
>>> ActiveSketch.solve()
0
>>>
2019-02-11 19:13:55 +01:00
Abdullah Tahiri
a3b93ee0eb Part: expose geometry clone support to python
=============================================

>>> geometries = ActiveSketch.Geometry
>>> geo0 = geometries[0]
>>> geo0.Tag
'a2b6883e-64d6-4348-b567-8b5e0a4896a0'
>>> geo1 = geo0.clone()
>>> geo1.Tag
'a2b6883e-64d6-4348-b567-8b5e0a4896a0'
>>> geo1.Radius = 3
>>> geo0.Tag
'a2b6883e-64d6-4348-b567-8b5e0a4896a0'
>>> geo0.Radius
30.157883192724587
>>> geo1.Tag
'a2b6883e-64d6-4348-b567-8b5e0a4896a0'
>>> geo1.Radius
3.0
2019-02-11 19:13:35 +01:00
Abdullah Tahiri
0ceae9ead4 Part: Enable trimmed curves to set their parameter range, from c++ and Python
=============================================================================

>>> geometries = ActiveSketch.Geometry
>>> geo2 = geometries[2]
>>> geo2
ArcOfCircle (Radius : 27.5267, Position : (-70.4702, -31.8933, 0), Direction : (0, 0, 1), Parameter : (1.34187, 2.35619))
>>> geo2.setParameterRange(1,3)
>>> geometries[2]=geo2
>>> ActiveSketch.Geometry=geometries
2019-02-11 19:13:16 +01:00
Abdullah Tahiri
6dd192eb1e Part: Python Bounded Curve (bring in accordance with c++)
Inheritance correspondence:

Geometry
- GeomPoint
- GeomCurve (GeometryCurvePy)
- - GeomBoundedCurve (BoundedCurvePy)
- - - GeomBezierCurve (BezierCurvePy)
- - - GeomBSplineCurve (BSplineCurvePy)
- - - GeomTrimmedCurve (ArcPy)
- - - - GeomArcOfConic (ArcOfConicPy)
- - - - - GeomArcOfCircle (ArcOfCirclePy)
- - - - - GeomArcOfEllipse (ArcOfEllipsePy)
- - - - - GeomArcOfHyperbola (ArcOfHyperbolaPy)
- - - - - GeomArcOfParabola (ArcOfParabolaPy)
- - - - GeomLineSegment (LineSegmentPy)
- - GeomConic
- - - GeomCircle
- - - GeomEllipse
- - - GeomHyperbola
- - - GeomParabola
- - GeomLine
- - GeomOffsetCurve
2019-02-11 19:12:50 +01:00
wmayer
51b32d75b4 fix regression in German translation 2019-02-11 17:51:36 +01:00
wmayer
397902c205 split question text from warning text 2019-02-11 17:03:51 +01:00
luz.paz
604811596f Crowdin: cont... 2019-02-11 16:22:13 +01:00
luz.paz
112f3de671 Crowdin: Continuing to refine translation strings 2019-02-11 16:22:12 +01:00
wmayer
110f6f74a4 Use QString's multi-arg overload to save memory allocations. [-Wclazy-qstring-arg] 2019-02-11 16:12:50 +01:00
Mateusz Skowroński
92614e5688 Use QHash<K,T> instead of QMap<K,T> when K is a pointer. [-Wclazy-qmap-with-pointer-key] Thanks Clazy! 2019-02-11 15:39:15 +01:00
Mateusz Skowroński
fbdfe16462 Use faster form of QFileInfo(filename).exists(). [-Wclazy-qfileinfo-exists] Thanks Clazy! 2019-02-11 15:39:15 +01:00
Mateusz Skowroński
082647b2d1 Remove unused non-trivial variables. [-Wclazy-unused-non-trivial-variable] Thanks Clazy! 2019-02-11 15:39:15 +01:00
Mateusz Skowroński
317bcd59c9 Use QString's multi-arg overload to save memory allocations. [-Wclazy-qstring-arg] Thanks Clazy! 2019-02-11 15:39:14 +01:00
Bernd Hahnebach
216106e407 Material: Py3 fixes in mat card writer 2019-02-11 15:18:24 +01:00
wmayer
0c37c7f5a5 simplify creation of strings 2019-02-11 13:46:58 +01:00
wmayer
9067d6a738 simplify creation of string 2019-02-11 13:03:51 +01:00
wmayer
b1d086463d Fix theoretically possible format string vulnerability 2019-02-11 11:49:12 +01:00
Yorik van Havre
2ac0851d4c Draft: Small bugfix 2019-02-09 20:37:36 -02:00
donovaly
ae3b57be3b export Flattened SVG fixes for python 3
To be able to export as flattened SVG with the Conda build of FC one needs these fixes.
2019-02-09 20:01:44 -02:00
carlopav
1401c00d60 Update DraftTools.py
Updated first part of file from FreeCAD/FreeCAD
2019-02-09 20:00:38 -02:00
carlopav
a23a9499bc Update DraftTools.py
Refined last commit code
2019-02-09 20:00:38 -02:00
carlopav
4f7804dc10 Update DraftTools.py
Modified arc editing:
- middle editpoint control radius
- end editpoint control first and last angle;
2019-02-09 20:00:38 -02:00
carlopav
e3ab6a1e1b Update DraftTools.py
Update Edit tool to edit wall base objects.
2019-02-09 20:00:38 -02:00
furti
27a467a44b Fix missing DWG imports in ArchSectionPlane.getSVG
When a DWG file is imported into FreeCAD it gets imported as a Part
object with a compound shape. One would imagine, that such an object
should be rendered like a symbol inside a TechDraw View. But when the
imported shape is inside a SectionPlane that also contains solids, the
shape is not included in the SVG.

The problem is, that getCutShapes only uses solid shapes, when a volume
was cut before. But the imported DWG is a flat 2D object and has no solids
inside.

To fix it, the getSVG method will check if an object looks like a draft
object, meaning:
 - It has a shape
 - It has no solids
 - It has no volume

When it finds such a shape, it will treat it like a draft object. So
it is displayed like a symbol in the resulting SVG.

https://forum.freecadweb.org/viewtopic.php?f=3&t=34079
2019-02-09 19:53:54 -02:00
Yorik van Havre
7ee0e4d439 Updated master translation files 2019-02-08 19:16:21 -02:00
Yorik van Havre
4a5cf9c52f Tools: Updated translation scripts to handle only the master (untranslated) ts files 2019-02-08 19:15:56 -02:00
Yorik van Havre
f14633d182 Added untranslated 'master' .ts files where missing 2019-02-08 18:50:13 -02:00
Yorik van Havre
b2619e7eb7 Tools: Discard obsolete strings in translation files 2019-02-08 18:32:10 -02:00
GeneGH
09da55e90f Repair pythonopen in line 126 for Python3
Python 3 is fussy about match of data type for a file open or write. Python 2 does not seem to care if a string is written with a 'wb' indicating a binary type, but Python 3 flags it as an error.
2019-02-08 11:06:05 -02:00
furti
cce889b21c Fix missing door symbols in getSVG
The ArchSectionPlane has a built in SVG Cache. But the door symbols and
a few other things are not inside the cache. This things not inside the
cache rely on the presence of a cutface. But this cutface was only built
when the cache is not available.

So the First invocation after the cache was cleared added the symbols.
The next invocations of the method, with a cached SVG did not calculate
the symbols again, because the cutfaces where missing.

This commit fixes it by calculating the cutfaces independent from the
cache.

Reported in https://forum.freecadweb.org/viewtopic.php?f=3&t=33987
2019-02-08 11:05:17 -02:00
luz.paz
d040a656b4 Typos cont. + whitespace 2019-02-08 11:01:24 -02:00
luz.paz
4cfda0c3a5 Misc. typos
Found via `codespell`
2019-02-08 11:01:24 -02:00
Dion Moult
140d085517 Move hardcoded tab shortcut for cycling elsewhere in prep for refactor 2019-02-08 10:59:26 -02:00
Dion Moult
334a2a31d0 Allow tabbing to cycle through objects to snap
To do this, the object snapping code has been refactored into a snapToObject function. This allows it to be called on different objects easily. A new base class which handles the tab event has been added.
2019-02-08 10:59:26 -02:00
Yorik van Havre
18b5f238ae Arch: Fixed py3/encoding bug 2019-02-07 21:05:09 -02:00
paullee
f431226bb8 Fix Right Align Railing Offset Bug 2019-02-06 10:13:37 -02:00
rokuster
59f39e2a33 file uri instead of relative path for images
Windows conda build needs a file uri to the image. This fix needs also changes in StartPage.py
2019-02-06 10:13:11 -02:00
rokuster
ddc27357f5 Fix Images Display Issues
- Replace relative Add-On Image Path with full file uri in StartPage.js file
- Fix a missing absolute file path
- Fix a duplicated data folder entry in the Resourcepath
2019-02-06 10:13:11 -02:00
Bernd Hahnebach
c0e8a4f310 FEM: mechanical result object, add comment in regard of read only 2019-02-06 10:10:46 -02:00
Bernd Hahnebach
38675fb0f5 FEM: result tools, small code improvements 2019-02-06 10:10:46 -02:00
Bernd Hahnebach
8c1c221f25 Data: update FEM 3D example 2019-02-06 10:10:46 -02:00
Bernd Hahnebach
d8d185fe19 Data: update FEM 2D example 2019-02-06 10:10:46 -02:00
Bernd Hahnebach
62264e69f1 FEM: import tools, code improvements 2019-02-06 10:10:46 -02:00
Bernd Hahnebach
2c0ed3c041 FEM: import tools, some comments 2019-02-06 10:10:46 -02:00
Yorik van Havre
50895db6c1 Arch: Small bugfix in spaces 2019-02-04 22:35:16 -02:00
Markus Lampert
07910613dd Restrict removal of g0 to clearance height to the engraving of the last base model. 2019-02-04 22:21:28 -02:00