# How to Analyse spiral edge

Hi everyone, (req. special  attn: Mr. Kirill Gavrilov )

I have 10 edges (Spiral edge, 3d curve, 3d line, circle, etc),(attached) in that, how can I identify only the spiral edge, and I need to find the Pitch, and center axis of the spiral edge.

Thank you for the support and advice.

Best Regards,

VINOTH KUMAR THANGAVEL, D.E.C.E, B.E, M.S (2019).

Attachments:

Hi Vinoth,

You can loop over the edges and examine the type of curve. Once you have found the spiral edge ou can get the static properties.

I can make a simple example if you have the geometry source? (step / brep)

Best regards, Guido

Dear Sir,

Thank you for the support. I've attached the small *.step file with helical curves for your kind reference. I've tried to find the curve types using the following snippet, but I get "GeomAbs_BSplineCurve"  as result for some of semi-circles, and 3d lines. That's why I don't know how to approach this issue.

My aim is to,

1. Filter the helical curves from the TopoDS_Solid (STEP file solid).

2. Get the pitch values.

Code Snippet:

for (wirexp.Init(Solid1, TopAbs_WIRE); wirexp.More(); wirexp.Next())

{

TopoDS_Wire Awire = TopoDS::Wire(wirexp.Current());

for (edgexp.Init(Awire, TopAbs_EDGE); edgexp.More(); edgexp.Next())

{

TopoDS_Edge Aedge = TopoDS::Edge(edgexp.Current());

GeomAbs_CurveType theTyp = theCrv.GetType();

if (theTyp == GeomAbs_BSplineCurve && !theCrv.IsClosed())

{

}

}

}

Thanks again

Attachments:

Hi Vinoth, I have been playing around a bit.

You can see an example here: SpiralShape

I come with a pitch of 1.25 and a outer radius of 2.5. (see Log)

The code is in C# but I hope it will point you in the right direction.

The Axis is also shown. you can get the axis with a call of Position() from the  Geom_CylindricalSurface

Hope it helps,

Guido

Dear Guido,

Thank you for the great and prompt support. I'll study your code.

Best Regards,

VINOTH KUMAR THANGAVEL.