Hi, I am trying to output the radial and angular dimension from a circle scan.
so if a point on the scan was out of tolerance, I want to know approx. where it would be.
the circle would have approx. 1200 points for the scan.
Thanks
Your Products have been synced, click here to refresh
Hi, I am trying to output the radial and angular dimension from a circle scan.
so if a point on the scan was out of tolerance, I want to know approx. where it would be.
the circle would have approx. 1200 points for the scan.
Thanks
First, the radius of each point of the scan depends on the algo used to construct the circle (the center of the circle is different between different constructions).
The radius of a point is the distance between the point and the center so you have to construct a circle (CIR1) from the scan (SCN1) :
ASSIGN/V1=SQRT(DOT(SCN1.HIT[1..SCN1.NUMHITS].XYZ-CIR1.XYZ,SCN1.HIT[1..SCN1.NUMHITS].XYZ-CIR1.XYZ))
If the tolerance on the radius is ±T1, then :
ASSIGN/TOL_PLUS=CIR1.TR+T1
ASSIGN/TOL_MINUS=CIR1.TR-T1
ASSIGN/POINTS_PLUS=MAXINDICES((V1-TOL_PLUS)-ABS(V1-TOL_PLUS))...........................points OOT+
ASSIGN/V2=SUM(((V1-TOL_PLUS)-ABS(V1-TOL_PLUS))/((V1-TOL_PLUS)-ABS(V1-TOL_PLUS)))........number of points OOT+
ASSIGN/POINTS_MINUS=MAXINDICES((TOL_MINUS-V1)-ABS(TOL_MINUS-V1))...........................points OOT-
ASSIGN/V3=SUM((TOL_MINUS-V1)-ABS(TOL_MINUS-V1))/((TOL_MINUS-V1)-ABS(TOL_MINUS-V1)))........number of points OOT-
Then , you can create 2 loops V4 and V5 to create generic points from SCN1.HIT[POINT_PLUS[V4]].XYZ and SCN1.HIT[POINT_MINUS[V5]].XYZ, hopping there's not too much OOT hits...
Thank you, I'll give it a shot
Thank you, I'll give it a shot
© 2024 Hexagon AB and/or its subsidiaries. | Privacy Policy | Cloud Services Agreement |