Hi Heiko,
hier ein Macro, das ich mal aus genau dem Grund geschrieben habe.
Das Problem ist, das es (bei schräger Bemaßung) zu Rundungsfehlern kommen kann. Hab´s aber vorhin ausprobiert, sollte nur selten vorkommen.
DEFINE Mass_unterbrechen
LOCAL Punkt1
LOCAL Punkt2
LOCAL Punkt3
LOCAL Vektor
LOCAL Noch_ein_mass_da
LOCAL Notausstieg
DIM_CATCH_LINES ON
READ PNT Punkt1
READ PNT Punkt2
LET Notausstieg (0)
LET Vektor (Punkt2 - Punkt1)
LET Vektor (Vektor/(LEN Vektor)/10)
{ DISPLAY_NO_WAIT Vektor }
{ nur zum testen }
{ WAIT .5 }
LOOP
LET Punkt1 (Punkt1+Vektor)
LET Punkt2 (Punkt2-Vektor)
LET Punkt3 (Punkt1+Vektor)
{ POINT Assistance Punkt1 }
{nur zum testen, wo die berechneten Punkte liegen}
{ WAIT .5 }
{ POINT Assistance Punkt2 }
{ WAIT .5 }
{ END }
MODIFY_DIM_LINES BREAK Punkt1
DIM_CATCH_LINES OFF
Punkt2 Punkt1
END
DIM_CATCH_LINES ON
INQ_ELEM Punkt3
LET Noch_ein_mass_da (SUBSTR (STR INQ 403) 1 3)
{ DISPLAY_NO_WAIT Noch_ein_mass_da}
{auch nur zum sehen, was er erwischt hat}
{ WAIT .5 }
LET Notausstieg (Notausstieg +1)
EXIT_IF (Notausstieg = 20)
EXIT_IF (Noch_ein_mass_da <>'DIM')
END_LOOP
END_DEFINE
MfG
Peter
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP