Commit Graph

1978 Commits

Author SHA1 Message Date
tomate44
b21f5d5916 Part: add BezierCurve constrained interpolation 2020-11-15 13:20:41 +01:00
wmayer
bb7e64786a Part: [skip ci] include generated ui files from within source file 2020-11-15 13:17:52 +01:00
donovaly
9f6c14998d [Part] show location dialog when creating a Primitive
- there is no reason to hide it and even a bit tiring to open it manually since most no new primitives should be at the origin
- give the combobox to select the primitive type a reasonable name, this helps to understand the code better
2020-11-15 12:56:16 +01:00
wmayer
a48dd3aa2c Part: [skip ci] rearrange line page to save some vertical space 2020-11-13 15:35:07 +01:00
donovaly
f8ac3ea14a [Part] remove unnecessary vertical whitespace in dialogs
on smaller screens it is very annoying that the Part dialogs have too much vertical whitespace.

This PR gets rid of some unnecessary whitespace.
2020-11-13 13:52:31 +01:00
donovaly
922815df57 [Part] improve tube dialog
- remove vertical whitespace
2020-11-13 12:37:57 +01:00
wmayer
64288425a2 Part: [skip ci] show dialog directly when creating a tube feature 2020-11-13 12:33:59 +01:00
wmayer
812125931e Part: [skip ci] implement editor dialog for tube feature 2020-11-12 16:45:38 +01:00
wmayer
ba3106af06 Part: [skip ci] make sure to open a transaction when starting edit mode of primitives via context-menu 2020-11-12 16:35:58 +01:00
wmayer
cdc8b3c777 Part: [skip ci] split classes of Shapes.py file into files for feature, view provider and command classes 2020-11-12 12:17:47 +01:00
wmayer
b7f9e351c5 Win: [skip ci] check if NOMINMAX is already defined before setting it 2020-11-11 13:34:42 +01:00
wmayer
f9420c9877 Part: [skip ci] simplifications in primitives location dialog
- do not use a QSignalMapper if the slot doesn't take care of the emitting widget
- to set the placement only check for the base class GeoFeature, i.e. no need to step through all primitive types
- fix compiler warning of unused variable
2020-11-10 20:20:33 +01:00
donovaly
f0af88ecae [Part] add preview for changes to primitives location
- unset keyboardTracking for the dialog edits
- don't hide the location dialog on creation
2020-11-10 20:03:08 +01:00
Yorik van Havre
e76c857036 Merged crowdin translations 2020-11-10 14:58:06 +01:00
wmayer
6b9178e0b3 Part: [skip ci] correctly show control points of a B-spline/Bezier curve/surface if a placement is set 2020-11-09 13:14:31 +01:00
wmayer
58be246baf Part: [skip ci] fix type of Rotations property of Spiral primitive 2020-11-09 09:31:16 +01:00
wmayer
7251a90f6a Part: [skip ci] implement live preview for primitives 2020-11-08 15:40:59 +01:00
wmayer
70be25752d Part: override extensionSetupContextMenu in ViewProviderSplineExtension 2020-11-08 13:37:17 +01:00
wmayer
4025405ce5 Part: make view provider for helix and spiral inherit from primitive and use spline extension 2020-11-08 12:19:57 +01:00
wmayer
98d7a0400e Part: [skip ci] implement extension ViewProviderSplineExtension 2020-11-08 12:18:44 +01:00
wmayer
035803e47d Part: [skip ci] properly handle transactions when editing primitives 2020-11-08 10:43:04 +01:00
wmayer
dabf65cc72 Part: [skip ci] implement live preview for box and cylinder 2020-11-08 10:26:07 +01:00
donovaly
0b9c425678 [part] remove a now misleading comment
I added this comment when I read the dialog state fro the index of the type combobox, now we read the primitive's TypeID so the comment is misleading
2020-11-08 06:43:16 +01:00
wmayer
f8bd2c81c3 Part: [skip ci] add missing export macro 2020-11-07 10:17:34 +01:00
wmayer
f23187cd0e Part: allow to edit primitives via dialog 2020-11-06 23:12:40 +01:00
wmayer
80626d3a1f [Part] allow to edit helices via a dialog
+ add class ViewProviderPrimitive to avoid to re-implement setEdit/unsetEdit methods for each sub-class separately
+ avoid using global variables
+ when editing a feature directly pass it to the dialogs
+ when editing a feature then do not use active document as this could point to the wrong object
+ fix undo/redo message
+ re-add '3D View' button to location dialog
2020-11-06 19:59:14 +01:00
wmayer
5170a1564e Part: [skip ci] fix build failure due to missing class declarations 2020-11-06 13:46:38 +01:00
donovaly
6d83162783 [Part] allow to edit helices via a dialog
fixes https://tracker.freecadweb.org/view.php?id=3857

Currently primitives of the Part WB can only be created suing a dialog. Editing is not possible that way.

This PR makes the first step in achieving this:

- Helices can now be edited using the same dialog ans when created

- New location dialog. The Gui::LocationWidget used there is not aware of the rotation angle and it treats the rotation axis as direction. To fix this, I set changed the dialog so that one can define every parameter as in the PartDesign attacher dialog (Placement, rotation axis and rotation angle separately). Another reason for this change was that one could not use the location dialog, fill it with the placement properties of the object, and close the dialog without any change. Because of the missing angle info the objects was then always rotated despite nothing was changed.

If this PR goes in, I will extend it for the other primitives.

Todo for the future: allow a preview of the changes made in the dialog. (I could not find out how this is done.)
2020-11-06 13:27:03 +01:00
wmayer
f4aceec54b Part: [skip ci] make arguments const references 2020-11-03 13:12:23 +01:00
Abdullah Tahiri
5b415f6d74 Part: Geometry extensions constness correction 2020-11-03 12:01:22 +01:00
Abdullah Tahiri
33b4d00872 Part: Geometry - refactor py functions into class for code reuse 2020-11-03 12:01:22 +01:00
wmayer
462efdab37 Part: [skip ci] After removing a knot check if the B-spline is still valid 2020-10-30 13:55:31 +01:00
wmayer
53441613cc Part: [skip ci] handle OCCT exception in GeomBSplineCurve::copy() 2020-10-30 10:54:25 +01:00
Yorik van Havre
7c9e0f3a99 Merged crowdin translations 2020-10-28 12:04:37 +01:00
Yorik van Havre
5eafaa37fd Updated ts files 2020-10-28 10:46:51 +01:00
Abdullah Tahiri
1f46b72491 Part: Geometry - encapsulate construction access 2020-10-25 03:52:51 +01:00
wmayer
c5d5d69c91 Part: [skip ci] add method to approximate a B-spline curve with a given max. degree 2020-10-23 00:06:31 +02:00
vocx-fc
8b983e6361 Part: update the Part_Thickness icon
This is the same as the `PartDesign_Thickness` but without
the red highlights in order to match the rest of the Part icons.
2020-10-22 15:12:59 +02:00
vocx-fc
15408b2132 Part: rename the basic Part 2D and 3D icons
The basic icons for the basic features are renamed,
`Tree_Part` to `Part_3D_object`, `Tree_Part2D` to `Part_2D_object`.
2020-10-22 15:11:45 +02:00
wmayer
9d36253539 Part: [skip ci] use the correct icon for helix and sprial view providers 2020-10-22 12:43:39 +02:00
luz paz
33caa1ec30 Fix various typos
Found via `codespell v2.0.dev`  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-10-21 16:20:08 +02:00
Priit Laes
cf5ab312bb Part: Enable test for issue 4456
Now that issue 4456 is fixed, we don't need to skip this test anymore.
2020-10-18 16:26:18 +02:00
wmayer
8ffbabb605 Py3: suppress warnings about un-initialized/deprecated tp_print slot 2020-10-18 14:45:31 +02:00
wmayer
4e68025d9d Part: remove deprecated type LinePyOld 2020-10-18 14:45:31 +02:00
wmayer
ce87f586ee fixes #0004456: Regression : Part.Plane.Intersect do not accept plane as argument [skip ci] 2020-10-17 10:12:01 +02:00
wmayer
9881fff3ad Part: [skip ci] replace some old C-style casts with static_cast 2020-10-17 10:10:44 +02:00
Priit Laes
bbbf7aad16 Part: Add regression test for issue #4456 (skipped for now) 2020-10-17 09:37:59 +02:00
wmayer
1062b6ee0f Part: [skip ci] allow to create empty shapes of each type 2020-10-16 17:08:49 +02:00
wmayer
9fcf2c21cf Part: [skip ci] fix bugs in MakePrismPy 2020-10-16 16:00:36 +02:00
wmayer
e1b56f8551 Part: expose BRepFeat_MakePrism to Python 2020-10-16 13:50:29 +02:00