For all issues regarding the Forums use, please, refer to the Forum Rules.

Our Solutions

Need professional assistance?
Consider our:

Support Offerings

 

Need to speed up your development?
Have a look at our:

Samples & Tools

 

Need some functionality extending standard OCCT capabilities?
Check out our:

Adv. Components

Related pages

Please Help with the Boolean of these two Step Files.

Sharad Verma's picture
Forums: 

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.

Attachments: 
Sharad Verma's picture

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

PG's picture

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.

Sharad Verma's picture

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.

Attachments: 
PG's picture

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.

Sharad Verma's picture

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

Sharad Verma's picture

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

Thanks and Regards,
Sharad Verma

Mahimuddin Biswas's picture

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.

Sharad Verma's picture

Mahimuddin,

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