Jump to content

Extract equally spaced points from a scan


---
 Share

Recommended Posts

Hello,

Very new to PCM so please forgive my ignorance!

We have hundred of existing programs created without PCM, and have only recently upgraded to include PCM.

Is there a way to extract say 8 equally spaced points from a scan of 1000?

Whenever we have non-conforming parts our specialist always ask for 8, 16, 32 points etc, based on the feature size.

Currently we either reprogram to include discrete points as well as the scan, or we try to find a point within a given angular range, both very time consuming!

Would there be a way to get PCM to output a number of equally spaced polar radii for a given characteristic, and only include these on the report if the original characteristic was out of tolerance? 
 

Not to brag but I can do this PCDMIS, but can’t figure out a way to do it in Calypso, with or without PCM.

Thanks in advance.

  • Like! 1
Link to comment
Share on other sites

Sean,

 

 I think there are many ways to do this , one of them can be found here ...

 

https://qualityforum.zeiss.com/topic/23963-recall-feature-points-from-a-single-circle-path-of-a-cylinder-high-volume-loop-or-pattern/

 

recall points and a "LOOP" to the recall.  Out of curiosity, is your feature a standard geometry feature or a 'curve' ?

 

Thanks, good luck,

 

 

Link to comment
Share on other sites

Don’t see how this works to be honest, let me rephrase the question.

One solitary circle, measured via scanning with 1000 points.

If diameter is in tolerance, output that on report, move on to next job.

If diameter is OUT of tolerance, report that plus 8x polar points! 

Link to comment
Share on other sites

ok, thanks for clarification. 

Probalby multiple ways, one I would suggest is start with  the circle1 - 1000 point scan, copy this feature to lets say circle2, and use the recall LOOP I linked to above. You can also manually select individual point#'s as well, I'm not sure how this behaves with point filtering/outlier removal.

Create 2 diameter characteristics, the first is linked to circle1. The 1st one will be linked to circle1 and will have a CONDITION on it (right click on diameter char), this condition will be something like

getActual("Diameter1").toleranceState=="inTolerance"

, if response is YES or 'true' then it would report this characteristic and go to the next one( which should be Diameter2 from the 8x polar points); otherwise it will skip over this according to the conditional branching. Diameter 2 will have it's own condition such as if Diameter1 is outOfTolerance then report this one instead which related to Diameter2.

tip : in simulation try to test both conditions to ensure they work.

Others may have different suggestions.

Edited
Link to comment
Share on other sites

 Share

×
×
  • Create New...