Commit Graph

59 Commits

Author SHA1 Message Date
Uwe
4dced53a00 [Part] Pa* to Pre*: remove unneeded includes
- also sort includes
2022-07-03 20:47:03 +02:00
Zheng, Lei
eb79bb0a51 Part: fix ruled surface transformation problem 2022-05-27 03:52:17 +02:00
mwganson
4f300abf32 Part: Link support -- replace TopoShape.getSubShape() with Part::Feature::getTopoShape(obj, elementname, true).getShape() in order to support use of App::Link sublinks. 2022-05-27 03:52:17 +02:00
mwganson
00f6f2db17 Part: ruled surface, address issue with link support where link was transformed 2022-04-16 02:57:07 +02:00
mwganson
7f7e33edc3 Part: reversed -- fix so it works with App::Links and App::Parts 2022-04-16 02:55:29 +02:00
mwganson
929c89f700 Part:Improve support for Links 2022-04-08 17:42:42 +02:00
Chris Hennes
2ecc125497 Part: PR6497 move return statement to new line 2022-03-29 12:37:00 -05:00
wmayer
6d2d45ceb7 Part: modernize C++11
* use nullptr
2022-03-23 19:26:14 +01:00
jack9603301
9a36d01fcc [Part] Fix null pointer error in sweep operation
When the spine line of the sweep operation of the part workbench depends
on the Sketcher document, if the dependent spine line drawn by this document
is deleted afterwards, the path variable will get a null pointer.
Due to programming errors, the standard judgment of this pointer is ignored, resulting in a crash.
Call IsNull() of the OCC document to determine the legitimacy of the shape.
If it is empty, an error is reported.

Fixes #0004764
2021-10-14 03:54:44 +08:00
wmayer
a7f9c2f1b9 OCCT: port FreeCAD sources to version 7.6
SMESH is not yet ported
Although FreeCAD code compiles with OCCT 7.6 it doesn't work at the moment
2021-10-09 13:49:02 +02:00
wmayer
fa86b0216e Mod: make sure to call the base class' handleChangedPropertyType 2021-09-15 14:07:32 +02:00
wmayer
4fc5655657 Part: [skip ci] fix regression in ruled surface feature by applying placement of source object twice
See: https://forum.freecadweb.org/viewtopic.php?p=411934
2020-06-27 23:17:32 +02:00
wmayer
b6ccc9d7ac fixes #0004316: PartWB, "Reverse shapes" command reset position [skip ci] 2020-05-15 19:25:43 +02:00
wmayer
e9662984e7 Part: make reverse function parametric 2020-01-29 16:43:35 +01:00
Zheng, Lei
f028ba42ff Part: changes to Part Module
* Added Part::Feature::getTopoShape/getShape() function that can obtain
  shape from any object with proper implementation of getSubObject(). It
  can even construct compound from group object with proper implementation
  of getSubObjects().

* Modified ViewProviderExt to work on any object, because it now obtain
  the shape using Part::Feature::getShape()

* Modified various Part features to obtain base/tool shapes using
  Part::getShape(), which allows them to be any type of object,
  including Link and groups.

* Modified various Part command to relax type requirement on selected
  objects.

* Add support of link and group to dimension, and add dimension refresh
  command

* Support link and group in simple command command, and add a few more
  copy command variations.

* Add special handling of 'Shape' attribute in PropertyContainerPy and
  use Part::Feature::getShape() to return shape for any object without
  Shape property. This allows many python feature work with any object
  without modification.

* GeometrySurface/CurvePy, add convenience attribute 'Rotation'

* TopoShapePy:

    * Extended support of sub shape attribute, e.g. Compound1, Solid2,
      SubShape3 ('SubShape' is used to access child shape of a compound)

    * makeWires(), new API to sort and return wires given a list of edges.

    * transformed/translated/rotated/scaled(), return a new shape with
      some transformation.

    * findPlane(), find the plane of a planar shape

    * isCoplanar(), check if two shape are coplanar
2019-08-17 15:08:35 +02:00
wmayer
1b0d03e4ab Parametric refinement feature 2019-07-08 14:37:00 +02:00
wmayer
91f8ccf7c8 fixes 0003846: unexpected result in building RuledSurface 2019-02-19 15:53:39 +01:00
wmayer
498040e9ee Part sweep now accepts compounds of edges that build a wire 2018-08-26 17:02:01 +02:00
wmayer
908e680a3e Part loft now accepts compounds of edges that build a wire 2018-08-26 16:49:48 +02:00
wmayer
eb87a20f8b use constraint to limit minimum and maximum degree 2017-09-18 12:07:00 +02:00
tomate44
f335d1f10d add MaxDegree setting to Part.Loft 2017-09-18 12:07:00 +02:00
wmayer
9a682a9c53 make ruled surface working when both curves references the same part and a placement is set 2017-09-09 15:59:38 +02:00
wmayer
86c31dbcb3 extend ruled surface feature to combine edge with wire as input shapes 2017-09-09 14:20:07 +02:00
wmayer
0d617f97d6 Port to occ7.2:
+ Standard_Failure::Caught() is now marked as deprecated and should be replaced with standard C++ exception handling
2017-09-01 16:27:46 +02:00
Eivind Kvedalen
60b90ec8a3 Part::Thickness: This fixes issue #2876 by changing property type for value to include a unit. 2017-07-23 22:14:05 +02:00
Peter Lama
fa4bebf2e0 Use OCCT Handle macro for Handle_ classes
This is the result of running OCCT's upgrade script provided
with OCCT 7.0. See
https://www.opencascade.com/content/freecad-occt710-and-windows-rtti-data-missing#comment-form
and
https://www.forum.freecadweb.org/viewtopic.php?f=4&t=21405&start=120#p169019
for why this is necessary for OCCT >= 7.1
2017-04-20 12:27:34 +02:00
DeepSOIC
53e7a15df1 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
wmayer
4c9b486954 fix crash when saving a document after aborting a pending transaction 2016-08-31 17:58:55 +02:00
Wolfgang E. Sanyer
d1d2f1f811 This commit adds getShape and setShape to TopoShape 2016-08-06 23:42:55 +02:00
wmayer
01c4212502 + revert regression in commit 92bf46cc affecting Part Thickness tool 2016-06-01 09:13:16 +02:00
wmayer
cb73d010bb + port to OCC 7.0 2016-05-14 16:53:27 +02:00
Stefan Tröger
6301fce72c add part design thickness 2016-04-12 18:12:08 +02:00
Sebastian Hoogen
716087ee46 fixes #0001684: Sweep ignores the list of subshapes 2014-08-15 14:35:59 +02:00
wmayer
5665d3d17c + allow to select whole wire in sweep panel 2014-05-24 15:33:23 +02:00
wmayer
a95408780b + fixes #0001547: add Part Spiral to the selectable list of profiles for a Part Loft 2014-05-15 12:37:39 +02:00
WandererFan
113e6026e4 Add function to Close Part.Loft (Gui & scripting) 2014-04-14 16:30:56 +02:00
Yorik van Havre
70bc2446a1 Updated forum links to the new subdomain 2013-11-11 11:42:34 -02:00
Yorik van Havre
4c500237db Updated links to the new forum 2013-11-06 19:32:45 -02:00
wmayer
e2a61150da 0000768: Part Sweep and Loft limitations and bugs 2013-10-13 11:07:40 +02:00
wmayer
8145b952f2 Add catch block 2013-08-10 16:55:27 +02:00
wmayer
c7570d4dbb Improve ruled surface feature 2013-05-25 16:58:20 +02:00
jmaustpc
a5817a7e61 RuledSurface fixes, Switch Part_Mirror to SVG icon
RuledSurface fixes,
  claim children
  correct tool tip
  change default name from "Filled_shape" to "Ruled Surface"

Part_Mirror
  Switched icon in the tool bar, menu, and tree from
  the existing PNG icon to the also existing SVG icon
2013-03-25 11:25:12 -03:00
jmaustpc
ad0bedcd56 Allow faces to be profiles for a sweep & minor fix loft
Allow faces to be used as the profiles for a Part_Sweep
some minor fixes for Part_Loft
2013-03-16 12:02:27 -03:00
jmaustpc
ea5f621dde Part_Loft add ability to use a Facefor a profile
Part Loft internally uses either a vertices and/or wires as profiles.
If an edge is selected always was converted into a wire for MakeLoft.
This commit allows a face to be selected and then uses
ShapeAnalysis::OuterWire
to aquire a wire (from the outer edges of the face) to pass to MakeLoft.
2013-03-16 12:02:27 -03:00
wmayer
00cc5af5d8 Fix for sweep if selected trajectory is broken 2013-02-19 15:17:24 +01:00
wmayer
f3efe8493d Check for compound with single solid for thickness tool 2012-11-27 11:18:25 +01:00
wmayer
9c61558ffc Add thickness function 2012-11-26 21:10:09 +01:00
wmayer
b38b4b7159 Offset function 2012-11-25 15:56:46 +01:00
wmayer
20b4ea52ba Workaround for weird sweeping problem, allow to select several edges as path 2012-06-11 13:22:11 +02:00
wmayer
cc4885620e Add icons for loft and sweep 2012-06-10 10:18:54 +02:00