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
This commit is contained in:
balazs-bamer
2015-02-07 18:58:25 +01:00
committed by wmayer
parent 4e2eede777
commit ef27ba2c8a
5 changed files with 114 additions and 68 deletions

View File

@@ -89,10 +89,9 @@ App::DocumentObjectExecReturn *BezSurf::execute(void)
GeomFill_FillingStyle fstyle = getFillingStyle();
GeomFill_BezierCurves aSurfBuilder; //Create Surface Builder
int ncrv = BoundaryList.getSize();
if(ncrv==2) {aSurfBuilder.Init(crvs[0], crvs[1], fstyle);}
else if(ncrv==3) {aSurfBuilder.Init(crvs[0], crvs[1], crvs[2], fstyle);}
else if(ncrv==4) {aSurfBuilder.Init(crvs[0], crvs[1], crvs[2], crvs[3], fstyle);}
if(edgeCount==2) {aSurfBuilder.Init(crvs[0], crvs[1], fstyle);}
else if(edgeCount==3) {aSurfBuilder.Init(crvs[0], crvs[1], crvs[2], fstyle);}
else if(edgeCount==4) {aSurfBuilder.Init(crvs[0], crvs[1], crvs[2], crvs[3], fstyle);}
createFace(aSurfBuilder.Surface());