Commit Graph

17 Commits

Author SHA1 Message Date
balazs-bamer
bb6620aa85 Fix: edges of a solid can be used as surface input
Edges of a solid can be used as surface input. The real subName is
passed instead of the constant 'Edge1'
2017-04-17 16:20:44 +02:00
balazs-bamer
dd6775e0f2 Curve validation is done in a common ancestor of App and GUI
Curve validation is done in a common ancestor class of Surface::BSurf
and SurfaceGui::CmdSurfaceBSurf
2017-04-17 16:20:44 +02:00
balazs-bamer
e47e22e395 Check for null shape before calling ShapeType
Check for null shape before calling ShapeType
2017-04-17 16:20:44 +02:00
balazs-bamer
073749e931 Unhide surface props and set the filltype to read-only in data tab
I made the surface property (FillType and boundary) default again.
Status bit 2 is set on fill type to hide it in data tab.
2017-04-17 16:20:44 +02:00
balazs-bamer
ef27ba2c8a allow wires as surface input
Now an arbitrary mixture of edges and wires can be used as input.
However, the total count of edges together with the wire members
can only be 2, 3 or 4.

For some reason, wires do not work in Python script:
test1.BoundaryList = [(Draft.upgrade([bs1a, bs2a]), 'Wire1')]
yields an empty BoundaryList
2017-04-17 16:20:44 +02:00
balazs-bamer
85c3aa10c1 Surface properties are hidden
Surface properties are now hidden. Read-only made creation
2017-04-17 16:20:44 +02:00
balazs-bamer
972e024174 PropertyEnumerator for fill type
Fill type is now of type PropertyEnumerator, allowing enumerated names
in the Data tab. However, it has 2 problems:
1. Invalid shows up
2. The user has the illusion to see the result after changing the value.
However, the result gets updated only
2017-04-17 16:20:44 +02:00
balazs-bamer
3d70ef9ab7 Corrected feature property names
aBList -> BoundaryList
filltype -> FillType
2017-04-17 16:20:44 +02:00
balazs-bamer
f47dbb54da Cancelling the just created surface deletes it
Now if the user creates a surface, the cancel in the widget deletes it.
If an already existing one is opened for editing, cancel rejects the
user change in fill type, but the surface remains.
2017-04-17 16:20:44 +02:00
blobfish
ab37648977 header clean up 2017-04-17 16:20:44 +02:00
blobfish
7ae5dbde01 createFace function signature 2017-04-17 16:20:44 +02:00
blobfish
9a11431b73 class hierarchy and macros 2017-04-17 16:20:44 +02:00
balazs-bamer
7b090bcc5e Bezier and B spline cleanup, fixed B spline error
I have made further cleanup in Bezier and B spline surface code, and
corrected the bug in face creation for B splines (Nate has also written
that that was incomplete).
2017-04-17 16:20:44 +02:00
balazs-bamer
1037cce62f B-spline surface operation enabled
I have converted Nate's b-spline generation to use my superclass
FeatureBSurf and added it to the GUI. Other half-ready operations as
filling and cut are commented out.

Missing:
- the fill type must be queried from the user. The data panel lets it
modify, but it is not user-friendly.
- b-spline surface is generated, but it covers only a fraction of the
supporting curves. It may lie on OCC error.
2017-04-17 16:20:44 +02:00
balazs-bamer
f85011c869 Bezier surface: check selected objects
As the GUI selection changes, the Bezier surface tool avaibility is
always updated, so it is active if and only if 2-4 Bezier curves are
selected.
2017-04-17 16:20:44 +02:00
balazs-bamer
fbef2d7ced cleanup: fill type into superclass
Fill type translation gets into superclass BSurf
2017-04-17 16:20:44 +02:00
balazs-bamer
8b7a661cf6 Refactor and cleanup: FeatureBezSurf
Refactored and cleaned up code for FeatureBezSurf and created a new
common ancestor class for this and FeatureBSplineSurf.
2017-04-17 16:20:44 +02:00