
Wed, 04/09/2008 - 00:21
Hi,
if a wire is added in MakeWire all edges of the wire are added in sequence. I the last edge is the one connecting to the wire only this last edge is added because all others fail beforehand.
I would suggest something like this:
Standard_Boolean isd = true;
TopTools_MapOfShape moe;
TopExp_Explorer ex(W,TopAbs_EDGE);
while (ex.More()) {
moe.Add(ex.Current());
ex.Next();
}
while (isd && moe.Extent())
{
TopTools_MapIteratorOfMapOfShape mi(moe);
for (;mi.More(); mi.Next())
{
Add(TopoDS::Edge(mi.Key()));
isd = IsDone();
if (isd)
{
moe.Remove(mi.Key());
break;
}
}
}
This tries to add edges until no further edges succeed and it at least works for me.
Torsten
Mon, 01/28/2013 - 20:44
Thanks Torsten, this works quite well.
Dont know why it is not integrated in the general BRepBuilderAPI_MakeWire or ShapeAnalysis_FreeBounds::ConnectWiresToWires().... because there it doesnt work to..???
greetings