I am working on a program that takes 2 circles and two planes with 1,440 points. I have constructed the planes and circles from the points to find the runouts of these features. Is there a halfway decent way to find the low point of these features or the location of the max and min of the circle. Essentially I want to find the place on the part where the circle's diameter is the closest to the center of the part. I tested a couple ways, but with this many points I am not sure if there is an efficient way to approach this.
Finding the Low point of a circle
Collapse
X
-
Change your circles from Cartesian to Polar.
Then, you can use a maxindex and minindex command for each circle to extract the max and the min.
Code:ASSIGN/MAX_PR_1=MAXINDEX(ARRAY(CIR1.HIT[1..CIR1.NUMHITS).PR)) ASSIGN/MIN_PR_1=MININDEX(ARRAY(CIR1.HIT[1..CIR1.NUMHITS).PR)) ASSIGN/MAX_PR_2=MAXINDEX(ARRAY(CIR2.HIT[1..CIR2.NUMHITS).PR)) ASSIGN/MIN_PR_2=MININDEX(ARRAY(CIR2.HIT[1..CIR2.NUMHITS).PR))
Code:MAX_PT_1 =GENERIC/POINT,DEPENDENT,POLAR NOM/XYZ,<CIR1.HIT[MAX_PR_1].TPR, CIR1.HIT[MAX_PR_1].TPA, CIR1.HIT[MAX_PR_1].TZ> MEAS/XYZ,<CIR1.HIT[MAX_PR_1].PR, CIR1.HIT[MAX_PR_1].PA, CIR1.HIT[MAX_PR_1].Z> NOM/IJK,<CIR1.HIT[MAX_PR_1].TI,<CIR1.HIT[MAX_PR_1].TJ,<CIR1.HIT[MAX_PR_1].TK> MEAS/IJK,<CIR1.HIT[MAX_PR_1].I,<CIR1.HIT[MAX_PR_1].J,<CIR1.HIT[MAX_PR_1].K>
Output your locations PR and PA for each point.
you have been forewarned, this WILL extract outliers as valid hits. so make sure you have zero oil, dirt FOD Debris on your sample parts and probe tip.
- Likes 3
Comment
-
Another way:
Code:TMP_XY =FEAT/CONTACT/CIRCLE/DEFAULT,CARTESIAN,IN,LEAST_SQR THEO/<0,0,0>,<0,0,1>,1.5 ACTL/<0,0,0>,<0,0,1>,1.5 TARG/<0,0,0>,<0,0,1> START ANG=0,END ANG=360 ANGLE VEC=<0,1,0> DIRECTION=CCW SHOW FEATURE PARAMETERS=NO SHOW CONTACT PARAMETERS=YES NUMHITS=3,DEPTH=1,PITCH=0 SAMPLE METHOD=SAMPLE_HITS SAMPLE HITS=0,SPACER=1 AVOIDANCE MOVE=BOTH,DISTANCE=3 FIND HOLE=CENTER,ONERROR=NO,READ POS=NO SHOW HITS=NO A2 =ALIGNMENT/START,RECALL:A1,LIST=YES ALIGNMENT/TRANS,XAXIS,TMP_XY ALIGNMENT/TRANS,YAXIS,TMP_XY ALIGNMENT/END ASSIGN/MIN_R=999 ASSIGN/MAX_R=-999 V1 =LOOP/START,ID=YES,NUMBER=TMP_XY.NUMHITS,START=1,SKIP=, OFFSET:XAXIS=0,YAXIS=0,ZAXIS=0,ANGLE=0 ASSIGN/PNT_R=SQRT(TMP_XY.X^2+TMP_XY.Y^2) ASSIGN/MIN_R=IF(PNT_R<MIN_R,PNT_R,MIN_R) ASSIGN/MAX_R=IF(PNT_R>MAX_R,PNT_R,MAX_R) LOOP/END
Comment
-
louisd , Thx for the info about PR !!!!!
I would say that, if you construct a filtered circle from hits of the measured circles, it doesn't use outliers.
As I didn't know that PR was available in polar only, I usually do it :
ASSIGN/POLAR_RAD=SQRT(DOT(CIRC1.HIT[1..CIRC1.NUMHITS].XYZ-CIR1.XYZ,CIRC1.HIT[1..CIRC1.NUMHITS].XYZ-CIR1.XYZ))
Then
ASSIGN/V1=MAXINDEX(POLAR_RAD)
ASSIGN/V2=MININDEX(POLAR_RAD)
ASSIGN/RMAX=CIRC1.HIT[V1].XYZ
ASSIGN/RMIN=CIRC1.HIT[V2].XYZ
and use RMAX.X, .Y and .Z in a generic feature.
- Likes 1
Comment
Related Topics
Collapse
-
by vektorHello!
I am measuring 36 points in a circle and trying to find the point that have the largest polar value
i can do this by using MAX and...-
Channel: PC-DMIS for CMMs
03-20-2007, 03:08 PM -
-
by Chally72I have a program in which I need to assign the max and min radial points of a circle to variables.
How can I do this? When I ask MAX(Circle.R)...-
Channel: PC-DMIS for CMMs
10-26-2009, 08:44 AM -
-
by Steve RHi all , how can I pull the Ymax or Xmas point from a circle where my X and Y origin is at the center of the circle ?
-
Channel: PC-DMIS for CMMs
04-23-2018, 09:06 PM -
-
by SleepmodeUp to now I've only used auto circles for measuring circles but I need to report the profile of a radius. I want to use vector points for the 11.60mm...
-
Channel: PC-DMIS for CMMs
08-29-2014, 10:24 AM -
-
by hemirunnerI want to reject the part if the min/max are outside of the material envelope. A location dimension however, only uses the diameter "average"...
-
Channel: PC-DMIS for CMMs
07-30-2013, 06:46 AM -
Comment