Commit Graph

83 Commits

Author SHA1 Message Date
wmayer
e1b56f8551 Part: expose BRepFeat_MakePrism to Python 2020-10-16 13:50:29 +02:00
wmayer
9c20ce05ed Part: [skip ci] expose ShapeUpgrade_UnifySameDomain to Python 2020-10-05 16:57:16 +02:00
wmayer
312a4652f6 Part: [skip ci] expose BRepOffsetAPI_MakeFilling to Python 2020-09-30 01:19:30 +02:00
wmayer
00e0e7745c Part: expose GeomPlate algorithm to Python 2020-09-28 18:46:35 +02:00
wmayer
27b6066beb clang/gcc/cmake: move handling of suppressed deprecated-copy warnings from source file to CMake file to more easily support gcc 10 2020-06-09 15:30:42 +02:00
Abdullah Tahiri
a43c29ccd4 Part: Default geometry extensions for boolean and double 2019-07-14 12:37:35 +02:00
Abdullah Tahiri
fb5e8b4df7 Part: GeometryDefaultExtensions template
========================================

Generalisation of code for a default geometry extension in the form of a template.

Default geometry extensions provide a standard interface for an extension having a single stored value (e.g. one int or one string).

Python implementation must be provided separatedly.
2019-07-14 12:37:31 +02:00
Abdullah Tahiri
b5f5d1c32f Part: GeometryStringExtension to extend a geometry by a string 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
7828c34ffe Part: Standard geometry extension adding an integer value 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
1e2c627f26 Part: Excise GeometryExtension from Geometry 2019-07-14 12:37:30 +02:00
Abdullah Tahiri
ef30cc2527 Part: Geometry Python interface to get/set an extension 2019-07-14 12:37:29 +02:00
wmayer
0ed5b77917 activate pCH on Part module 2019-04-28 15:33:25 +02: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
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
dbc09e3a23 fixes 0003020: 2D offset of circle are not in the right place 2019-01-26 22:52:40 +01:00
wmayer
73e27458da CMP0050: make Part module aware of cmake policy 2018-08-20 16:54:23 +02:00
wmayer
3c91e14fcd add typedef Py::TopoShape for convenience, move shape2pyshape to own file 2017-09-28 12:54:28 +02:00
Bernd Hahnebach
54bbd79b03 Part: compound filter, GUI command 2017-02-18 15:57:54 +01:00
Bernd Hahnebach
8369d68c8f Part: compound filter, core module 2017-02-18 15:57:54 +01:00
wmayer
0afd327f2a remove superfluous Qt includes 2016-12-13 14:33:16 +01:00
Stefan Tröger
d0d4d6bc07 Port Attacher codde to the extension framework
AttachableObjects are desired in multiple occasions, and the current AttachableObject is not flexible enough to handle all cases. Hence the code is portet to an extension, which gives the needed flexibility.
2016-12-07 06:41:40 +01:00
wmayer
932eab40fc add class GeomArcOfConic to reduce code duplication 2016-12-04 14:20:56 +01:00
wmayer
adf3cc0f95 add class GeomConic to reduce code duplication 2016-12-04 11:36:50 +01:00
wmayer
e96370f820 add class LineSegment 2016-11-30 16:26:21 +01:00
wmayer
1348fe6bc1 implement Line2d 2016-11-26 15:30:00 +01:00
wmayer
cdf45248dc fix build failure on Linux 2016-11-23 19:27:41 +01:00
wmayer
9c720dde7b use cmake's OBJECTS library option 2016-11-23 15:04:58 +01:00
wmayer
03ab1a4a4d fix build problems on Linux/OSX 2016-11-22 16:16:48 +01:00
wmayer
9bdad96a69 add Python wrappers for Geom2d classes 2016-11-22 14:09:19 +01:00
wmayer
689d2e42a9 wrapper for Geom2d package 2016-11-21 18:17:10 +01:00
wmayer
9ff8260608 + remove GeomHermiteCurve class and add its methods to GeomBSplineCurve 2016-10-29 15:08:17 +02:00
wmayer
18a5ff83b1 add support of Hermite curves 2016-10-26 10:28:23 +02:00
DeepSOIC
02286a21d1 Part: implement facemakers: FaceMakerCheese, FaceMakerBullseye
FaceMakerCheese: based on code extracted from Part FeatureExtrude,
exactly the same as facemaking code in PartDesign.

FaceMakerBullseye: new facemaker, that supports nesting like hole inside
a face inside a hole of another face...
2016-10-01 23:13:44 +03:00
DeepSOIC
b6db15a5d3 Part: Introduce FaceMaker class
A general class to implement smart making faces from wires (e.g. making
a face from sketch prior to extruding)
2016-10-01 23:13:44 +03:00
DeepSOIC
1f6174e3f2 Part: Offset feature: split off into separate file
withdrew code from PartFeatures.h/.cpp and created FeatureOffset.h/.cpp
2016-09-02 16:26:02 +02:00
DeepSOIC
87b7c86197 Part: add BOPTools package
Containing implementation of new JoinConnect, as well as new splitting
tools: BooleanFragments, Slice and XOR.
2016-07-29 14:16:54 +03:00
DeepSOIC
32f5466df4 Part: AttachmentEditor: withdraw code to use Show module 2016-06-20 01:19:02 +03:00
DeepSOIC
7f5197695d Attacher: add general purpose editor UI (python)
Added as PartGui.AttachmentEditor, and Part_EditAttachment gui command
2016-05-18 23:05:51 +02:00
DeepSOIC
7000d551b7 Attacher: Py: create AttachEnginePy
Not very useful at the moment, just created the interface.
2016-05-13 19:54:44 +03:00
DeepSOIC
fe295b701b Attacher: Py: introduce Py interface of AttachableObject
Small - just the introduction.
Support for Py features based on AttachableObject.
Redirect Part2DObjectPython's father to be AttachableObjectPython.
2016-05-13 19:54:44 +03:00
DeepSOIC
42ecc24ec5 Sketcher: new attachment engine 2016-04-12 18:12:12 +02:00
jrheinlaender
6915d8b734 Miscellaneous fixes 2016-04-12 18:11:50 +02:00
jrheinlaender
5b3d5e6bd8 Moved generic Datum class to Part module to avoid Sketcher dependency on PartDesign 2016-04-12 18:11:49 +02:00
jriegel
b825571562 implement active body in PartDesign 2016-04-12 18:11:45 +02:00
jriegel
6700512efe Add some commands to assembly 2016-04-12 18:11:44 +02:00
wmayer
13e2b24ddf + add Python binding to Plate surface 2015-11-19 15:27:35 +01:00
wmayer
6944658bd4 + Add parametric feature to create face from sketches 2015-11-12 19:44:24 +01:00
wmayer
7d98705396 + harmonize XercesC cmake variables with official check 2015-07-28 14:17:49 +02:00
wmayer
d95003e92c + replace deprecated PYTHON_INCLUDE_PATH 2015-07-25 18:29:42 +02:00
DeepSOIC
37fbcb64a6 Part: new tools - JoinFeatures (Connect, Embed and Cutout)
Attributions:
Mark (quick61) - icons
Yorik - help with internationalization
Everyone who appeared in forum thread "A new Part tool is being born...
JoinFeatures!" - for endorsement!
http://forum.freecadweb.org/viewtopic.php?f=22&t=11112
2015-06-04 09:47:59 +02:00