Wire Cycle Output

The external procedure GETHEADER checks both #XYELEMENT and #UVELEMENT, then calls a procedure for each type. These external procedures are:

 

Procedure : XYLINE

Index

XPOINT()

YPOINT()

ZPOINT()

1

#XSTART

X start of line

#YSTART

Y start of line

#ZSTART

Z start of line

2

#XEND

X end of line

#YEND

Y end of line

#ZEND

X end of line

   

Procedure : UVLINE

Index

XPOINT()

YPOINT()

ZPOINT()

1

#USTART

U start of line

#VSTART

V start of line

#WSTART

W start of line

2

#UEND

U end of line

#VEND

V end of line

#WEND

W end of line

 

Procedure : XYARC

Index

XPOINT()

YPOINT()

ZPOINT()

1

#XCENTRE

X centre of arc

#YCENTRE

Y centre of arc

#XYRADIUS

Radius

2

#XEND

X end of arc

#YEND

Y end of arc

Not used

3

XYARCSTARTANGLE

XY arc start angle

#XYARCENDANGLE

XY arc end angle

#XYELLIPENDARC

only set up if #XYELEMENT=15 (CONIC)

   

Procedure : UVARC

Index

XPOINT()

YPOINT()

ZPOINT()

1

#UCENTRE

U centre of arc

#VCENTRE

V centre of arc

#UVRADIUS

Radius

2

#UEND

U end of arc

#VEND

V end of arc

Not used

3

UVARCSTARTANGLE

UV arc start angle

#UVARCENDANGLE

UV arc end angle

#UVELLIPENDARC

only set up if #UVELEMENT=15 (CONIC)

 

Procedure : XYPOINT

Index

XPOINT()

YPOINT()

ZPOINT()

1

#XPOINT

X point

#YPOINT

Y point

#ZPOINT

Z point

   

Procedure : UVPOINT

Index

XPOINT()

YPOINT()

ZPOINT()

1

#UPOINT

U point

#VPOINT

V point

#WPOINT

W point

 

At this point all applicable user defined variables are now initialised. Therefore in the example under Array Structure where #TYPE = 33 we would call the procedures XYLINE and UVPOINT.

Other procedures used in WIREDATA.MAC are:

%PROCEDURE = CALC_ARC_CORNER

This calculates the corner point on a blend radius between two lines and the start point of an arc.

These variables are set up:

#XSTART
#YSTART
#XCORNER
#YCORNER

Use the procedure by:

%CALL = CALC_ARC_CORNER

%PROCEDURE = TEST_ARC

This procedure should be used to determine if the arc to arc move can be supported via the control or if long hand output is required.

TEST_ARC sets up a variable #ARCTYPE which returns the value:

Unsupported arc   #ARCTYPE=0
Standard 2D arc   #ARCTYPE =1
Standard taper conical   #ARCTYPE = 2
Standard taper cylinder   #ARCTYPE = 3
Taper with different start/end tapers #ARCTYPE = 4

Use the procedure by:

%CALL = TEST_ARC

%PROCEDURE = WIRE_VECTOR

This procedure calculates the IJK vectors of the wire.

Values returned are:

#IVECTOR = X
#JVECTOR = Y
#KVECTOR = Z

(The resultant is a unit vector.)

Use the procedure by:

%CALL = WIRE_VECTOR

The vectors are calculated from #XEND #YEND Z U V W

Ensure that these variables are correctly set before calling this procedure.