Missing function causing a link error

Hello, I tried to use the function ShapeFixStd_Shape in order to fix an invalid topological object imported from Cascade Site. Unfortunately, when I call the Status function to see the status of the last fix, I have a link error that says that the function is missing....

So, I tried to avoid that function, but after a call to the perform function, the resulting Shape is still invalid..... What am I doing wrong ???? Can anyone help me please ??

Thanxs Omar Msaaf

Mikael Aronsson's picture

Hi !

It sounds like you need to link to one more import/sharewd library, whats the name of the missing function ?

Mikael

Andrey Betenev's picture

Dear Omar,

> Hello, I tried to use the function
> ShapeFixStd_Shape in order to fix an invalid
> topological object imported from Cascade
> Site. Unfortunately, when I call the Status
> function to see the status of the last fix,
> I have a link error that says that the
> function is missing....

Sorry, this function is really not implemented. This omission will be fixed. In fact, this function is not very useful since it gives rough information. You can get more detailed statuses for each type of shape, e.g. for wires:

ShapeFix_Shape sfs; ...; sfs.Perform();

Standard_Boolean wasConnectivityFixed = sfs.FixWireTool()->StatusConnected();

...

> So, I tried to avoid that function, but
> after a call to the perform function, the
> resulting Shape is still invalid..... What
> am I doing wrong ???? Can anyone help me
> please ??

Note that classes of ShapeFix_Std package just provide mechanisms for fixing shape and implement only a few simple fixes. In particular, there is no fix in ShapeFixStd to eliminate problem of redundant edges.

Please see description of classes of ShapeFixStd to see what kinds of errors can be fixed.

Best Regards,

Andrey

> Thanxs Omar Msaaf

Msaaf Omar's picture

Hello,

First and foremost, thanks for replying. My question is as follows.

Is there a function or a class to help me correct a structure where there are redundant edges, and that helps me make faces that are "supposed" adjacent to be really adjacent ???

Is the ShapeFix_Wire, the class we have to use ??

Ok now, if such a class doen't exist, I can manage to write down a function that goes in the structure and rebuilds it, and have it shared by the others...... But I am SURE it won't be as efficient as if you guys form Matra did it. Because, I still don't understand perfectly the tolerance notion you put on your entities (Vertices, Edges and Faces)....

Regards

Omar Msaaf

Mikael Aronsson's picture

Hi !

Wouldn't the sewing class fix this for you ?

Mikael

Msaaf Omar's picture

The sewing class takes more than two shapes to sew. I have Only ONE Shape, and I have some times redundant edges.

This causes my program to give erronous solutions, because I go through the topological structures, and especially lokking for the edges and their related faces....

Thanks for the answer any how Mickael

Omar

Andrey Betenev's picture

Hello Omar,

> Hello,

> First and foremost, thanks for replying. My
> question is as follows.

> Is there a function or a class to help me
> correct a structure where there are
> redundant edges, and that helps me make
> faces that are "supposed" adjacent
> to be really adjacent ???

There are no method or class which fixes redundant edges (at least I do not know such). The reason is simple: it is not clear how to fix them. Since in order to find a proper way to fix the error, we must first understand its nature. But I never met such error working with CASCADE (except a couple of cases when error was in my code).

So, I would recommend you to look for a reason of appearance of redundant edges. The best way is to fix that reason. If it is not possible, you will have to design and implement the fix by yourself.

> Is the ShapeFix_Wire, the class we have to
> use ??

This class is capable to fixs some errors, but not redundant edges. Sorry.

Best Regards, Andrey

> Ok now, if such a class doen't exist, I can
> manage to write down a function that goes in
> the structure and rebuilds it, and have it
> shared by the others...... But I am SURE it
> won't be as efficient as if you guys form
> Matra did it. Because, I still don't
> understand perfectly the tolerance notion
> you put on your entities (Vertices, Edges
> and Faces)....

> Regards

> Omar Msaaf

Msaaf Omar's picture

I don't have the time by now, but I will try to see what can be done. Regards Omar