
Wed, 02/06/2008 - 15:20
Forums:
I am looking for a class similar to BRepOffsetAPI_MakePipe, that sweeps a profile edge(or face) along a spine edge. The profile should be "swept" in such manner that the resulting face is bounded by a wire consisting of the original profile edge, two edges similar to the spine and the last edge parallel to the profile edge. Is there a class that does this?
Dirk
Wed, 02/06/2008 - 17:25
If the spine edge has the curve type GeomAbs_Line this is done by MakePrism, I need this for the other curve types.
Wed, 02/06/2008 - 19:17
try BRepOffsetAPI_MakePipeShell
Fri, 02/08/2008 - 16:59
Many thanks!
Using this class with the mode set to a gp_Ax2, that has a main direction equaling the tangent of the profile curve, gives the result I was looking for.
Dirk
Fri, 05/16/2008 - 11:56
Hy Dirk B,
I have the same your problem, and I tried to use the BRepOffsetAPI_MakePipe or BRepOffsetAPI_MakePipeShell, but sweepping a closed wire on a wire spine I always obtain a shell. I want to obtain the outer wire or a face. Can you help me ?
Mon, 05/19/2008 - 11:10
Hi Giglietti,
try getting the subshapes of the result by using TopExp::MapShapes with TopAbs_WIRE or TopAbs_FACE.
Dirk
Mon, 05/19/2008 - 12:25
Hi Dirk,
Thanks for your answer,
I have tried to use "TopExp::MapShapes()", but when I take an index of the extracted FACEs I get only a part of whole Shell.
Let me explain you what I want to obtain for my application. I think also that I may have taken the wrong way to solve my problem.
I have to create the shape(face or outerwire) of an arbitrary planar closed figure that is moving from one point to another point. (Not only a linear movement)
For example, a rectangle that moves from a point A to point B leaves a "trace" like a highlighter.
I have to do this only for visualization in AIS_Interactive_Context(), but the only way I have found is to substituite the AIS_Line() and AIS_Circle() with a AIS_Shape(Face) that I build with BRepBuilderAPI_BRepOffsetAPI_MakePipeShell() and setting the display mode to "Render". I build the shape "moving" a face on a wire and I obtain a planar Shell with wires intersecting each other generated from the first face vertix.
The problems are :
- this mode takes a long time
- in some situations the IAS_Shape was not filled correctly
- in other situations the AIS_Shape was built wrongly
All this is done to simulate the "trace" of a planar face that moves from a point to another.
Have you any idea on how I can do this ?
Thanks in advance for any suggestions
Tue, 05/20/2008 - 10:07
Hi Giglietti,
I hope I understand your problem right, here is my suggestion:
I would create copies of the spine curve, that start at the vertices of the profile. This should give the impression of a "trace" for the shape movement.
Regards,
Dirk
Tue, 05/20/2008 - 11:41
Hi Dirk,
The behaviour you explain is the right behaviour and is what BRepOffsetAPI_MakePipeShell() does.
If I Move a shape(closed wire) along a spine(open wire) I obtain a shell with all the vertices of the start profile connected to the same vertices of the end profile.
I draw this shell with "shade mode" and I get the "trace" of the shape movement, but in some cases the AIS_context doesn't render correctly the shell and leaves some faces of the shell hollow.
I need the same behaviour you explained in your first original message but I want to use a close wire instead of an edge.
Have you other suggestions ?
Tue, 05/20/2008 - 12:35
Try the different modes of BRepOffsetAPI_MakePipeShell. That's what I did. Maybe a simple example of what you start out with and what should be the result would help also.
Dirk
Tue, 05/20/2008 - 13:45
I wil linvestigate more on BRepOffsetAPI_MakePipeShell().
Thanks for your prompt replays and for the time you have devoted to this.