0
点赞
收藏
分享

微信扫一扫

RationalDMIS 7.1 平面迭代程序

婉殇成长笔记 2022-06-06 阅读 99

DECL/INTGR,IND,I,J,K
DECL/REAL,SPREAD,BEST_SPREAD,HI_POINT,LOW_POINT,CURRENT
DECL/CHAR,20,PLANE_PTS[36],MEASURE_PTS[72]

DOLOOP=ASSIGN/1
IND=ASSIGN/1
I=ASSIGN/1

DO/DOLOOP,1,18,1
DO/IND,1,4,1
LABEL=ASSIGN/CONCAT(‘STRUT-’,STR(DOLOOP),’-’,STR(IND))
CURRENT=OBTAIN/FA(@LABEL),5

MEASURE_PTS[I]=ASSIGN/LABEL
I=ASSIGN/I+1

IF/(CURRENT .GT. HI_POINT)
HI_POINT=ASSIGN/CURRENT
ENDIF

IF/(CURRENT .LT. LOW_POINT)
LOW_POINT=ASSIGN/CURRENT
ENDIF

ENDDO
ENDDO

SPREAD=ASSIGN/HI_POINT-LOW_POINT

IF/(SPREAD .LE. 0.012)
JUMPTO/(SKIP_PLANE)
ENDIF

DOLOOP=ASSIGN/1
IND=ASSIGN/1
I=ASSIGN/1

DO/DOLOOP,1,18,1
DO/IND,1,2,1
LABEL=ASSIGN/CONCAT(‘ZERO_PT-’,STR(DOLOOP),’-’,STR(IND))
PLANE_PTS[I]=ASSIGN/LABEL
I=ASSIGN/I+1
ENDDO
ENDDO

I=ASSIGN/1
J=ASSIGN/I+1
K=ASSIGN/J+1
IND=ASSIGN/1

HI_POINT=ASSIGN/0
LOW_POINT=ASSIGN/0
SPREAD=ASSIGN/0
BEST_SPREAD=ASSIGN/1

F(BEST_PLN)=FEAT/PLANE,CART, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
F(TEST_PLN)=FEAT/PLANE,CART, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
T(PT_DIST)=TOL/DISTB,NOMINL,0.0000,-0.1000,0.1000,PT2PT,MIN
RationalDMIS 7.1 平面迭代程序_javaDECL/REAL,DISTANCE[72]

DO/I,1,34,1
J=ASSIGN/I+1
DO/J,J,35,1
K=ASSIGN/J+1
DO/K,K,36,1

CONST/PLANE,F(TEST_PLN),BF,FA(@PLANE_PTS[I]),FA(@PLANE_PTS[J]),FA(@PLANE_PTS[K])

IND=ASSIGN/1

DO/IND,1,72,1
EVAL/FA(TEST_PLN),FA(@MEASURE_PTS[IND]),T(PT_DIST)
$$ DISTANCE[IND]=OBTAIN/TA(PT_DIST),4
CURRENT=OBTAIN/TA(PT_DIST),4

$$ CONST/LINE,F(PERP_LINE),PERPTO,FA(TEST_PLN),THRU,FA(@MEA SURE_PTS[IND])

$$ *** NEED VECTOR SIGN HERE *** $$

IF/(CURRENT .GT. HI_POINT)
HI_POINT=ASSIGN/CURRENT
ENDIF

IF/(CURRENT .LT. LOW_POINT)
LOW_POINT=ASSIGN/CURRENT
ENDIF

SPREAD=ASSIGN/HI_POINT-LOW_POINT

IF/(SPREAD .LE. BEST_SPREAD)
BEST_SPREAD=ASSIGN/SPREAD
CONST/PLANE,F(BEST_PLN),BF,FA(@PLANE_PTS[I]),FA(@PLANE_PTS[J]),FA(@PLANE_PTS[K])
ENDIF
ENDDO
ENDDO

ENDDO
ENDDORationalDMIS 7.1 平面迭代程序_java_02
DECL/INTGR,IND,I,J,K
DECL/REAL,SPREAD,BEST_SPREAD,HI_POINT,LOW_POINT,CURRENT
DECL/CHAR,20,PLANE_PTS[36],MEASURE_PTS[72]

DOLOOP=ASSIGN/1
IND=ASSIGN/1
I=ASSIGN/1

DO/DOLOOP,1,18,1
DO/IND,1,4,1
LABEL=ASSIGN/CONCAT(‘STRUT-’,STR(DOLOOP),’-’,STR(IND))
CURRENT=OBTAIN/FA(@LABEL),5

MEASURE_PTS[I]=ASSIGN/LABEL
I=ASSIGN/I+1

IF/(CURRENT .GT. HI_POINT)
HI_POINT=ASSIGN/CURRENT
ENDIF

IF/(CURRENT .LT. LOW_POINT)
LOW_POINT=ASSIGN/CURRENT
ENDIF
ENDDO
ENDDO

SPREAD=ASSIGN/HI_POINT-LOW_POINT

IF/(SPREAD .LE. 0.012)
JUMPTO/(SKIP_PLANE)
ENDIF

DOLOOP=ASSIGN/1
IND=ASSIGN/1
I=ASSIGN/1

DO/DOLOOP,1,18,1
DO/IND,1,2,1
LABEL=ASSIGN/CONCAT(‘ZERO_PT-’,STR(DOLOOP),’-’,STR(IND))
PLANE_PTS[I]=ASSIGN/LABEL
I=ASSIGN/I+1
ENDDO
ENDDO

I=ASSIGN/1
J=ASSIGN/I+1
K=ASSIGN/J+1
IND=ASSIGN/1

HI_POINT=ASSIGN/0
LOW_POINT=ASSIGN/0
SPREAD=ASSIGN/0
BEST_SPREAD=ASSIGN/1

F(BEST_PLN)=FEAT/PLANE,CART, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
F(TEST_PLN)=FEAT/PLANE,CART, 0.0000, 0.0000, 0.0000, 0.0000, 0.0000, 1.0000
T(PT_DIST)=TOL/DISTB,NOMINL,0.0000,-0.1000,0.1000,PT2PT,MIN
RationalDMIS 7.1 平面迭代程序_javaDECL/REAL,DISTANCE[72]

DO/I,1,34,1
J=ASSIGN/I+1
DO/J,J,35,1
K=ASSIGN/J+1
DO/K,K,36,1

CONST/PLANE,F(TEST_PLN),BF,FA(@PLANE_PTS[I]),FA(@PLANE_PTS[J]),FA(@PLANE_PTS[K])

IND=ASSIGN/1

DO/IND,1,72,1
EVAL/FA(TEST_PLN),FA(@MEASURE_PTS[IND]),T(PT_DIST)
$$ DISTANCE[IND]=OBTAIN/TA(PT_DIST),4
CURRENT=OBTAIN/TA(PT_DIST),4

$$ CONST/LINE,F(PERP_LINE),PERPTO,FA(TEST_PLN),THRU,FA(@MEA SURE_PTS[IND])

RationalDMIS 7.1 平面迭代程序_java_04

IF/(CURRENT .GT. HI_POINT)
HI_POINT=ASSIGN/CURRENT
ENDIF

IF/(CURRENT .LT. LOW_POINT)
LOW_POINT=ASSIGN/CURRENT
ENDIF

SPREAD=ASSIGN/HI_POINT-LOW_POINT

IF/(SPREAD .LE. BEST_SPREAD)
BEST_SPREAD=ASSIGN/SPREAD
CONST/PLANE,F(BEST_PLN),BF,FA(@PLANE_PTS[I]),FA(@PLANE_PTS[J]),FA(@PLANE_PTS[K])
ENDIF

ENDDO

ENDDO
ENDDO
ENDDO


举报

相关推荐

0 条评论