Commit Graph

51 Commits

Author SHA1 Message Date
jack9603301
67df930184 [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
74639da997 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
4327cd5ccb Mod: make sure to call the base class' handleChangedPropertyType 2021-09-15 14:07:32 +02:00
wmayer
478823b909 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
34ebb0ecc4 fixes #0004316: PartWB, "Reverse shapes" command reset position [skip ci] 2020-05-15 19:25:43 +02:00
wmayer
4142fb90f1 Part: make reverse function parametric 2020-01-29 16:43:35 +01:00
Zheng, Lei
6da72b9859 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
787f5184e8 Parametric refinement feature 2019-07-08 14:37:00 +02:00
wmayer
997d1d7d51 fixes 0003846: unexpected result in building RuledSurface 2019-02-19 15:53:39 +01:00
wmayer
561be08211 Part sweep now accepts compounds of edges that build a wire 2018-08-26 17:02:01 +02:00
wmayer
b2cefc460d Part loft now accepts compounds of edges that build a wire 2018-08-26 16:49:48 +02:00
wmayer
a07226cea1 use constraint to limit minimum and maximum degree 2017-09-18 12:07:00 +02:00
tomate44
f8585e71c1 add MaxDegree setting to Part.Loft 2017-09-18 12:07:00 +02:00
wmayer
03b63d3a40 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
af82cacf8c extend ruled surface feature to combine edge with wire as input shapes 2017-09-09 14:20:07 +02:00
wmayer
949c86d364 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
054a3da107 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
a75a98ef27 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
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
wmayer
6e284fc9ea fix crash when saving a document after aborting a pending transaction 2016-08-31 17:58:55 +02:00
Wolfgang E. Sanyer
7f4a437cc2 This commit adds getShape and setShape to TopoShape 2016-08-06 23:42:55 +02:00
wmayer
d3b69112de + revert regression in commit c3f35d9f affecting Part Thickness tool 2016-06-01 09:13:16 +02:00
wmayer
bca7a1866e + port to OCC 7.0 2016-05-14 16:53:27 +02:00
Stefan Tröger
c3f35d9f05 add part design thickness 2016-04-12 18:12:08 +02:00
Sebastian Hoogen
4ba56b5c29 fixes #0001684: Sweep ignores the list of subshapes 2014-08-15 14:35:59 +02:00
wmayer
51b2af52fd + allow to select whole wire in sweep panel 2014-05-24 15:33:23 +02:00
wmayer
318c4b6ce9 + fixes #0001547: add Part Spiral to the selectable list of profiles for a Part Loft 2014-05-15 12:37:39 +02:00
WandererFan
d13946da11 Add function to Close Part.Loft (Gui & scripting) 2014-04-14 16:30:56 +02:00
Yorik van Havre
782cae1d22 Updated forum links to the new subdomain 2013-11-11 11:42:34 -02:00
Yorik van Havre
355942355f Updated links to the new forum 2013-11-06 19:32:45 -02:00
wmayer
5a96582a48 0000768: Part Sweep and Loft limitations and bugs 2013-10-13 11:07:40 +02:00
wmayer
4376491e38 Add catch block 2013-08-10 16:55:27 +02:00
wmayer
d07fc16268 Improve ruled surface feature 2013-05-25 16:58:20 +02:00
jmaustpc
0ccbcffbf5 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
a3ef789f5a 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
0a7a9d9cf2 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
00b4c9e192 Fix for sweep if selected trajectory is broken 2013-02-19 15:17:24 +01:00
wmayer
a1bf6277f1 Check for compound with single solid for thickness tool 2012-11-27 11:18:25 +01:00
wmayer
72bba68c2b Add thickness function 2012-11-26 21:10:09 +01:00
wmayer
3a0067d19a Offset function 2012-11-25 15:56:46 +01:00
wmayer
5d7061a5b0 Workaround for weird sweeping problem, allow to select several edges as path 2012-06-11 13:22:11 +02:00
wmayer
f2c63b90ab Add icons for loft and sweep 2012-06-10 10:18:54 +02:00
wmayer
2a7e6f3e96 0000144: Add several tools to Part module 2012-06-09 15:55:11 +02:00
wmayer
245cae03ef 0000144: Add several tools to Part module 2012-06-09 13:50:33 +02:00
wmayer
44a6a8fd1a Part WB Loft tool extension 2012-04-26 13:27:05 +02:00
wmayer
39f18cfe69 Fix broken RuledSurface feature 2012-04-13 17:50:28 +02:00
wmayer
c11cf35f2a 0000649: Creating a ruled surface fails 2012-04-12 19:11:09 +02:00
wmayer
9ea269be1c 0000649: Creating a ruled surface fails 2012-04-12 19:06:38 +02:00
wmayer
b9770c2eda 0000649: Creating a ruled surface fails 2012-04-10 19:56:12 +02:00
wmayer
972e4ad3dd + use vertex instead of edge in loft function
git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5416 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d
2012-01-18 14:59:34 +00:00