How to create Involute gear profile

hi to all,

can any one tell me how can i create a involute gear in opencascade other parameters of the gear such as module, addendum, dedendum etc. already known..

thanks in advance

Sergei's picture

This is some parts from my sources for mill's profile creation,
i hope they will be helpful for you

Spline creating example:

TColgp_Array1OfPnt2d array_zub_1 (0,8);
for (int n = 0; n < 9; n++) {
pt_spl = arhspoint(
pt_c,
(M_PI/2.0),
ra,
(k1*z),
teta
);
teta += step;
array_zub_1.SetValue(n,pt_spl);
}
Handle(Geom2d_BSplineCurve) spline_zub_1 =
Geom2dAPI_PointsToBSpline(array_zub_1);

Segment creating example:

Handle(Geom2d_TrimmedCurve) segment_zub_1 = GCE2d_MakeSegment(
arhspoint(
pt_c,
(M_PI/2.0),
rats,
(k2*z),
teta
),
pt_lzr);

Arc creating example:

gp_Circ2d circle_zub_1(gp::OX2d(), r);
circle_zub_1.SetLocation(pt_cr);
Handle(Geom2d_TrimmedCurve) arc_of_circle_zub_1 =
GCE2d_MakeArcOfCircle(circle_zub_1, pt_lzr, pt_rlp, Standard_True);

Creating mill's profile:

TopoDS_Edge edge_zub_1 = BRepBuilderAPI_MakeEdge2d(spline_zub_1);
TopoDS_Edge edge_zub_2 = BRepBuilderAPI_MakeEdge2d(spline_zub_2);
TopoDS_Edge edge_zub_3 = BRepBuilderAPI_MakeEdge2d(segment_zub_1);
TopoDS_Edge edge_zub_4 = BRepBuilderAPI_MakeEdge2d(arc_of_circle_zub_1);
TopoDS_Edge edge_zub_5 = BRepBuilderAPI_MakeEdge2d(segment_zub_2);

BRepBuilderAPI_MakeWire wire_zub;
wire_zub.Add(edge_zub_1);
wire_zub.Add(edge_zub_2);
wire_zub.Add(edge_zub_3);
wire_zub.Add(edge_zub_4);
wire_zub.Add(edge_zub_5);

Creating complete profile:

BRepBuilderAPI_MakeWire wire_profile;
Standard_Real ang_step = 2.0*M_PI/frdata.int_z0;
gp_Ax1 axis_z(gp_Pnt(0.0,0.0,0.0), gp_Dir(0.0,0.0,1.0));

for (int n = 0; n < frdata.int_z0; n++) {
TopoDS_Wire wire_rotated;
gp_Trsf transform;
transform.SetRotation(axis_z, ang_step*n*-1);
BRepBuilderAPI_Transform brep_transform(wire_zub, transform);
TopoDS_Shape rotated_shape = brep_transform.Shape();
wire_rotated = TopoDS::Wire(rotated_shape);
wire_profile.Add(wire_rotated);
}

I can mail you complete sources (GPLv2) for creating
mill's profile and building 3d model of the mill:)

P.S.: Sorry for my english :(

bhimesh's picture

hi sergei,
thanks for reply ...
it would be better if u mail me your code.
my mail id is bhimesh_b@yahoo.com

waiting for ur reply..

Sergei's picture

i have sent sources.

Vijayaragavan's picture

hi ..
please send me that gear profile sourcecode to my email-id..
How to rotate sphere around a circle(like rollers in bearings)..
I have created inner and outer rays..How to create rollers in between them...please send me sample code for arranging spheres in circular fashion....

Vijayaragavan,
vjyragavan@yahoo.co.in

Uwe Matthaeus's picture

Hello Sergei,

is it possible you send me the source for your programm (creating mill profile)?
My e-mail: uwe.matthaeus@guehring.de

Thanks in advance.

Bye
Uwe

Sharjith Naramparambath's picture

Hi All,
There is a good tutorial which shows step by step, how to create an involute gear using parametric modeling in CATIA V5.
Refer link http://gtrebaol.free.fr/doc/catia/spur_gear.html
The parametric equations and procedure can be very well adopted to Open CASCADE function calls. I have used the tutorial to create in CATIA. I have not used it for Open CASCADE but I am sure this can be very well adopted for programming too. Hope this helps.

Regards
N. Sharjith