DiscussionsIssue archiveOther usage issues

Archived discussion

Please Help with the Boolean of these two Step Files.

Other usage issuesSat, 02/25/2012 - 14:378 replies

Browse this forum
QuestionAuthor

I tried the Union of the attached two solids Solid1.step and Solid2.step.. But the result is unexpected.

Solid1: Sphere inside a Sphere. i.e, There is a Cavity in the Solid and both the Spheres are made by revolving a Circular Arc by 360*.

Solid2: It is a Solid Pipe.

Now, when i boolean the two solids, I don't get the desired result.

I used Solidworks to see the Solids and it displayed perfectly. Please help me with this issue, what wrong am I doing?

I also attached the result file as Union.step. Please Help.

Discussion

8 archived replies

Posts are displayed in their archived order.

01Author

Anybody there just let me know, what wrong am I performing in this?

02Commenter-1

first step file after importing is only creating 2 splines - no solid shape generated. the pipe location after import is not intersecting with 1st solid.
Instead of STEP , you should attach BREP file's.

03Author

Hi PG,

I attached the Brep Files of the two solids.

Here is the code which I used for creating a Spherical Surface using revolving the Circular Curve to 360*.

// Points to create an Arc
gp_Pnt point1(Standard_Real(-11.0), Standard_Real(-7.0), Standard_Real(0.0));
gp_Pnt point2(Standard_Real(-7.0), Standard_Real(-3.0), Standard_Real(0.0));
gp_Pnt point3(Standard_Real(-11.0), Standard_Real(1.0), Standard_Real(0.0));

// Creating an OCC Circular Arc
GC_MakeArcOfCircle *occArcOfCircle = new GC_MakeArcOfCircle(point1, point2, point3);

//Geom Curve
Handle(Geom_Curve) m_OCCTCurve = occArcOfCircle->Value();

// Creating an OCC edge
TopoDS_Edge m_OCCTEdge = BRepBuilderAPI_MakeEdge(m_OCCTCurve);

//Direction for the rotary surface
gp_Dir direction(Standard_Real(0.0), Standard_Real(1.0), Standard_Real(0.0));

// Creating axis for the rotation surface
gp_Ax1 axis(gp_Pnt(Standard_Real(-11.0), Standard_Real(-7.0), Standard_Real(0.0)), direction);

//Revolving Shape
BRepPrimAPI_MakeRevol shapeRevolve(edge, axis, Standard_Real(6.2831859588623047));

if(shapeRevolve.IsDone())
{
// OCCT Face
TopoDS_Face m_OCCTFace = TopoDS::Face(shapeRevolve.Shape());

// Writing into STEP File
STEPControl_Controller::Init();
STEPControl_Writer aWriter;
aWriter.Transfer(m_OCCTFace, STEPControl_AsIs);
aWriter.Write("RevolvedFace.step");
}

Please Check this code? M i doing it correctly or not? Because I am not able to see anything in Tool TotalEngineer(Its an Opensource tool, build using OCC)

Thanks for the Reply.

04Commenter-1

The first brep file is not a solid . The above code looks to create one revolved solid out of the first arc.
What about the 2nd solid and then the cut solid.

05Author

Yes PG,

I am trying to create a sphere after revolving a Circular Arc. But I am not getting any success in it. Can you please provide me some solution, or see the above code, if i am doing something wrong, or missing something to be added.

Thanks

06Author

Hi PG. Did you check it? Please clarify me, it would be really helpful.

Thanks and Regards,
Author

07Commenter-2

Hi,

may be because the Circular arc was revolved onto a semicircle that's why it's not solid, if u get sucess revolving the semicircle along the circle may be it wud be a solid.

try it out.

08Author

Mahimuddin,

when i put angle less than 360*.. It works fine, only with 360* angle its not showing anything.