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

### Our Solutions

Need professional assistance?
Consider our:

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

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

# How to Analyse spiral edge

Forums:

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,

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,

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

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,

Dear Guido,

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

Best Regards,

VINOTH KUMAR THANGAVEL.

You can also try to first split the faces by type and then analyze them?

See: SplitFacesByType

BR, Guido

### Dear Guido,

Dear Guido,

Thank you for the continuous support.