diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..f2f84c4 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,11 @@ +{ + "permissions": { + "allow": [ + "WebFetch(domain:www.mesanet.com)", + "Bash(where pdftotext:*)", + "Bash(where python:*)", + "Bash(where python3:*)", + "Bash(where py:*)" + ] + } +} diff --git a/configs/lagun_gmoccapy/README.md b/configs/lagun_gmoccapy/README.md new file mode 100644 index 0000000..1a445ae --- /dev/null +++ b/configs/lagun_gmoccapy/README.md @@ -0,0 +1,163 @@ +# Lagun Milling Machine - GMOCCAPY Configuration + +LinuxCNC configuration for a Lagun 3-axis (X, Y, Z) milling machine with servo drives, controlled by a Mesa 5i24 FPGA card and the GMOCCAPY GUI. Units are imperial (inches). + +Originally generated by PNCconf (July 2024), then modified for GMOCCAPY and dual-encoder feedback. + +## Files + +| File | Purpose | +|------|---------| +| `lagun_gmoccapy.ini` | Main config: axes, PID gains, encoder scales, limits, MDI commands | +| `lagun.hal` | Main HAL: loads drivers, wires encoders/PWM/PID/GPIO, tool change | +| `xhc-whb04b-6.hal` | Pendant HAL: jog, axis select, feed override, macro buttons | +| `gmoccapy_postgui.hal` | Post-GUI HAL: connects tool offset display to GMOCCAPY | +| `shutdown.hal` | Shutdown HAL: currently empty (placeholder) | +| `tool.tbl` | Tool table with 6 tools (T0-T5) | + +## Hardware + +### Controller +- **Mesa 5i24** PCI FPGA card (`hm2_pci`) +- 6 encoder channels, 6 PWM generators +- PWM frequency: 15,500 Hz +- Servo period: 1 ms (1,000,000 ns) + +### Servo Drives and PWM Mapping + +| Axis | PWM Channel | Output Scale | +|------|-------------|-------------| +| X | pwmgen.00 | +1 | +| Y | pwmgen.02 | -1 (inverted) | +| Z | pwmgen.04 | -1 (inverted) | + +### Encoder Mapping + +X and Y each have two encoders (motor + linear scale). Z has only a linear scale. + +| Signal | Encoder Channel | Scale (counts/inch) | Purpose | +|--------|----------------|---------------------|---------| +| X linear | encoder.00 | 5085.5 | Position feedback (used for joint FB) | +| Y linear | encoder.01 | 5085.4 | Position feedback (used for joint FB) | +| Z linear | encoder.02 | -10075 | Position feedback (used for joint FB) | +| X motor | encoder.03 | -27939.6 | Velocity/damping feedback | +| Y motor | encoder.04 | 27453.6 | Velocity/damping feedback | +| Z motor | (none) | N/A | Not installed | + +### GPIO Pin Assignments + +**Relay outputs** (active low / inverted): + +| GPIO | Function | +|------|----------| +| 041 | Spindle on/off relay | +| 044 | Z-axis servo enable relay | +| 046 | X-axis servo enable relay | + +**Button inputs** (active low, currently unused/commented out): + +| GPIO | Function | +|------|----------| +| 027 | Button (unassigned) | +| 028 | Button (unassigned) | +| 029 | ESTOP button | +| 030 | START button | +| 031 | STOP button | + +The button inputs are configured as inputs but their HAL net connections are commented out because they were causing unexpected machine shutoff. + +## Dual PID Feedback (X and Y Axes) + +X and Y each use two PID loops running in parallel, whose outputs are summed: + +1. **Motor encoder PID** (`pid.x` / `pid.y`): Uses D gain and FF1 for velocity damping. No I gain. Feedback from the motor-mounted encoder. +2. **Linear scale PID** (`pid.xl` / `pid.yl`): Uses high P and I gains for accurate position correction. Feedback from the linear scale mounted on the axis. + +The outputs are summed via `sum2` components: +- `sum2.0`: X motor PID + X linear PID +- `sum2.1`: Y motor PID + Y linear PID +- `sum2.2`: Z linear PID only (no motor encoder) + +The **linear scale** position is used as the joint feedback (`joint.N.motor-pos-fb`), so LinuxCNC tracks actual table position rather than motor position. + +## Z-Axis Override Mechanism + +The Z-axis has a special enable/disable mechanism for manual quill operation: + +- A HAL `logic AND` gate combines two signals: `z-override` and `z-enable` +- The combined output `z-enable-comb` controls the Z servo PID enable and the GPIO 044 relay +- `z-override` defaults to TRUE at startup (CNC controls Z) +- M101 can set `z-override` to FALSE, disabling the Z servo so the quill can be moved manually +- M102 can set `z-override` back to TRUE to re-enable CNC Z control + +**Workaround**: Because the Z servo is disabled during manual quill use, the quill position diverges from the commanded position. To prevent following-error faults, `MIN_FERROR` is set to 100 inches in the INI file (ideally it would be 0.2). An attempt to dynamically switch the ferror value via a `mux2` component exists in the HAL but is non-functional (the output signal is not connected to the joint). + +## Spindle + +On/off relay control only via GPIO 041. No speed control or encoder feedback. The spindle PID section in the INI exists but is effectively unused (FF0=1 with no feedback). Default spindle speed in the GUI is 500 RPM. + +## Pendant (XHC WHB04B-6) + +Wireless pendant loaded with `xhc-whb04b-6 -HsfB` (HAL-only, step, filtered, 6-axis model). + +Connected to `joint.N.jog-*` pins (not `axis.x.jog-*`, which GMOCCAPY does not create). + +### Macro Button Mapping + +Macro buttons trigger MDI commands defined in the `[HALUI]` section of the INI: + +| Button | MDI Index | G-code | Action | +|--------|-----------|--------|--------| +| Macro 1 | 01 | `G10 L20 P0 X[#<_x>/2.0]` | Halve X coordinate | +| Macro 2 | 02 | `G10 L20 P0 Y[#<_y>/2.0]` | Halve Y coordinate | +| Macro 3 | -- | (hardcoded) | Spindle speed increase | +| Macro 4 | -- | (hardcoded) | Spindle speed decrease | +| Macro 5 | 05 | `G10 L20 P0 X0` | Zero X | +| Macro 6 | 06 | `G10 L20 P0 Y0` | Zero Y | +| Macro 7 | 07 | `G10 L20 P0 Z0` | Zero Z | +| Macro 8 | -- | (hardcoded) | Spindle direction | +| Macro 10 | -- | (hardcoded) | Toggle ABS/REL DRO | +| Macro 15 | -- | (hardcoded) | Flood coolant toggle | +| Macro 16 | -- | (hardcoded) | Mist coolant toggle | + +### Function Buttons + +| Button | Action | +|--------|--------| +| M-Home | Home all axes (`halui.home-all`) | +| Safe-Z | MDI command 03 (debug/placeholder) | +| W-Home | MDI command 04 (debug/placeholder) | +| Probe-Z | MDI command 08 (debug/placeholder) | + +Feed override is connected and functional via the pendant knob. + +## Tool Change + +Manual tool change using `hal_manualtoolchange`. A dialog pops up on screen prompting the operator to change the tool. Tool prepare requests are looped back (no automatic tool changer). + +## Axis Limits and Homing + +| Axis | Travel (inches) | Home Sequence | +|------|----------------|---------------| +| X | -24.0 to +24.0 | 2 | +| Y | -12.0 to +12.0 | 3 | +| Z | -4.0 to +1.0 | 1 (first) | + +`NO_FORCE_HOMING = 1` is set, so the machine can be jogged and run programs without homing first. + +## Startup G-code + +``` +G20 G40 G90 G94 G97 G64 P0.001 +``` + +- G20: Inch mode +- G40: Cancel cutter compensation +- G90: Absolute distance mode +- G94: Feed per minute +- G97: RPM mode (constant spindle speed) +- G64 P0.001: Path blending with 0.001" tolerance + +## E-Stop + +The estop signal is looped back internally (`user-enable-out` -> `emc-enable-in`). There is no external hardware estop chain connected through LinuxCNC. The physical ESTOP button on GPIO 029 is configured as an input but not wired into the estop logic. diff --git a/configs/lagun_gmoccapy/gmoccapy_postgui.hal b/configs/lagun_gmoccapy/gmoccapy_postgui.hal index 5a0a9e5..e400de0 100755 --- a/configs/lagun_gmoccapy/gmoccapy_postgui.hal +++ b/configs/lagun_gmoccapy/gmoccapy_postgui.hal @@ -2,5 +2,6 @@ # These connections are made after the GUI loads so gmoccapy pins exist # --- Tool offset display --- +# Pass tool offset values to GMOCCAPY for DRO display net tooloffset-x gmoccapy.tooloffset-x <= motion.tooloffset.x net tooloffset-z gmoccapy.tooloffset-z <= motion.tooloffset.z diff --git a/configs/lagun_gmoccapy/lagun.hal b/configs/lagun_gmoccapy/lagun.hal index 26369d8..6606dc0 100755 --- a/configs/lagun_gmoccapy/lagun.hal +++ b/configs/lagun_gmoccapy/lagun.hal @@ -1,20 +1,30 @@ +# ============================================================================ +# Lagun milling machine - Main HAL configuration # Generated by PNCconf at Fri Jul 26 13:18:08 2024 # Using LinuxCNC version: Master (2.9) # If you make changes to this file, they will be # overwritten when you run PNCconf again +# ============================================================================ +# --- Load realtime modules --- loadrt [KINS]KINEMATICS loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS base_thread_fp=1 loadrt hostmot2 -loadrt hm2_pci config="num_encoders=6 num_pwmgens=6" +loadrt hm2_pci config="num_encoders=6 num_pwmgens=6" +# mux16: used by pendant for jog increment, feed override, max velocity override, spindle override loadrt mux16 names=jogincr,foincr,mvoincr,soincr +# mux2: selects ferror value based on z-override state (attempted but unused) loadrt mux2 count=1 +# sum2: sums dual PID outputs for X(0), Y(1), Z(2) loadrt sum2 count=3 +# logic: 2-input AND gate for z-override mechanism +# personality 0x0102 = 1 output, 2 inputs, AND function loadrt logic count=1 personality=0x0102 addf logic.0 servo-thread addf mux2.0 servo-thread +# weighted_sum: for ADC reading (currently unused) loadrt weighted_sum wsum_sizes=8 #wsum_sizes=[128,64,32,16,8,4,2,1] # default should do conversion?? addf process_wsums servo-thread @@ -26,11 +36,19 @@ addf foincr servo-thread addf mvoincr servo-thread addf soincr servo-thread +# --- Mesa 5i24 global PWM/watchdog settings --- setp hm2_5i24.0.pwmgen.pwm_frequency 15500 setp hm2_5i24.0.pwmgen.pdm_frequency 15500 setp hm2_5i24.0.watchdog.timeout_ns 5000000 + +# --- Load PID controllers --- +# pid.x / pid.xl = X motor encoder / linear scale (dual loop) +# pid.y / pid.yl = Y motor encoder / linear scale (dual loop) +# pid.zl = Z linear scale (single loop, no motor encoder) +# pid.s = spindle (not actively used) loadrt pid names=pid.x,pid.y,pid.s,pid.xl,pid.yl,pid.zl +# --- Servo thread function execution order --- addf hm2_5i24.0.read servo-thread addf motion-command-handler servo-thread addf motion-controller servo-thread @@ -42,7 +60,10 @@ addf pid.zl.do-pid-calcs servo-thread addf pid.s.do-pid-calcs servo-thread addf hm2_5i24.0.write servo-thread -# relay outputs +# --- GPIO relay outputs (active low / inverted) --- +# GPIO 041 = spindle on/off relay +# GPIO 044 = Z-axis servo enable relay +# GPIO 046 = X-axis servo enable relay setp hm2_5i24.0.gpio.041.is_output true setp hm2_5i24.0.gpio.044.is_output true setp hm2_5i24.0.gpio.046.is_output true @@ -50,13 +71,15 @@ setp hm2_5i24.0.gpio.041.invert_output true setp hm2_5i24.0.gpio.044.invert_output true setp hm2_5i24.0.gpio.046.invert_output true -# some inputs +# --- GPIO button inputs (active low, not all wired into HAL logic) --- +# GPIO 029 = ESTOP, 030 = START, 031 = STOP setp hm2_5i24.0.gpio.027.is_output false -setp hm2_5i24.0.gpio.028.is_output false +setp hm2_5i24.0.gpio.028.is_output false setp hm2_5i24.0.gpio.029.is_output false # ESTOP setp hm2_5i24.0.gpio.030.is_output false # START setp hm2_5i24.0.gpio.031.is_output false # STOP +# Button wiring attempts - commented out, caused machine to shut off unexpectedly #net machine_estop_out <= hm2_5i24.0.gpio.029.in_not #net machine_estop_out => halui.machine.on @@ -69,7 +92,8 @@ setp hm2_5i24.0.gpio.031.is_output false # STOP # net btn-start hm2_5i24.0.gpio.030.in_not => halui.program.resume -# first ADC +# --- ADC inputs (commented out, unused) --- +# first ADC (GPIO 032-039) #setp hm2_5i24.0.gpio.032.is_output false #setp hm2_5i24.0.gpio.033.is_output false #setp hm2_5i24.0.gpio.034.is_output false @@ -79,7 +103,7 @@ setp hm2_5i24.0.gpio.031.is_output false # STOP #setp hm2_5i24.0.gpio.038.is_output false #setp hm2_5i24.0.gpio.039.is_output false -# second ADC +# second ADC (GPIO 040-047) #setp hm2_5i24.0.gpio.040.is_output false #setp hm2_5i24.0.gpio.041.is_output false #setp hm2_5i24.0.gpio.042.is_output false @@ -89,7 +113,7 @@ setp hm2_5i24.0.gpio.031.is_output false # STOP #setp hm2_5i24.0.gpio.046.is_output false #setp hm2_5i24.0.gpio.047.is_output false - +# weighted_sum wiring for ADC (unused) #net hm2_5i24.0.gpio.032 <= wsum.0.bit.0.in #net hm2_5i24.0.gpio.033 <= wsum.0.bit.1.in #net hm2_5i24.0.gpio.034 <= wsum.0.bit.2.in @@ -99,10 +123,16 @@ setp hm2_5i24.0.gpio.031.is_output false # STOP #net hm2_5i24.0.gpio.038 <= wsum.0.bit.6.in #net hm2_5i24.0.gpio.039 <= wsum.0.bit.7.in -# ****************** -# AXIS X JOINT 0 -# ****************** +# ============================================================================ +# AXIS X - JOINT 0 +# Dual PID: pid.x (motor encoder) + pid.xl (linear scale), summed via sum2.0 +# Motor encoder: hm2 encoder 03 +# Linear scale: hm2 encoder 00 +# PWM output: pwmgen.00 +# Enable relay: GPIO 046 (active low) +# ============================================================================ +# --- X motor encoder PID (velocity/damping loop) --- setp pid.x.Pgain [JOINT_0]P setp pid.x.Igain 0 setp pid.x.Dgain [JOINT_0]D @@ -118,6 +148,7 @@ net x-enable => pid.x.enable net x-pos-mtr => pid.x.feedback net x-output-mtr <= pid.x.output +# --- X linear scale PID (position correction loop) --- setp pid.xl.Pgain [JOINT_0]P_LIN setp pid.xl.Igain [JOINT_0]I_LIN setp pid.xl.Dgain [JOINT_0]D_LIN @@ -133,11 +164,13 @@ net x-enable => pid.xl.enable net x-pos-lin => pid.xl.feedback net x-output-lin <= pid.xl.output +# Sum motor + linear PID outputs for final X drive signal net x-output-lin => sum2.0.in0 net x-output-mtr => sum2.0.in1 net x-output <= sum2.0.out -net x-pos-cmd <= joint.0.motor-pos-cmd +# Position command feeds both PID loops +net x-pos-cmd <= joint.0.motor-pos-cmd net x-pos-cmd => pid.xl.command net x-pos-cmd => pid.x.command @@ -149,11 +182,13 @@ setp hm2_5i24.0.pwmgen.00.offset-mode 1 net x-output => hm2_5i24.0.pwmgen.00.value net x-enable joint.0.amp-enable-out => hm2_5i24.0.pwmgen.00.enable +# X enable also drives GPIO 046 relay net x-enable => hm2_5i24.0.gpio.046.out net x-pos-rawcounts <= hm2_5i24.0.encoder.00.rawcounts # ---Encoder feedback signals/setup--- +# Motor encoder (encoder 03) setp hm2_5i24.0.encoder.03.counter-mode 0 setp hm2_5i24.0.encoder.03.filter 1 setp hm2_5i24.0.encoder.03.index-invert 0 @@ -161,6 +196,7 @@ setp hm2_5i24.0.encoder.03.index-mask 0 setp hm2_5i24.0.encoder.03.index-mask-invert 0 setp hm2_5i24.0.encoder.03.scale [JOINT_0]ENCODER_MTR_SCALE +# Linear scale (encoder 00) setp hm2_5i24.0.encoder.00.counter-mode 0 setp hm2_5i24.0.encoder.00.filter 1 setp hm2_5i24.0.encoder.00.index-invert 0 @@ -173,15 +209,21 @@ net x-vel-mtr <= hm2_5i24.0.encoder.03.velocity net x-index-enable joint.0.index-enable <=> hm2_5i24.0.encoder.03.index-enable #net x-pos-mtr => joint.0.motor-pos-fb +# Linear scale provides the actual position feedback to the joint net x-pos-lin <= hm2_5i24.0.encoder.00.position net x-vel-lin <= hm2_5i24.0.encoder.00.velocity net x-index-enable joint.0.index-enable <=> hm2_5i24.0.encoder.00.index-enable net x-pos-lin => joint.0.motor-pos-fb -# ****************** -# AXIS Y JOINT 1 -# ****************** +# ============================================================================ +# AXIS Y - JOINT 1 +# Dual PID: pid.y (motor encoder) + pid.yl (linear scale), summed via sum2.1 +# Motor encoder: hm2 encoder 04 +# Linear scale: hm2 encoder 01 +# PWM output: pwmgen.02 +# ============================================================================ +# --- Y motor encoder PID (velocity/damping loop) --- setp pid.y.Pgain [JOINT_1]P setp pid.y.Igain 0 setp pid.y.Dgain [JOINT_1]D @@ -197,6 +239,7 @@ net y-enable => pid.y.enable net y-pos-mtr => pid.y.feedback net y-output-mtr <= pid.y.output +# --- Y linear scale PID (position correction loop) --- setp pid.yl.Pgain [JOINT_1]P_LIN setp pid.yl.Igain [JOINT_1]I_LIN setp pid.yl.Dgain [JOINT_1]D_LIN @@ -212,11 +255,13 @@ net y-enable => pid.yl.enable net y-pos-lin => pid.yl.feedback net y-output-lin <= pid.yl.output +# Sum motor + linear PID outputs for final Y drive signal net y-output-lin => sum2.1.in0 net y-output-mtr => sum2.1.in1 net y-output <= sum2.1.out -net y-pos-cmd <= joint.1.motor-pos-cmd +# Position command feeds both PID loops +net y-pos-cmd <= joint.1.motor-pos-cmd net y-pos-cmd => pid.yl.command net y-pos-cmd => pid.y.command @@ -233,6 +278,7 @@ net y-pos-rawcounts <= hm2_5i24.0.encoder.01.rawcounts # ---Encoder feedback signals/setup--- +# Motor encoder (encoder 04) setp hm2_5i24.0.encoder.04.counter-mode 0 setp hm2_5i24.0.encoder.04.filter 1 setp hm2_5i24.0.encoder.04.index-invert 0 @@ -240,6 +286,7 @@ setp hm2_5i24.0.encoder.04.index-mask 0 setp hm2_5i24.0.encoder.04.index-mask-invert 0 setp hm2_5i24.0.encoder.04.scale [JOINT_1]ENCODER_MTR_SCALE +# Linear scale (encoder 01) setp hm2_5i24.0.encoder.01.counter-mode 0 setp hm2_5i24.0.encoder.01.filter 1 setp hm2_5i24.0.encoder.01.index-invert 0 @@ -252,15 +299,28 @@ net y-vel-mtr <= hm2_5i24.0.encoder.04.velocity net y-index-enable joint.1.index-enable <=> hm2_5i24.0.encoder.04.index-enable #net y-pos-mtr => joint.1.motor-pos-fb +# Linear scale provides the actual position feedback to the joint net y-pos-lin <= hm2_5i24.0.encoder.01.position net y-vel-lin <= hm2_5i24.0.encoder.01.velocity net y-index-enable joint.1.index-enable <=> hm2_5i24.0.encoder.01.index-enable net y-pos-lin => joint.1.motor-pos-fb -#******************* -# AXIS Z JOINT 2 -#******************* +# ============================================================================ +# AXIS Z - JOINT 2 +# Single PID: pid.zl (linear scale only), output via sum2.2 +# Linear scale: hm2 encoder 02 +# PWM output: pwmgen.04 +# Enable relay: GPIO 044 (active low), gated by z-override AND gate +# +# Z-OVERRIDE MECHANISM: +# A HAL "logic AND" gate combines z-override (default TRUE) with z-enable. +# When z-override is set FALSE (via M101), the AND output goes low, +# disabling the Z servo and GPIO 044 relay. This allows manual quill use. +# M102 sets z-override back to TRUE to re-enable CNC Z control. +# MIN_FERROR is set to 100 in INI to prevent following errors during manual mode. +# ============================================================================ +# Z motor encoder PID commented out - no motor encoder on Z axis #setp pid.z.Pgain [JOINT_2]P #setp pid.z.Igain 0 #setp pid.z.Dgain [JOINT_2]D @@ -276,6 +336,7 @@ net y-pos-lin => joint.1.motor-pos-fb #net z-pos-mtr => pid.z.feedback #net z-output-mtr <= pid.z.output +# --- Z linear scale PID --- setp pid.zl.Pgain [JOINT_2]P setp pid.zl.Igain [JOINT_2]I setp pid.zl.Dgain [JOINT_2]D @@ -287,13 +348,17 @@ setp pid.zl.deadband [JOINT_2]DEADBAND setp pid.zl.maxoutput [JOINT_2]MAX_OUTPUT setp pid.zl.error-previous-target true +# Z-override AND gate: z-enable-comb = z-override AND z-enable +# When z-override is FALSE, Z servo is disabled (manual quill mode) net z-override => logic.0.in-00 net z-enable => logic.0.in-01 net z-enable-comb <= logic.0.and +# Default: z-override is TRUE (CNC controls Z) sets z-override TRUE -# this section about ferror doesnt work +# Attempted dynamic ferror switching (not functional - see INI workaround) +# mux2 selects between 100 (disabled) and 0.2 (enabled) based on z-enable-comb net z-enable-comb => mux2.0.sel setp mux2.0.in0 100 setp mux2.0.in1 0.2 @@ -304,11 +369,12 @@ net z-enable-comb => pid.zl.enable net z-pos-lin => pid.zl.feedback net z-output-lin <= pid.zl.output +# Z only has linear scale PID, no motor encoder sum needed net z-output-lin => sum2.2.in0 #net z-output-mtr => sum2.2.in1 net z-output <= sum2.2.out -net z-pos-cmd <= joint.2.motor-pos-cmd +net z-pos-cmd <= joint.2.motor-pos-cmd net z-pos-cmd => pid.zl.command #net z-pos-cmd => pid.z.command @@ -320,11 +386,13 @@ setp hm2_5i24.0.pwmgen.04.offset-mode 1 net z-output => hm2_5i24.0.pwmgen.04.value net z-enable joint.2.amp-enable-out => hm2_5i24.0.pwmgen.04.enable +# Z enable relay gated through AND gate (z-override mechanism) net z-enable-comb => hm2_5i24.0.gpio.044.out net z-pos-rawcounts <= hm2_5i24.0.encoder.02.rawcounts # ---Encoder feedback signals/setup--- +# Motor encoder (encoder 05) - not used on Z axis #setp hm2_5i24.0.encoder.05.counter-mode 0 #setp hm2_5i24.0.encoder.05.filter 1 #setp hm2_5i24.0.encoder.05.index-invert 0 @@ -332,6 +400,7 @@ net z-pos-rawcounts <= hm2_5i24.0.encoder.02.rawcounts #setp hm2_5i24.0.encoder.05.index-mask-invert 0 #setp hm2_5i24.0.encoder.05.scale [JOINT_2]ENCODER_MTR_SCALE +# Linear scale (encoder 02) setp hm2_5i24.0.encoder.02.counter-mode 0 setp hm2_5i24.0.encoder.02.filter 1 setp hm2_5i24.0.encoder.02.index-invert 0 @@ -344,19 +413,23 @@ setp hm2_5i24.0.encoder.02.scale [JOINT_2]ENCODER_LIN_SCALE #net z-index-enable joint.2.index-enable <=> hm2_5i24.0.encoder.05.index-enable #net z-pos-mtr => joint.2.motor-pos-fb +# Linear scale provides the actual position feedback to the joint net z-pos-lin <= hm2_5i24.0.encoder.02.position net z-vel-lin <= hm2_5i24.0.encoder.02.velocity net z-index-enable joint.2.index-enable <=> hm2_5i24.0.encoder.02.index-enable net z-pos-lin => joint.2.motor-pos-fb -#### SPINDLE #### +# ============================================================================ +# SPINDLE +# On/off relay via GPIO 041 (active low). No speed control or feedback. +# ============================================================================ #net spindle.0.on spindle-enable net spindle-enable spindle.0.on => hm2_5i24.0.gpio.041.out -#****************************** -# connect miscellaneous signals -#****************************** +# ============================================================================ +# MISCELLANEOUS SIGNALS +# ============================================================================ # ---coolant signals--- @@ -375,7 +448,7 @@ net machine-is-enabled <= motion.motion-enabled # ---digital in / out signals--- # ---estop signals--- - +# Estop loops back: user-enable-out feeds emc-enable-in (no external estop chain) net estop-out <= iocontrol.0.user-enable-out net estop-out => iocontrol.0.emc-enable-in @@ -395,4 +468,3 @@ net tool-number => hal_manualtoolchange.number # ---ignore tool prepare requests--- net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared - diff --git a/configs/lagun_gmoccapy/lagun_gmoccapy.ini b/configs/lagun_gmoccapy/lagun_gmoccapy.ini index 62c722c..e2dcaf7 100755 --- a/configs/lagun_gmoccapy/lagun_gmoccapy.ini +++ b/configs/lagun_gmoccapy/lagun_gmoccapy.ini @@ -1,12 +1,21 @@ +# Lagun milling machine configuration for GMOCCAPY GUI # Based on lagun config (PNCconf Fri Jul 26 13:18:08 2024) # Modified to use GMOCCAPY instead of AXIS # Using LinuxCNC version: Master (2.9) +# +# Hardware: Mesa 5i24 FPGA card (hm2_pci) +# Axes: X, Y (dual encoder: motor + linear scale), Z (linear scale only) +# Pendant: XHC WHB04B-6 wireless +# Spindle: On/off relay (no speed control) +# Units: Imperial (inches) +# --- General EMC settings --- [EMC] MACHINE = my_LinuxCNC_machine DEBUG = 0 VERSION = 1.1 +# --- GUI configuration --- [DISPLAY] DISPLAY = gmoccapy POSITION_OFFSET = RELATIVE @@ -17,6 +26,7 @@ MIN_SPINDLE_OVERRIDE = 0.500000 INTRO_GRAPHIC = linuxcnc.gif INTRO_TIME = 5 PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files +# Jog increments available in the GUI (inches) INCREMENTS = 0.1000 0.0500 0.0100 0.0050 0.0010 0.0005 0.0001 DEFAULT_LINEAR_VELOCITY = 3.0 MAX_LINEAR_VELOCITY = 1.000000 @@ -29,6 +39,7 @@ GEOMETRY = xyz CYCLE_TIME = 100 DEFAULT_SPINDLE_SPEED = 500 +# --- File type filters for loading programs --- [FILTER] PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image PROGRAM_EXTENSION = .py Python Script @@ -37,23 +48,31 @@ gif = image-to-gcode jpg = image-to-gcode py = python3 +# --- Task controller --- [TASK] TASK = milltask CYCLE_TIME = 0.010 +# --- G-code interpreter --- [RS274NGC] PARAMETER_FILE = linuxcnc.var +# Startup: G20=inch, G40=cancel cutter comp, G90=absolute, G94=feed/min, +# G97=RPM mode, G64 P0.001=path blending tolerance 0.001" RS274NGC_STARTUP_CODE = G20 G40 G90 G94 G97 G64 P0.001 +# --- Motion controller --- [EMCMOT] EMCMOT = motmod COMM_TIMEOUT = 1.0 +# 1ms servo period SERVO_PERIOD = 1000000 +# --- Mesa 5i24 FPGA card --- [HMOT] # **** This is for info only **** CARD0=hm2_5i24.0 +# --- HAL file loading order --- [HAL] HALUI = halui HALFILE = lagun.hal @@ -61,6 +80,16 @@ HALFILE = xhc-whb04b-6.hal POSTGUI_HALFILE = gmoccapy_postgui.hal SHUTDOWN = shutdown.hal +# --- MDI commands for HALUI (pendant macro buttons) --- +# Index 00: (unused, debug) +# Index 01: Halve X coordinate (macro button 1) +# Index 02: Halve Y coordinate (macro button 2) +# Index 03: (unused, debug) +# Index 04: (unused, debug) +# Index 05: Zero X in current work offset (macro button 5) +# Index 06: Zero Y in current work offset (macro button 6) +# Index 07: Zero Z in current work offset (macro button 7) +# Index 08-14: (unused, debug or reserved) [HALUI] MDI_COMMAND=(DEBUG,<1>) MDI_COMMAND=G10 L20 P0 X[#<_x>/2.0] @@ -78,24 +107,34 @@ SHUTDOWN = shutdown.hal MDI_COMMAND=(DEBUG,<13>) MDI_COMMAND=(DEBUG,<14>) +# --- Kinematics --- [KINS] JOINTS = 3 KINEMATICS = trivkins coordinates=XYZ +# --- Trajectory planner --- [TRAJ] COORDINATES = XYZ LINEAR_UNITS = inch ANGULAR_UNITS = degree DEFAULT_LINEAR_VELOCITY = 3.0 MAX_LINEAR_VELOCITY = 1.00 +# Allow motion without homing first NO_FORCE_HOMING = 1 +# --- I/O controller --- [EMCIO] EMCIO = io CYCLE_TIME = 0.100 TOOL_TABLE = tool.tbl +# Raise quill before tool change TOOL_CHANGE_QUILL_UP = 1 +#****************************************** +# X AXIS - Joint 0 +# Dual feedback: motor encoder (enc 03) + linear scale (enc 00) +# PWM output: pwmgen.00 +# Enable relay: GPIO 046 (active low) #****************************************** [AXIS_X] MAX_VELOCITY = 1.0 @@ -113,8 +152,7 @@ MAX_ACCELERATION = 30.0 # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. - - +# Motor encoder PID gains (velocity loop) P = 0 I = 0 D = 4 @@ -123,6 +161,7 @@ FF0 = 0 FF1 = 0.6 FF2 = 0 +# Linear scale PID gains (position correction loop) P_LIN = 300 I_LIN = 500 D_LIN = 0 @@ -131,6 +170,7 @@ BIAS = 0 DEADBAND = 0.0005 MAX_OUTPUT = 0 +# Encoder scales (counts per inch) ENCODER_LIN_SCALE = 5085.5 ENCODER_MTR_SCALE = -27939.6 # 5.4 is the ratio between linear and motor scales, roughly @@ -149,6 +189,12 @@ HOME_SEQUENCE = 2 OUTPUT_SCALE = 1 OUTPUT_OFFSET = 0 +#****************************************** +# Y AXIS - Joint 1 +# Dual feedback: motor encoder (enc 04) + linear scale (enc 01) +# PWM output: pwmgen.02 +# Enable relay: (shares Z-axis GPIO 044 line) +#****************************************** [AXIS_Y] MAX_VELOCITY = 1.0 MAX_ACCELERATION = 30.0 @@ -165,6 +211,7 @@ MAX_ACCELERATION = 30.0 # The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. +# Motor encoder PID gains (velocity loop) P = 0 I = 0 D = 5 @@ -173,6 +220,7 @@ FF0 = 0 FF1 = 0.6 FF2 = 0 +# Linear scale PID gains (position correction loop) P_LIN = 350 I_LIN = 500 D_LIN = 0 @@ -181,6 +229,7 @@ BIAS = 0 DEADBAND = 0 MAX_OUTPUT = 1 +# Encoder scales (counts per inch) ENCODER_LIN_SCALE = 5085.4 ENCODER_MTR_SCALE = 27453.6 # these are in nanoseconds @@ -194,10 +243,17 @@ MAX_LIMIT = +12 HOME_OFFSET = 0.0 HOME_SEQUENCE = 3 +# Negative scale inverts direction OUTPUT_SCALE = -1 OUTPUT_OFFSET = 0 #****************************************** +#****************************************** +# Z AXIS - Joint 2 +# Single feedback: linear scale only (enc 02), no motor encoder +# PWM output: pwmgen.04 +# Enable relay: GPIO 044 (active low), gated by z-override AND logic +# z-override allows M101/M102 to disable CNC Z for manual quill use #****************************************** [AXIS_Z] MAX_VELOCITY = 1.0 @@ -210,6 +266,8 @@ TYPE = LINEAR HOME = 0.0 FERROR = 0.5 # SETTING MIN_FERROR TO 100 ALLOWS Z AXIS TO DO WHATEVER. IDEALLY ITS 0.2 +# This is a workaround: when z-override disables the Z servo, the quill +# can be moved manually and would trip a normal following error limit. MIN_FERROR = 100 MAX_VELOCITY = 1.0 MAX_ACCELERATION = 30.0 @@ -217,6 +275,7 @@ MAX_ACCELERATION = 30.0 # If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger. STEPGEN_MAXVEL = 1.25 STEPGEN_MAXACCEL = 37.50 +# Linear scale PID gains (single loop, no motor encoder on Z) P = 200 I = 300 D = 2 @@ -237,12 +296,15 @@ MAX_LIMIT = +1.0 HOME_OFFSET = 0.0 HOME_SEQUENCE = 1 +# Negative scale inverts direction OUTPUT_SCALE = -1 OUTPUT_OFFSET = 0 +# Encoder scale (counts per inch) ENCODER_LIN_SCALE = -10075 #****************************************** +# --- Spindle PID (not actively used; relay on/off only) --- [SPINDLE_0] P = 0 I = 0 diff --git a/configs/lagun_gmoccapy/shutdown.hal b/configs/lagun_gmoccapy/shutdown.hal index 8766c9e..38a4651 100755 --- a/configs/lagun_gmoccapy/shutdown.hal +++ b/configs/lagun_gmoccapy/shutdown.hal @@ -1,2 +1,3 @@ # Include your shutdown HAL commands here # This file will not be overwritten when you run PNCconf again +# Currently no shutdown actions are configured. diff --git a/configs/lagun_gmoccapy/xhc-whb04b-6.hal b/configs/lagun_gmoccapy/xhc-whb04b-6.hal index 63fd22f..791bd6a 100755 --- a/configs/lagun_gmoccapy/xhc-whb04b-6.hal +++ b/configs/lagun_gmoccapy/xhc-whb04b-6.hal @@ -1,30 +1,35 @@ - +# ============================================================================ +# XHC WHB04B-6 wireless pendant configuration for Lagun mill +# Provides jog wheel, axis select, feed override, homing, and macro buttons +# ============================================================================ # ###################################################################### # load pendant components # ###################################################################### +# -H = HAL-only mode, -s = step mode, -f = filtered, -B = big (6-axis pendant) loadusr -W xhc-whb04b-6 -HsfB # ###################################################################### # pendant signal configuration # ###################################################################### -# On/Off signals +# --- Machine on/off --- net machine.is-on halui.machine.is-on whb.halui.machine.is-on # net pdnt.machine.on whb.halui.machine.on halui.machine.on # net pdnt.machine.off whb.halui.machine.off halui.machine.off -# program related signals +# --- Program state feedback (read-only status to pendant) --- net pdnt.program.is-idle whb.halui.program.is-idle halui.program.is-idle net pdnt.program.is-paused whb.halui.program.is-paused halui.program.is-paused net pdnt.program-is-running whb.halui.program.is-running halui.program.is-running +# Program control buttons disabled #net pdnt.program.resume whb.halui.program.resume halui.program.resume #net pdnt.program.pause whb.halui.program.pause halui.program.pause #net pdnt.program.run whb.halui.program.run halui.program.run #net pdnt.program.stop whb.halui.program.stop halui.program.stop -# machine mode related signals +# --- Machine mode (auto/manual/mdi/joint/teleop) --- net pdnt.mode.auto whb.halui.mode.auto halui.mode.auto net pdnt.mode.manual whb.halui.mode.manual halui.mode.manual net pdnt.mode.mdi whb.halui.mode.mdi halui.mode.mdi @@ -36,12 +41,12 @@ net pdnt.mode.is-mdi halui.mode.is-mdi net pdnt.mode.is-joint halui.mode.is-joint whb.halui.mode.is-joint net pdnt.mode.is-teleop halui.mode.is-teleop whb.halui.mode.is-teleop -# "is-homed" axis signal for allowing pendant when machine is not homed +# --- Homed status per axis (pendant needs this to allow jogging) --- net pdnt.axis.X.is-homed halui.joint.0.is-homed whb.halui.joint.x.is-homed net pdnt.axis.Y.is-homed halui.joint.1.is-homed whb.halui.joint.y.is-homed net pdnt.axis.Z.is-homed halui.joint.2.is-homed whb.halui.joint.z.is-homed -# "selected axis" signals +# --- Axis select (pendant rotary switch picks active axis) --- net pdnt.axis.X.select whb.halui.axis.x.select halui.axis.x.select net pdnt.axis.y.select whb.halui.axis.y.select halui.axis.y.select net pdnt.axis.Z.select whb.halui.axis.z.select halui.axis.z.select @@ -67,18 +72,27 @@ net pdnt.axis.y.jog-vel-mode whb.axis.y.jog-vel-mode net pdnt.axis.z.jog-vel-mode whb.axis.z.jog-vel-mode joint.2.jog-vel-mode -# macro buttons to MDI commands +# --- Macro buttons mapped to MDI commands (see [HALUI] in INI) --- +# Macro 1: halve X coord (MDI 01) +# Macro 2: halve Y coord (MDI 02) net pdnt.macro-1 whb.button.macro-1 halui.mdi-command-01 # use MDI command from main.ini net pdnt.macro-2 whb.button.macro-2 halui.mdi-command-02 # use MDI command from main.ini or used for Hardcoded lube on/off +# Macro 3,4: hardcoded spindle+/- inside pendant firmware #net pdnt.reserved.for.spindle+ whb.button.macro-3 # Hardcoded for spindle+ whb.halui.spindle.increase #net pdnt.reserved.for.spindle- whb.button.macro-4 # Hardcoded for spindle- whb.halui.spindle.decrease +# Macro 5: zero X (MDI 05) +# Macro 6: zero Y (MDI 06) +# Macro 7: zero Z (MDI 07) net pdnt.macro-5 whb.button.macro-5 halui.mdi-command-05 # use MDI command from main.ini net pdnt.macro-6 whb.button.macro-6 halui.mdi-command-06 # use MDI command from main.ini net pdnt.macro-7 whb.button.macro-7 halui.mdi-command-07 # use MDI command from main.ini +# Macro 8: hardcoded spindle direction inside pendant #net pdnt.reserved.for.spindle.dir whb.button.macro-8 # Hardcoded for spindle direction inside pendant net pdnt.macro-9 whb.button.macro-9 halui.mdi-command-09 # use MDI command from main.ini +# Macro 10: hardcoded ABS/REL DRO toggle net pdnt.reserved.for.ABS-REL whb.button.macro-10 # Hardcoded for swap Dro Relative/Absolue net pdnt.macro-14 whb.button.macro-14 halui.mdi-command-14 # use MDI command from main.ini +# Macro 15,16: hardcoded flood/mist toggles net pdnt.reserved.for.flood whb.button.macro-15 # Hardcoded for halui.flood on/off net pdnt.reserved.for.mist whb.button.macro-16 # Hardcoded for halui.mist on/off @@ -87,7 +101,7 @@ net pdnt.macro.12 whb.button.macro-12 net pdnt.macro.13 whb.button.macro-13 halui.mdi-command-13 # use MDI command from main.ini -# flood and mist toggle signals +# --- Flood and mist coolant toggle (pendant hardcoded buttons) --- net pdnt.flood.is-on whb.halui.flood.is-on halui.flood.is-on #return signal is on or off net pdnt.flood.off whb.halui.flood.off halui.flood.off #reserved whb.button.macro-15 net pdnt.flood.on whb.halui.flood.on halui.flood.on #reserved whb.button.macro-15 @@ -96,19 +110,20 @@ net pdnt.mist.is-on whb.halui.mist.is-on net pdnt.mist.off whb.halui.mist.off halui.mist.off #reserved whb.button.macro-16 net pdnt.mist.on whb.halui.mist.on halui.mist.on #reserved whb.button.macro-16 +# Lube control (unused) #net pdnt.lube.is-on whb.halui.lube.is-on halui.lube.is-on #return signal is on or off #net pdnt.lube.off whb.halui.lube.off halui.lube.off #reserved whb.button.macro-2 #net pdnt.lube.on whb.halui.lube.on halui.lube.on #reserved whb.button.macro-2 -# default function button signals +# --- Default function buttons --- net pdnt.button.m-home whb.button.m-home halui.home-all # Homing use built-in halui home all net pdnt.button.safe-z whb.button.safe-z halui.mdi-command-03 # Safe-z use MDI command from main.ini net pdnt.button.w-home whb.button.w-home halui.mdi-command-04 # Unpark use MDI command from main.ini net pdnt.button.probe-z whb.button.probe-z halui.mdi-command-08 # Probe-Z use MDI command from main.ini -# unused, just exposes pendant internal status or as basic button +# --- Unused pendant status/button signals --- #net pdnt.mode-lead whb.halui.feed.selected-lead #net pdnt.mode-mpg-feed whb.halui.feed.selected-mpg-feed #net pdnt.mode-continuous whb.halui.feed.selected-continuous @@ -127,7 +142,7 @@ net pdnt.button.probe-z whb.button.probe-z #net pdnt.button.feed-minus whb.button.feed-minus -# spindle related signals +# --- Spindle control (disabled - relay-only spindle, no speed feedback) --- #net pdnt.spindle.is-on whb.halui.spindle.is-on spindle.0.on #net pdnt.spindle.start whb.halui.spindle.start halui.spindle.0.start #net pdnt.spindle.stop whb.halui.spindle.stop halui.spindle.0.stop @@ -138,33 +153,31 @@ net pdnt.button.probe-z whb.button.probe-z #net pdnt.spindle-speed-abs whb.halui.spindle-speed-cmd spindle.0.speed-out-abs # speed cmd from motion in rpm absolue -# spindle speed override signals +# --- Spindle speed override (disabled) --- #net pdnt.spindle-override.scale whb.halui.spindle-override.scale halui.spindle.0.override.scale # needed for both spindle+/- and spindleoverride+/- button #net pdnt.spindle.override.value halui.spindle.0.override.value whb.halui.spindle-override.value # GUI feed rate related signals #net pdnt.spindle.override.increase whb.halui.spindle-override.increase halui.spindle.0.override.increase #net pdnt.spindle.override.decrease whb.halui.spindle-override.decrease halui.spindle.0.override.decrease -# GUI feed rate related signals can be used when program is running moving GUI slider +# --- Feed override (pendant knob controls feed rate) --- net pdnt.feed-override.scale whb.halui.feed-override.scale halui.feed-override.scale # needed for both FeedOverride+/- and rotary knob button net pdnt.max-velocity.value whb.halui.max-velocity.value halui.max-velocity.value # needed for Mpg mode : button feed position% * max-velocity = Mpg feedrate -# take feed override min/max values from/to the GUI +# --- Feed override value and increment/decrement --- net pdnt.feed-override.value halui.feed-override.value whb.halui.feed-override.value # GUI feed rate related signals net pdnt.feed-override.increase whb.halui.feed-override.increase halui.feed-override.increase net pdnt.feed-override.decrease whb.halui.feed-override.decrease halui.feed-override.decrease -# axis position related signals feedback +# --- Axis position feedback to pendant display --- net pdnt.axis.x.pos-feedback halui.axis.x.pos-feedback whb.halui.axis.x.pos-feedback net pdnt.axis.y.pos-feedback halui.axis.y.pos-feedback whb.halui.axis.y.pos-feedback net pdnt.axis.z.pos-feedback halui.axis.z.pos-feedback whb.halui.axis.z.pos-feedback -# axis position related signals relative +# --- Axis position relative to work offset (for pendant DRO) --- net pdnt.axis.x.pos-relative halui.axis.x.pos-relative whb.halui.axis.x.pos-relative net pdnt.axis.y.pos-relative halui.axis.y.pos-relative whb.halui.axis.y.pos-relative net pdnt.axis.z.pos-relative halui.axis.z.pos-relative whb.halui.axis.z.pos-relative - - diff --git a/datasheets/5i24man.pdf b/datasheets/5i24man.pdf new file mode 100644 index 0000000..1871ba3 Binary files /dev/null and b/datasheets/5i24man.pdf differ diff --git a/datasheets/7i37man.pdf b/datasheets/7i37man.pdf new file mode 100644 index 0000000..c0390b6 Binary files /dev/null and b/datasheets/7i37man.pdf differ diff --git a/datasheets/7i52man.pdf b/datasheets/7i52man.pdf new file mode 100644 index 0000000..dcbc96e Binary files /dev/null and b/datasheets/7i52man.pdf differ diff --git a/datasheets/sinoKA.pdf b/datasheets/sinoKA.pdf new file mode 100644 index 0000000..f21918e Binary files /dev/null and b/datasheets/sinoKA.pdf differ diff --git a/datasheets/sinoKA.txt b/datasheets/sinoKA.txt new file mode 100644 index 0000000..2e17c94 --- /dev/null +++ b/datasheets/sinoKA.txt @@ -0,0 +1,1722 @@ +KA Series +Closed linear grating scale +GUANGZHOU LOKSHUN CNC EQUIPMENT LTD. + + Directory + +SINO + +Directory + +General Description................................................... ú-1 + +Operating Guideline................................................... ú-2 + +Safety Considerations................................................ + +ú-3 + +1. Technical Parameters............................................... + +1 + +2. Encoder Structure.................................................. + +3 + +3. Optional Parts...................................................... + +4 + +4. Installation........................................................... + +7 + +4.1 Installation Dimension ........................................... 7 + +4.2 Principle of installation........................................... 11 + +4.3 Installation of Encoder and Enclosure...................... 12 + +4.4 Installation of Reading Head.................................. + +15 + +4.5 Switchover of Reading Head Cable......................... + +17 + +5. Acceptance Rules..................................................... 18 + + General Description + +SINO + +General Description +Many thanks for your use of this series of encoder. It is China's most famous international brand. It will be your best bet once you choose it. SINO brand was initially founded in 1989. We are a professional factory dedicated to manufacture of encoder numerical display. By continuous modification and improvement through years of research and production, we have developed today's KA series linear encoder. The KA series encoder under this manual includes KA-300, KA-600, KA-500 and KA-200, which can meet the requirements in different applications. +KA-300 is a type of encoder with wide applications. It features in optimal structure, good appearance and high rigidity, able to meet the needs of the majority of general machine users. The length is 70~1020mm. +KA-600 encoder, which is specifically designed for large machine tool, features in large size and good rigidity. Support may be added to any position of the encoder to enhance the rigidity and stability. The length is 1000~3000mm. +KA-500 is a mini-encoder specially designed for the machine tool which has a low installation size and small operation space. It can meet the needs of those customers who have requirements for position. The length is 70~470mm. +KA-200, a mini-encoder smaller than KA-500, is designed based on kA-500 by optimizing the internal and external structure. It is suitable to the equipment on which the installation is restricted and the space is even smaller. The length is 30-360mm. + +I-1 + + Operating Guideline + +SINO + +Operating Guideline +z Before use, the user must read the General Description, Safety Considerations and all the contents in Chapter 1 ~ 3. +z Except the General Description, Safety Considerations and all the contents in Chapter 1 ~ 3, the technicians for installation, testing and repair must thoroughly understand all the contents in Chapter 4~5. +z This Operating Instructions is only applicable to SINO's KA series integrated linear encoder. +z Please read the Safety Considerations below. It is critical information related to safe use of your linear encoder. + +I-2 + + Safety Considerations + +SINO + +Safety Considerations +Caution: To avoid electric shock or fire, the equipment connected to encoder shall be kept +from moisture or direct contact with cooling liquids. Encoder is a precision measuring instrument. To ensure its normal function, never +expose it to external shock or vibration. Warning: To prevent mal-alignment of encoder and avoid electric shock, never open any seal +on encoder. There is no part that needs the user's repair. Please ask the authorized technicians to repair. Notes : z If finding any smoke or smell from the reading head, please immediately cut off the power supply. As the encoder connects with the numerical display to form a precision measuring instrument, continued use in event of above phenomena might cause fire or electric shock to the numerical display. Please contact LOK SHUN CNC EQUIPMENT LTD. or its dealer. Never try to repair by yourself. z Once the wire between numerical display and encoder is broken or damaged during use, it will cause error to the test data. The user shall take special care on this. z Never try to repair or refit the scale, as it might cause failure, trouble or damage. + +The displacement sensor complies with 2006/95/EC directive for low-voltage electric apparatus and 2004/108/EC directive for EMC. +Our company has passed the authorization and the audit of ISO9001 Quality System, ISO14001 Environmental System, OHSAS18001 Occupational Health and Safety System. +I-3 + + Optical grating linear encoder (Operating Instructions) + +SINO + +In light of the principle focused on easy installation, use and maintenance by the user, LOK SHUN CNC EQUIPMENT LTD. has developed KA series linear encoder based on the condition of optimized structure and guaranteed precision. With a precision conforming to standard, this product features in good rigidity, straightness, sealing and appearance. The accessories and spare parts are easy to install and repair, resulting in largely reduced installation labors. Please read the following chapters thoroughly, so that you may use this device more easily. + +1. Technical Parameter + +1.1 Scaling distance: 0.02 mm (50lines /mm) + +1.2 Resolution: 5µma1µma0.5µm + +1.3 Precision: 3µma5µma15µm/m c200.1¥ + +1.4 Measuring range: 30~3000mm + +1.5 Moving speed: High-speed encoder 120 m/min (To be customized) + +Ordinary encoder 60m/min + +1.6 Power supply: +5V±5%a80mA + +1.7 Cable length: Standard 3m (Special length available according to the user's needs)1 + +1.8 Working Temperature: 0~45¥ 1.9 Pin Description: + +1 + +5 + +FG + +1) Applicable to: 9 pin socket RS-422 signal Output. + +6 + +9 + +Pin + +1 + +2 + +3 + +4 + +5 + +67 + +8 + +9 + +Position + +Signal A OV + +B Empty Z + +A +5V B + +Z + +Green + +Orange + +White + +Color + +Black + +FG + +Green Red Orange White + +Black + +black + +black + +FG: Shield connected to metal casing. + +1 Standard Cable Length for KA -200 Encoder:2m . +1 + + Optical grating linear encoder (Operating Instructions) + +SINO + +2) Applicable to: 9 pin socket TTL signal Output. + +Pin + +1 + +2 + +3 + +4 + +Position + +Signal Empty OV Empty Empty + +Color Black + +FG + +FG: Shield connected to metal casing. + +5 +Empty + +6 + +7 + +A +5V + +Green Red + +6 + +7 1 + +8 +B +Orange + +9 +Z +White + +3) Applicable to: 7 pin socket TTL signal Output. + +Pin Position 1 + +2 + +3 + +4 + +5 + +6 + +7 + +Signal + +OV Empty A + +B +5V Z Shield + +Color Black Green Orange Red White + +1.10 Signal Waveform + +TTL signal Output: + +RS-422 signal Output: + +Signal Cycle + +A + +5V + +B 90¢Phase Difference Z + +Signal Cycle A A B B +Z Z + +1.11 Encoder Zero Position: 1 every 50mm + +1.12 Output pulse signal cycle of encoder PW + +Resolution Equivalent per pulse PW + +5µm + +20µm + +1µm + +4µm + +pw + +0.5µm + +2µm + +2 + + Optical grating linear encoder (Operating Instructions) + +SINO + +2. Encoder Structure: + +The encoder mainly consists of scaling body and reading head, as shown in Fig.1: + +KA-300 + +1 + +EncoderMounting + +Hole + +Sealing Strip + +4 + +2 Encoder End Cover + +Tightening Screw Adjusting Screw 3 Reading Head Mounting Hole + +KA-600 + +1 + +Sealing Strip + +Encoder End Cover + +4 + +Tightening Screw + +Adjusting Screw 3 + +KA-500 + +2 Reading Head Mounting Hole 1 + +Encoder Mounting Hole + +4 Encoder End Cover +Tightening Screw +Adjusting Screw + +Encoder Mounting Hole Sealing Strip +2 Reading Head Mounting Hole 3 + +3 + + Optical grating linear encoder (Operating Instructions) + +KA-200 + + + +SINO + +Encoder End Cover Tightening Screw + +Encoder Mounting Hole Sealing Strip + Reading Head Mounting Hole + +Fig. 1 1. Scaling body 2. Cable 3. Read head 4. Connection plate fixing the reading +head 3. Optional Parts +To install and use the encoder normally under different conditions, we have designed the following spare parts: KA-300: + +KA-300-D Full +Enclosure +Fig. 2 +KA-300-B Full +Enclosure +Fig. 5 + +KA-300-X Full +Enclosure +Fig. 3 + +KA-300-C Full +Enclosure +Fig. 4 + +KA-300 Supporting Plate +Fig. 6 + +4 + + Optical grating linear encoder (Operating Instructions) + +SINO + +KA-600: + +KA-300 Supporting Plate (B Type) +Fig. 7 + +KA-600M Enclosure + +KA-500: + +Fig. 8 + +KA-500-H Full Enclosure +Fig.10 +KA-200: + +KA-200 Full Enclosure +Fig. 12 + +KA600 Hanging Plate +Fig. 9 +KA-500 Supporting Plate +Fig. 11 +KA-200 Semi-Enclosure +Fig. 13 +5 + + Optical grating linear encoder (Operating Instructions) + +SINO + +KA-200 Supporting Plate +Fig. 14 +General Parts for Installation: T-Type Frame A, B, C, D, E + +10 40 22 10 5 4 + +10 4 +140 T-type Frame A + +R3 + +6 + +68 + +6.3 + +2_M5 + +14 0.075 68 0.15 + +8 40 +4 25 + +10 +84 +6.3 2_M4 68 0.15 + +50 + +14 0.075 68 0.15 + +T-type Frame B + +6.3 +2_M5 +6 + +129 1 + +100 + +75 31 24 + +15 + +68 + +6.3 + +5 2_M5 + +82 + +6.3 +T-Type Frame Extension Plate C + +2-M4 R3 +R3 + +10 31 36 +6.3 +15 2-M4 72 5 +14 + +10 + +6 + +68 + +5 2_4 + +82 + +T-Type Extension Plate D + +Fig. 15 + +10 T-Type Frame E + +6 + + Optical grating linear encoder (Operating Instructions) + +SINO + +4. Installation + +4.1 Installation Dimension + +Overall Dimension of KA-300 Encoder + +2-M4 + +8 6 + +12.5 + +68.0 6 + +34.5 + +62.5 + +62.5 + +37 0.5 + +12 8 8 + +25.0 + +2-M4 + +68.0 + +21.0 + +82.0 + +25.0 + +L0 + +L1 + +L2 + +Fig.16 + +Model + +L0 + +L1 + +L2 + +Model + +L0 + +L1 + +L2 + +KA300-70 + +70 + +160 + +176 + +KA300-570 + +570 + +660 + +676 + +KA300-120 + +120 + +210 + +226 + +KA300-620 + +620 + +710 + +726 + +KA300-170 + +170 + +260 + +276 + +KA300-670 + +670 + +760 + +776 + +KA300-220 + +220 + +310 + +326 + +KA300-720 + +720 + +810 + +826 + +KA300-270 + +270 + +360 + +376 + +KA300-770 + +770 + +860 + +876 + +KA300-320 + +320 + +410 + +426 + +KA300-820 + +820 + +910 + +926 + +KA300-370 + +370 + +460 + +476 + +KA300-870 + +870 + +960 + +976 + +KA300-420 + +420 + +510 + +526 + +KA300-920 + +920 + +1010 + +1026 + +KA300-470 + +470 + +560 + +576 + +KA300-970 + +970 + +1060 + +1076 + +KA300-520 + +520 + +610 + +626 + +KA300-1020 + +1020 + +1110 + +1126 + +L0: Effective measuring length of encoder L1: Dimension of encoder mounting hole + +L2: Encoder overall dimension + +7 + + Optical grating linear encoder (Operating Instructions) +Overall Dimension of KA-600 Encoder +1000 2-M4 +68 1000 + +SINO + +25 + +45 + +71 + +42 0.5 + +25 + +8 + +2-M5 + +68 + +21 + +82 + +30 32 + +L0 + +L1 + +L2 + +Fig.17 + +Model + +L0 + +L1 + +L2 + +Model + +L0 + +L1 + +L2 + +KA600-1000 + +1000 + +1150 + +1170 + +KA600-2100 + +2100 + +2250 + +2270 + +KA600-1100 + +1100 + +1250 + +1270 + +KA600-2200 + +2200 + +2350 + +2370 + +KA600-1200 + +1200 + +1350 + +1370 + +KA600-2300 + +2300 + +2450 + +2470 + +KA600-1300 + +1300 + +1450 + +1470 + +KA600-2400 + +2400 + +2550 + +2570 + +KA600-1400 + +1400 + +1550 + +1570 + +KA600-2500 + +2500 + +2650 + +2670 + +KA600-1500 + +1500 + +1650 + +1670 + +KA600-2600 + +2600 + +2750 + +2770 + +KA600-1600 + +1600 + +1750 + +1770 + +KA600-2700 + +2700 + +2850 + +2870 + +KA600-1700 + +1700 + +1850 + +1870 + +KA600-2800 + +2800 + +2950 + +2970 + +KA600-1800 + +1800 + +1950 + +1970 + +KA600-2900 + +2900 + +3050 + +3070 + +KA600-1900 + +1900 + +2050 + +2070 + +KA600-3000 + +3000 + +3150 + +3170 + +KA600-2000 + +2000 + +2150 + +2170 + +L0: Effective measuring length of encoder L1: Dimension of encoder mounting hole + +L2: Encoder overall dimension + +8 + + Optical grating linear encoder (Operating Instructions) +Overall Dimension of KA-500 Encoder +6 4 + +SINO + +3.5 + +18 + +20 + +43 + +25.2±0.3 43.5 + +20 + +2-M3 + +56 + +14 + +70 + +L0 + +L1 + +L2 +Fig.18 + +Model + +L0 + +L1 + +L2 + +KA500-70 + +70 + +172 + +182 + +KA500-120 + +120 + +222 + +232 + +KA500-170 + +170 + +272 + +282 + +KA500-220 + +220 + +322 + +332 + +KA500-270 + +270 + +372 + +382 + +L0: Effective measuring length of encoder + +L2: Encoder overall dimension + +Model + +L0 + +L1 + +L2 + +KA500-320 + +320 + +422 + +432 + +KA500-370 + +370 + +472 + +482 + +KA500-420 + +420 + +522 + +532 + +KA500-470 + +470 + +572 + +582 + +L1: Dimension of encoder mounting hole + +9 + + Optical grating linear encoder (Operating Instructions) +Overall Dimension of KA-200 Encoder +L1 + +SINO + +5 + +8 + +3.2 + +56 + +2-M4 + +6 + +L2 + +L1 + +L0 + +16 + +20.1±0.2 32.5 13 16 32 + +4.5 + +7.5 + +3.2 6 + +56 74 +Fig.19 + +2- 4.2 + +14 + +Model + +L0 + +L1 + +L2 + +KA200-30 + +30 + +125 + +133 + +KA200-40 + +40 + +135 + +143 + +KA200-50 + +50 + +145 + +153 + +KA200-60 + +60 + +155 + +163 + +KA200-70 + +70 + +165 + +173 + +KA200-80 + +80 + +175 + +183 + +KA200-90 + +90 + +185 + +193 + +KA200-100 100 + +195 + +203 + +KA200-110 110 + +205 + +213 + +KA200-120 120 + +215 + +223 + +KA200-130 130 + +225 + +233 + +KA200-140 140 + +235 + +243 + +KA200-150 150 + +245 + +253 + +L0: Effective measuring length of encoder + +L2: Encoder overall dimension + +Model + +L0 + +L1 + +L2 + +KA200-160 + +160 + +255 + +263 + +KA200-170 + +170 + +265 + +273 + +KA200-180 + +180 + +275 + +283 + +KA200-190 + +190 + +285 + +293 + +KA200-200 + +200 + +295 + +303 + +KA200-220 + +220 + +315 + +323 + +KA200-240 + +240 + +335 + +343 + +KA200-260 + +260 + +355 + +363 + +KA200-280 + +280 + +375 + +383 + +KA200-300 + +300 + +395 + +403 + +KA200-320 + +320 + +415 + +423 + +KA200-340 + +340 + +435 + +443 + +KA200-360 + +360 + +455 + +463 + +L1: Dimension of encoder mounting hole + +Note: (1) Select the measuring range of encoder according to the travel of machine tool. The measuring range of encoder must be higher than the maximum travel of +10 + + Optical grating linear encoder (Operating Instructions) + +SINO + +the machine tool. + +(2) Select proper parts according to the length and mounting plane provided. + +(3) The hanging plate needed for KA-600 encoder shall be arranged every 1000mm, respectively 2 hanging plates if 1000L<2000; 3 plates if 2000L<3000; and 4 plates if L=3000. + +4.2 Principle of Installation: + +(1) The encoder must be installed with the guide rail of machine tool as the benchmark and be kept in parallel. The center of encoder measuring range must be positioned on the center of travel of machine tool. Ensure that the actual measuring range of encoder is higher than the maximum travel of machine tool. + +(2) The installation shall be based on priority principle as such that the encoder shall be installed close to the drive screw of machine tool. After installation, the body of encoder moves with the work bench, while the reading head is fixed on the machine tool. + +(3) The encoder shall be so installed that it will not obstacle the operation or reduce the function of machine tool. + +(4) After installation, the encoder shall be kept from knock. During machining, it shall not obstacle the handle of machine tool or affect the brake or other protrusions. It is not easy to contact when a work piece drops. + +(5) The encoder shall be vertically installed, as shown in Fig.20. But wherever impermissible, horizontal installation is also acceptable. Never install the encoder upside down (that is, reading head on top and encoder body at lower). Never direct the rubber seal of encoder toward the outlet of cooling oil from machine tool. + +Fig 20 +11 + + Optical grating linear encoder (Operating Instructions) + +SINO + +(6) The encoder enclosure shall be securely earthed to ensure the signal integrity. + +(7) The parallelism and verticality between encoder and guide rail of machine tool shall be within 0.10 mm/m. + +4.3 Installation of Encoder and its Enclosure + +(1) Installation of KA-300C Enclosure Encoder + +L0+125 + +6 + +28 + +1 31 8 +8 12 11 60 73.7 + +2-M5 + +21 25 +a. Select proper installation position; +b. Mark line on the mounting plane according to the length of installation, and drill M4 mounting hole. +c. Install the encoder onto mounting plane. Use the dial gauge to check the parallelism between encoder and guide rail of machine tool, and adjust it to best state. (See Fig. 21) +90 0 10 + +70 80 40 50 60 + +20 30 40 50 60 + +90 0 10 20 30 + +70 80 + +d. Fix the encoder onto mounting plane. + +Fig .21 + +e. Adjust the screw fixing the reading head, making it slightly touch the mounting plane. + +f. Drill M4 screw hole according to the mounting hole on reading head. + +g. Fix the reading head and remove the connection plate. + +h. Drill M4 screw hole according to the mounting hole on encoder enclosure. + +i. Fix the encoder onto mounting +12 + +plane. + + Optical grating linear encoder (Operating Instructions) +(2) KA-200 Semi-enclosure Encoder: +L+80 18.5 + +SINO + +3.25 2.3 +3±1 42.4 +30.8 + +56 + +14 + +74 + +16 + +The installation method is same as that for KA-300C enclosure encoder. + +(3) KA-300B Enclosure Encoder + +L0+125 + +6 + +40 + +23.5 + +40.5 + +62.5 + +8 12 370.5 + +31 8 + +25 + +2-M5 + +68 + +21 + +82 + +25 + +a. Select proper installation position + +b. Mark line on the mounting plane according to the mounting dimension of reinforced support plate for B-type enclosure. Drill M4 screw hole. + +c. Fix the reinforced support plate slightly onto mounting plane. Use dial gauge to + +check the parallelism between reinforced support plate and guide rail of machine + +tool, and adjust it to best state. (Fig. 22) + +90 0 10 + +70 80 + +20 30 + +20 30 40 50 60 + +40 50 60 + +90 0 10 + +70 80 +d. Fix the reinforced support plate onto mounting plane. + +e. Install the encoder onto reinforced support plate. + +Fig .22 + +f. Adjust the screw fixing the reading head, making it slightly touch the mounting plane. + +13 + + Optical grating linear encoder (Operating Instructions) + +SINO + +g. Drill M4 screw hole according to the mounting hole on reading head. + +h. Fix the reading head and remove the connection plate. + +i. Fix the encoder onto reinforced support plate. + +(4) Installation of D, X & H Enclosure and KA-200 Full-enclosure Encoder + +KA-300D Enclosure Encoder: + +L0+139 + +L0+135 + +6 + +39 + +31 8 +8 12 37 0.5 63.7 + +2-M5 + +68 82 +KA-300X Enclosure Encoder: + +L0+139 + +L0+135 + +6 + +39 + +31 8 +8 12 37 0.5 63.7 + +2-M5 + +68 82 + +14 + + Optical grating linear encoder (Operating Instructions) +KA-500H Enclosure Encoder: +L0+134 + +20.5 + +SINO + +45.3 24.2 + +43.5 + +20 + +56 70 +KA-200 Full-Enclosure Encoder: +L+133 + +14 18 +24.5 + +36.1 20.5 + +56 + +14 + +74 + +16 + +The installation method is same as that for KA-300B enclosure encoder. + +(5) Installation of KA-600M Enclosure Encoder +L0+240 + +43 + +73 + +79 + +25 + +21 30 32 +4.4 Installation of Reading Head +The reading head may be positively or reversely installed on the machined or non-machined plane. Generally, positive installation is used. The reverse installation is used only when the installation space is not enough and it is not easy to install positively. +(1) Positive Installation of Reading Head +Shown in Fig. 23 is positive installation of reading head. During installation, take care +15 + + Optical grating linear encoder (Operating Instructions) + +SINO + +that the encoder plane shall be kept parallel to the reading head plane and that their sectional centers shall be kept consistent, with an error within 0.10mm. + +(2) Reverse Installation of Reading Head + +Shown in Fig. 24 is reverse installation of reading head. The installation steps are as follows: + +a. Install T-frame (optional) onto machine tool. + +b. Remove the connection plate fixing the reading head. + +c. Adjust the tightening screw on T-frame mounting plate, making it slightly touch the reading head. + +d. Use front and rear M5 screw to fix the reading head onto mounting plate of T-frame. + +e. Adjust the position of T-frame plates, making the reading head in a relative position to the encoder as shown in Fig. 24. +f. Install the encoder by using T-frame. + +Adjusting Screw + +Non-machined mounting plane + +I + +Adjusting screw + +Fig. 23 + +3 0.5 + +Fig .24 + +16 + + Optical grating linear encoder (Operating Instructions) + +SINO + +4.5 Switchover of Reading Head Cable (Applicable to KA-300, KA-500 and + +KA-600) + +Upon shipment, left or right outlet is + +available for the reading head cable + +according to different specifications. You may change the direction of the + +Adjusting Hole + +cable if needed. The steps are as + +follows: + +(1) Loosen and remove 4 cross-head screws M2 fixing the reading head cover and 2 adjusting screws M3 on the right side of reading head. + +(2) Put 2 socket hexagonal screws M4 into the adjusting screw hole and screw forward respectively to prop up the cover plate. When there is a clearance, use screwdriver to prize up the cover plate along the edge of reading head. + +(3) Loosen 2 slotted-head screws M3 fixing the cable on the bottom of reading head. Remove the cable and terminal. Change the direction. + +(4) Before reinstalling the cover plate, remove the original sealing glue before applying new sealing glue. + +(5) Remove socket hexagonal screw M4. Reinstall the cover plate and tighten 4 cross-head screws M2. + +Note: To avoid slippery of screw head, please use correct tools in each step. + +End Tighteningscrew + +Tightening screw + +Note: The cable on KA-200 reading head is factory installed on right side. Installation on left side is available if requested. + +17 + + Optical grating linear encoder (Operating Instructions) + +SINO + +5. Acceptance Rules + +5.1 The connection of reading head shall have adequate rigidity. Shaking with force and observing the numerical display, the value shown on it will have some deviation. If releasing your hand, the value on numerical display shall be able to resume to original value. + +5.2 The reading head shall located at the center of encoder, so that the sealing strip may close or open symmetrically, as shown. + +5.3 The connecting plate may guarantee the position of reading head in encoder center and its relative position to encoder body. + +5.4 The position of reading head relative to encoder and its mounting dimension are shown below. + +The distance between read head and scaling body is 3mm 0.5mm. + +Permissible angle tolerance is ±0.2mm. + +18 + + Optical grating linear encoder (Operating Instructions) + +SINO + +Permissible angle tolerance is ±0.2mm. + +Permissible horizontal offset is ±0.2mm. + +Permissible angle tolerance is ±0.2mm. + +19 + + LOK SHUN CNC EQUIPMENT LTD. +http://www.sino-ld.com +AddNo.17 Yunjun Road,Luogang District,Guangzhou +p.c510530 Tel02066839300 Fax02066839301 Hotline400-111-8148 E-mailinfos@sino-ld.com + + \ No newline at end of file diff --git a/nc_files/M101 b/nc_files/M101 index e8c47f6..718afa2 100755 --- a/nc_files/M101 +++ b/nc_files/M101 @@ -1,4 +1,5 @@ #!/bin/bash +# M101: Enable CNC Z-axis control via HAL signal (pair with M102 to disable) halcmd sets z-override True exit 0 \ No newline at end of file diff --git a/nc_files/M102 b/nc_files/M102 index 4976863..05b6595 100755 --- a/nc_files/M102 +++ b/nc_files/M102 @@ -1,4 +1,5 @@ #!/bin/bash +# M102: Disable CNC Z-axis control for manual quill operation (pair with M101 to re-enable) halcmd sets z-override False exit 0 \ No newline at end of file diff --git a/nc_files/bore.ngc b/nc_files/bore.ngc index 65e2d5c..e8d2aba 100755 --- a/nc_files/bore.ngc +++ b/nc_files/bore.ngc @@ -1,3 +1,6 @@ +; Helical bore subroutine - cuts a circular hole by helical interpolation +; Params: #1=x, #2=y, #3=diameter, #4=zstart, #5=zend, #6=stepdown +; Uses #<_td> (tool diameter) to compute offset radius o sub ; x, y, d, stepdown, zstart, zend G90 @@ -5,22 +8,22 @@ o sub G0 X#1 Y#2 G0 Z#4 - G1 X[#1+#3/2-#<_td>/2] Y[#2] + G1 X[#1+#3/2-#<_td>/2] Y[#2] ; move to bore edge, compensated for tool radius G17 - # = [#3/2-#<_td>/2] + # = [#3/2-#<_td>/2] ; effective bore radius (bore radius minus tool radius) # = [#4-#6] - o101 while [# GT #5] + o101 while [# GT #5] ; helical passes, one full circle per stepdown G3 X[#1+#] Y[#2] I[-#] Z[#] P1 # = [# - #6] o101 endwhile - o102 if [#4 GT #5] + o102 if [#4 GT #5] ; partial final pass to reach exact zend - # = [[#-#5]/#6*360] + # = [[#-#5]/#6*360] ; angle where remaining depth is consumed G3 X[#1+COS[#]*#] Y[#2+SIN[#]*#] I[-#] Z[#5] - G3 X[#1+COS[#]*#] Y[#2+SIN[#]*#] I[-COS[#]*#] J[-SIN[#]*#] Z[#5] + G3 X[#1+COS[#]*#] Y[#2+SIN[#]*#] I[-COS[#]*#] J[-SIN[#]*#] Z[#5] ; cleanup pass at final depth ;G3 X#1 Y[#2+#3/2-#<_td>/2] J[-#3/2+#<_td>/2] o102 endif diff --git a/nc_files/drill.ngc b/nc_files/drill.ngc index 496d928..fb117dc 100755 --- a/nc_files/drill.ngc +++ b/nc_files/drill.ngc @@ -1,3 +1,5 @@ +; Peck drill subroutine - drills with retract cycles to clear chips +; Params: #1=x, #2=y, #3=zstart, #4=zend, #5=peck_depth o sub ; x1, y1, zstart, zend, peckdp ; #1 #2 #3 #4 #5 @@ -20,9 +22,9 @@ o sub o104 if [#5 NE 0] ; peck drilling # = #3 o101 while [# GT #4] - G1 Z# - G0 Z#3 - G0 Z[#+.02] + G1 Z# ; drill to current peck depth + G0 Z#3 ; retract to clear chips + G0 Z[#+.02] ; rapid back down, stopping just above previous depth # = [#-#5] o101 endwhile o104 endif diff --git a/nc_files/drill_man.ngc b/nc_files/drill_man.ngc index 9760f8e..185ff5f 100755 --- a/nc_files/drill_man.ngc +++ b/nc_files/drill_man.ngc @@ -1,3 +1,5 @@ +; Manual drill positioning - moves to X/Y, disables Z for manual quill, then pauses +; Params: #1=x, #2=y o sub ; x1, y1 ; #1 #2 diff --git a/nc_files/drill_retr.ngc b/nc_files/drill_retr.ngc index 349fd39..db115c4 100755 --- a/nc_files/drill_retr.ngc +++ b/nc_files/drill_retr.ngc @@ -1,3 +1,6 @@ +; Semi-manual drill with Z retract - positions X/Y, retracts Z, pauses for manual drill +; Params: #1=x, #2=y, #3=z_clearance +; BUG: endsub name (drill_man_retract) doesn't match sub name (drill_retr) o sub ; x1, y1, z_clr ; #1 #2, #3 @@ -12,12 +15,12 @@ o sub ;;;;;;;;;; PROGRAM ;;;;;;;;; - M101 + M101 ; enable Z for CNC retract G0 Z# G0 X#1 Y#2 M102 ; disable Z-axis (M101 enables) - M0 ; pause - M101 + M0 ; pause for manual drilling + M101 ; re-enable Z for retract G0 Z# o endsub diff --git a/nc_files/frame_circ.ngc b/nc_files/frame_circ.ngc index fd827a6..d5b3c77 100755 --- a/nc_files/frame_circ.ngc +++ b/nc_files/frame_circ.ngc @@ -1,3 +1,7 @@ +; Circle perimeter cut - cuts inside or outside a circular profile +; Params: #1=x, #2=y, #3=diameter, #4=ztop, #5=zbot, #6=fincut, #7=mode +; Mode bitmask: bit0=conventional, bit1=bothways, bit2=plunge(vs helix), bit3=outside +; Uses arc lead-in/lead-out for smooth entry and exit o sub ; o call [x][y] [diameter] [ztop][zbot] [fincut] [mode] @@ -25,7 +29,7 @@ o sub o1 endif - # = # + # = # ; lead-in arc radius, capped at 15% of diameter o10 if [# GT #3*0.15] # = [#3*0.15] o10 endif diff --git a/nc_files/frame_rect.ngc b/nc_files/frame_rect.ngc index b0bbd65..12a36e8 100755 --- a/nc_files/frame_rect.ngc +++ b/nc_files/frame_rect.ngc @@ -1,3 +1,6 @@ +; Rectangle perimeter cut - cuts inside or outside a rectangular frame +; Params: #1=x1, #2=y1, #3=x2, #4=y2, #5=ztop, #6=zbot, #7=mode, #8=corner_radius +; Mode bitmask: bit0=conventional, bit1=bothways, bit2=plunge(vs helix), bit3=outside o sub ; o call [x1][y1] [x2][y2] [ztop][zbot] [mode] [radius] @@ -43,7 +46,7 @@ o sub o10 if [# AND #] - ; plunge in center + ; CW inside: plunge in center, traverse to wall, trace perimeter G0 X[[#1+#3]/2] Y[[#2+#4]/2] G0 Z#5 G1 Z#6 @@ -74,7 +77,7 @@ o sub G0 Z#5 o10 elseif [# AND #] - ; CCW inside + ; CCW inside: plunge in center, trace perimeter counterclockwise G0 X[[#1+#3]/2] Y[[#2+#4]/2] G0 Z#5 G1 Z#6 @@ -104,7 +107,7 @@ o sub G0 Z#5 o10 elseif [# AND #] - ; plunge at corner + ; CW outside: plunge at corner, trace perimeter offset outward G0 X[#-#] Y[#+#] G0 Z#5 G1 Z#6 @@ -129,7 +132,7 @@ o sub G0 Z#5 o10 elseif [# AND #] - ; plunge at corner + ; CCW outside: plunge at corner, trace perimeter offset outward G0 X[#-#] Y[#-#] G0 Z#5 G1 Z#6 diff --git a/nc_files/macros.md b/nc_files/macros.md index 0c16264..224c016 100755 --- a/nc_files/macros.md +++ b/nc_files/macros.md @@ -1,26 +1,196 @@ -# Modes -Default mode (0) is: -- Climb milling -- One-way milling -- Helix entry -- Inside +# Macros & Subroutines -+1: Conventional milling -+2: Both-ways milling -+4: Plunge entry -+8: Outside +Custom M-codes and G-code subroutines for the Lagun mill LinuxCNC configuration. -# Fun stuff +## Mode Flags (Bitmask) -Specifying a negative finish cut should cause macros to do all the roughing and leave the (positive) amount of material behind for a separate finishing op. +Several macros (`pocket_circ`, `pocket_rect`, `frame_rect`, `frame_circ`, `slot`) accept a `mode` parameter as a bitmask: + +| Bit | Value | Set (1) | Clear (0) | +|-----|-------|---------|-----------| +| 0 | +1 | Conventional milling | Climb milling | +| 1 | +2 | Both-ways milling | One-way milling | +| 2 | +4 | Plunge entry | Helix entry | +| 3 | +8 | Outside | Inside | + +Default mode (0) = climb, one-way, helix entry, inside. + +## Global Named Parameters + +These optional globals configure macro behavior when set before calling: + +| Parameter | Description | Default | +|-----------|-------------|---------| +| `#<_td>` | Tool diameter (from tool table) | **Required** - used by all material-removal macros | +| `#<_z_clearance>` | Safe Z retract height | Falls back to ztop param | +| `#<_rampang>` | Ramp/helix entry angle in degrees | 5.0 | +| `#<_stepover>` | Stepover distance for spiral pocketing | 40% of tool diameter | + +A negative `fincut` value causes macros to rough only, leaving material for a separate finishing pass. + +## M-Codes (Shell Scripts) + +### M101 - Enable Z-Axis +Sets HAL signal `z-override` to True, enabling CNC control of Z. + +### M102 - Disable Z-Axis +Sets HAL signal `z-override` to False, allowing manual quill control. + +## Drilling Subroutines + +### drill.ngc - Peck Drill +Fully automatic drilling with optional peck cycle. -# Typical Header ``` -#<_z_clearance> = 0.0 ; clearance height -#<_rampang> = 5.0 ; ramp angle in degrees for helical entry +o call [x][y] [ztop][zbot] [peck] +``` -G10 L1 P1 Z0.0 R0.25 ; set tool P1 to Z-offset Z0.0 and radius R0.25 -T1 ; set tool to T1 +| # | Name | Description | +|---|------|-------------| +| #1 | X | Hole X position | +| #2 | Y | Hole Y position | +| #3 | Z Start | Top of material / start Z | +| #4 | Z End | Final drill depth | +| #5 | Peck | Depth per peck (0 = no peck) | + +Calls M101 to enable Z-axis. Retracts to Z Start between pecks with 0.020" rapid-approach gap. + +### drill_man.ngc - Manual Drill +Positions XY then pauses for operator to manually plunge. + +``` +o call [x][y] +``` + +Calls M102 to disable Z-axis, then M0 pause. + +### drill_retr.ngc - Semi-Manual Drill with Retract +Positions XY, retracts Z to clearance, disables Z for manual plunge, then re-enables and retracts on resume. + +``` +o call [x][y] [z_clearance] +``` + +## Material Removal Subroutines + +### pocket_circ.ngc - Circular Pocket +Cuts a circular pocket using an outward spiral from center. + +``` +o call [x][y] [diameter] [ztop][zbot] [fincut] [mode] +``` + +| # | Name | Description | +|---|------|-------------| +| #1 | X | Center X | +| #2 | Y | Center Y | +| #3 | Diameter | Pocket diameter | +| #4 | Z Top | Start Z | +| #5 | Z Bottom | Final depth | +| #6 | Finish Cut | Finish allowance (negative = rough only) | +| #7 | Mode | Bitmask (see above) | + +Supports helix or plunge entry. Spirals outward with stepover, then does a pre-finish circle and optional finish circle at full diameter. + +### pocket_rect.ngc - Rectangular Pocket +Cuts a rectangular pocket. Uses helical or straight plunge, then an outward spiral that transitions to linear passes when the spiral hits the rectangle boundary. + +``` +o call [x1][y1] [x2][y2] [zstart][zend] [fincut] [mode] +``` + +| # | Name | Description | +|---|------|-------------| +| #1,#2 | X1, Y1 | First corner | +| #3,#4 | X2, Y2 | Opposite corner | +| #5 | Z Start | Start Z | +| #6 | Z End | Final depth | +| #7 | Finish Cut | Finish allowance | +| #8 | Mode | 0=CCW/helix, 1=CW/helix, 2=CCW/plunge, 3=CW/plunge | + +Contains internal sub `o` for filling corners after the spiral exceeds the rectangle bounds. + +### frame_rect.ngc - Rectangular Frame +Cuts along the perimeter of a rectangle (inside or outside). + +``` +o call [x1][y1] [x2][y2] [ztop][zbot] [mode] [radius] +``` + +| # | Name | Description | +|---|------|-------------| +| #1,#2 | X1, Y1 | First corner | +| #3,#4 | X2, Y2 | Opposite corner | +| #5 | Z Top | Start Z | +| #6 | Z Bottom | Final depth | +| #7 | Mode | Bitmask | +| #8 | Radius | Corner radius (0 = sharp corners) | + +Supports all four combinations of inside/outside and climb/conventional. Plunges at center (inside) or corner (outside), then traces the rectangle with optional corner radii. + +### frame_circ.ngc - Circular Frame +Cuts along the perimeter of a circle (inside or outside). + +``` +o call [x][y] [diameter] [ztop][zbot] [fincut] [mode] +``` + +| # | Name | Description | +|---|------|-------------| +| #1 | X | Center X | +| #2 | Y | Center Y | +| #3 | Diameter | Circle diameter | +| #4 | Z Top | Start Z | +| #5 | Z Bottom | Final depth | +| #6 | Finish Cut | Finish allowance | +| #7 | Mode | Bitmask | + +Uses a small arc entry/exit move (capped at 15% of diameter) for smooth engagement. + +### slot.ngc - Slot +Cuts a slot (obround/stadium shape) between two points. + +``` +o call [x1][y1] [x2][y2] [width] [ztop][zbot] [fincut] [mode] +``` + +| # | Name | Description | +|---|------|-------------| +| #1,#2 | X1, Y1 | Slot start center | +| #3,#4 | X2, Y2 | Slot end center | +| #5 | Width | Slot width | +| #6 | Z Top | Start Z | +| #7 | Z Bottom | Final depth | +| #8 | Finish Cut | Finish allowance | +| #9 | Mode | Bitmask | + +Plunges at start, cuts to end, then traces the obround profile. Supports optional pre-finish pass when fincut > 0. + +### bore.ngc - Helical Bore +Helical-interpolation boring subroutine. + +``` +o call [x][y] [d] [zstart][zend] [stepdown] +``` + +| # | Name | Description | +|---|------|-------------| +| #1 | X | Center X | +| #2 | Y | Center Y | +| #3 | D | Bore diameter | +| #4 | Z Start | Start Z | +| #5 | Z End | Final depth | +| #6 | Stepdown | Depth per helical pass | + +Spirals down in full-circle passes, then does a partial-arc cleanup and spring pass at final depth. Returns to center and Z0. + +## Typical Program Header +``` +#<_z_clearance> = 0.0 +#<_rampang> = 5.0 + +G10 L1 P1 Z0.0 R0.25 ; set tool P1 offset and radius +T1 ; select tool M06 ; manual toolchange M101 ; enable z-axis @@ -30,26 +200,28 @@ G54 ; fixture #1 F5.0 ; feedrate ``` +## Known Bugs -# Material removal +1. **drill_retr.ngc: Sub name mismatch.** Opened as `o` (line 1) but closed as `o` (line 23). This will cause a runtime error - LinuxCNC requires matching sub/endsub names. -o call -o call +2. **bore.ngc: Parameter comment is wrong.** The inline comment says `; x, y, d, stepdown, zstart, zend` but the actual parameter order used by the code is `x, y, d, zstart, zend, stepdown`. Anyone calling based on the comment would get wrong results. -o call -o call +3. **bore.ngc: Undocumented `#<_td>` dependency.** Uses global `#<_td>` for tool-diameter compensation but never validates it. If unset (defaults to 0), the bore toolpath radius becomes `D/2` instead of `(D - tool_dia)/2`, cutting an oversized bore. -o call [x1][y1] [x2][y2] [width] [ztop][zbot] [finishcut] -o call [x][y] [stepdown] [ztop][zbot] +4. **drill.ngc: First peck cycle is a no-op.** The loop initializes `# = #3` (Z Start) then immediately does `G1 Z#` - moving to where the tool already is. First real cut happens on the second iteration. Wastes one retract cycle. -# Drilling +5. **pocket_circ.ngc: Suspicious angle calculation.** Line 66 has a `TODO` comment from the author: `; TODO: what the heck is the denominator here doing?` The finish-plunge angle divides by `[#4-#5]` (ztop - zbot). If ztop is 0 this produces a division by a potentially small number, which may cause unexpected arc endpoints. -o call [x][y] [ztop][zbot] [(peck)]; fully automoatic drilling op; drills at x,y from ztop to zbot in optional increments of peck (full retraction) +6. **pocket_rect.ngc: Incomplete rectangular clearing.** The spiral-to-rectangle transition has commented-out code (lines 141-151) and a note saying "subroutines might be the best way to do this". The `o` helper sub attempts to fill the remaining area but uses a different algorithm. Corners may not be fully cleared depending on geometry. -o call [x][y] ; fully manual drilling op; z axis entirely disabled -o call [x][y] ; semi-manual drilling op; z axis retracts, but disabled on downstroke +7. **slot.ngc: Test code after endsub.** Lines 79-83 contain hardcoded test calls that execute whenever the file is loaded. These should be removed or moved to a separate test file. The test calls also only provide 7 of 9 parameters (fincut and mode default to 0). -# Footer -``` -M2 ; end program -``` \ No newline at end of file +8. **frame_circ.ngc: lead-in arcs can be larger than actual pocket size.** this causes overcutting. not good. + +9. **some combination of values will cause hangs.** This is in several macros. linuxcnc does not have stall/timeout detection; if a macro gets stuck in an infinite loop, it hangs linuxcnc. + +## Other Todos + +1. Change macros to use UPPERCASE_WITH_UNDERSCORES naming (both the filenames, and the usage of them in all .ngc files) +2. Purge all .cnc programs +3. Maybe: Use tool diameter instead of the td global. (we will use tool change stuff) \ No newline at end of file diff --git a/nc_files/pocket_circ.ngc b/nc_files/pocket_circ.ngc index 48400fc..8f8b7d0 100755 --- a/nc_files/pocket_circ.ngc +++ b/nc_files/pocket_circ.ngc @@ -1,3 +1,6 @@ +; Circular pocket - clears a round pocket using spiral toolpath +; Params: #1=x, #2=y, #3=diameter, #4=ztop, #5=zbot, #6=finishcut, #7=mode +; Mode bitmask: bit0=conventional, bit1=bothways, bit2=plunge(vs helix), bit3=outside o sub ; o call [x][y] [diameter] [ztop][zbot] [finishcut] [mode] @@ -33,15 +36,15 @@ o sub # = [#*0.4] o3 endif - o4 if [# GT #3] + o4 if [# GT #3] ; tool bigger than pocket, bail out o5 return o4 endif # = 0 # = 0 o100 if [#] ; helical plunge - # = [#*0.3] - o115 if [[[#3-#]/2-ABS[#6]] LE #] + # = [#*0.3] ; helix radius = 30% of tool diameter + o115 if [[[#3-#]/2-ABS[#6]] LE #] ; shrink if helix would exceed pocket wall # = [[[#3-#]/2-ABS[#6]]*0.8] o115 endif @@ -82,7 +85,7 @@ o sub o100 endif - ; do the spiral :) + ; spiral outward from center to clear pocket, stopping short by finishcut amount # = # # = # o105 while [# LT [[#3-#]/2-ABS[#6]]] @@ -92,12 +95,12 @@ o sub o106 else G1 X[#1+COS[#]*#] Y[#2-SIN[#]*#] o106 endif - # = [#+1] ; next angle + # = [#+1] ; advance 1 degree per step - # = [#+[#-#]/360*#] ; compute the radius accordingly + # = [#+[#-#]/360*#] ; radius grows by stepover each revolution o105 endwhile - ; pre-finish cut + ; pre-finish cut: full circle at pocket wall minus finishcut allowance # = [[#3-#]/2-ABS[#6]] o107 if [#] G1 X[#1+COS[#]*#] Y[#2+SIN[#]*#] @@ -107,18 +110,18 @@ o sub G2 X[#1+COS[#]*#] Y[#2-SIN[#]*#] I[#1] J[#2] o107 endif - ; finish cut + ; finish cut: full circle at final pocket wall radius o104 if [ABS[#6] GT 0.0] # = [[#3-#]/2] o108 if [#] G1 X[#1+COS[#]*#] Y[#2+SIN[#]*#] G3 X[#1+COS[#]*#] Y[#2+SIN[#]*#] I[#1] J[#2] - # = [[#3-#]/2*0.9] + # = [[#3-#]/2*0.9] ; retract slightly inward before rapid out G1 X[#1+COS[#]*#] Y[#2+SIN[#]*#] o108 else G1 X[#1+COS[#]*#] Y[#2-SIN[#]*#] G2 X[#1+COS[#]*#] Y[#2-SIN[#]*#] I[#1] J[#2] - # = [[#3-#]/2*0.9] + # = [[#3-#]/2*0.9] ; retract slightly inward before rapid out G1 X[#1+COS[#]*#] Y[#2-SIN[#]*#] o108 endif o104 endif diff --git a/nc_files/pocket_rect.ngc b/nc_files/pocket_rect.ngc index 75f8400..7721ff8 100755 --- a/nc_files/pocket_rect.ngc +++ b/nc_files/pocket_rect.ngc @@ -1,9 +1,14 @@ +; Rectangular pocket - clears using spiral then corner-clearing helper sub +; Params: #1=x1, #2=y1, #3=x2, #4=y2, #5=zstart, #6=zend, #7=fincut, #8=mode +; Mode: 0=CCW/ramp, 1=CW/ramp, 2=CCW/plunge, 3=CW/plunge + +; pre-declare named params used across sub/helper scope # = 0 # = 0 # = 0 # = 0 # = 0 -# = 0 +# = 0 # = 0 # = 0 # = 0 @@ -44,7 +49,7 @@ o sub o3 endif # = #6 - # = [#6+#*0.1] + # = [#6+#*0.1] ; slight lift for repositioning moves # = #1 # = #3 @@ -60,10 +65,10 @@ o sub # = #2 o12 endif - # = [[#+#]/2] - # = [[#+#]/2] - # = [[[#-#]-#]/2] - # = [[[#-#]-#]/2] + # = [[#+#]/2] ; pocket center X + # = [[#+#]/2] ; pocket center Y + # = [[[#-#]-#]/2] ; half-width minus tool radius + # = [[[#-#]-#]/2] ; half-height minus tool radius G0 X# Y# G1 X[#+#] Y[#-#] @@ -109,7 +114,7 @@ o sub o100 endif - ; do the spiral :) + ; spiral outward from center until hitting pocket boundary # = # # = # o105 while [1] @@ -152,7 +157,7 @@ o sub - o call + o call ; clear corners that the spiral couldn't reach @@ -165,6 +170,8 @@ o endsub ; idea: bias the main spiral. then you're left with a section to hog out ; idea 2: make angle arbitrary (blowing up the code so it's not x-y specific). That'll be fun. +; Helper sub: clears rectangular corner material left by circular spiral +; Walks along the X-axis edge, tracing arcs that match the spiral boundary o sub # = 0 # = 0 @@ -174,7 +181,7 @@ o sub G0 X# Y[# - #] G1 Z# - # = FUP[sqrt[[#]**2 + [#]**2]/#] + # = FUP[sqrt[[#]**2 + [#]**2]/#] ; spiral revolution number at this corner point # = ATAN[-#]/[#] # = [#*# + #+[#-#]/360*#] # = [#] diff --git a/nc_files/readme.md b/nc_files/readme.md deleted file mode 100644 index 4951998..0000000 --- a/nc_files/readme.md +++ /dev/null @@ -1,4107 +0,0 @@ -% -(SC-0225) -(MACHINE) -( VENDOR AUTODESK) -( MODEL GENERIC 3-AXIS) -( DESCRIPTION THIS MACHINE HAS Y AXIS ON THE TABLE AND XZ AXIS ON THE HEAD) -(T2 D=0.3125 CR=0. - ZMIN=-1.15 - FLAT END MILL) -N10 G90 G94 G17 G91.1 -N15 G20 -(WHEN USING FUSION FOR PERSONAL USE, THE FEEDRATE OF RAPID) -(MOVES IS REDUCED TO MATCH THE FEEDRATE OF CUTTING MOVES,) -(WHICH CAN INCREASE MACHINING TIME. UNRESTRICTED RAPID MOVES) -(ARE AVAILABLE WITH A FUSION SUBSCRIPTION.) -N20 G53 G0 Z0. -(CONTOUR4) -N25 T2 M6 -N30 S5000 M3 -N35 G17 G90 G94 -N40 G54 -N45 G64 P0.0004 Q0.0004 -N50 M8 -N55 G0 X-1.836 Y-1.3752 -N60 G43 Z0.6 H2 -N65 G1 Z0.2771 F39.37 -N70 Z-0.1988 F13.123 -N75 X-1.8358 Z-0.2028 -N80 X-1.835 Y-1.3751 Z-0.2068 -N85 X-1.8337 Y-1.3749 Z-0.2107 -N90 X-1.8319 Y-1.3747 Z-0.2144 -N95 X-1.8296 Y-1.3744 Z-0.2178 -N100 X-1.827 Y-1.3741 Z-0.2208 -N105 X-1.8239 Y-1.3737 Z-0.2235 -N110 X-1.8205 Y-1.3733 Z-0.2258 -N115 X-1.8169 Y-1.3729 Z-0.2276 -N120 X-1.8131 Y-1.3724 Z-0.2289 -N125 X-1.8091 Y-1.3719 Z-0.2297 -N130 X-1.805 Y-1.3714 Z-0.23 -N135 G3 X-1.7778 Y-1.3366 I-0.0038 J0.031 F39.37 -N140 G1 X-1.7808 Y-1.3125 -N145 X-1.7818 Y-1.303 -N150 X-1.7825 Y-1.2935 -N155 X-1.7839 Y-1.2745 -N160 X-1.7846 Y-1.265 -N165 X-1.7848 Y-1.2556 -N170 X-1.7853 Y-1.2366 -N175 X-1.7855 Y-1.2271 -N180 Y-1.2176 -N185 Y-0.6574 -N190 Y-0.6479 -N195 X-1.7853 Y-0.6384 -N200 X-1.7848 Y-0.6194 -N205 X-1.7846 Y-0.61 -N210 X-1.7839 Y-0.6005 -N215 X-1.7825 Y-0.5815 -N220 X-1.7818 Y-0.572 -N225 X-1.7808 Y-0.5625 -N230 X-1.7773 Y-0.534 -N235 X-1.7759 Y-0.5245 -N240 X-1.771 Y-0.496 -N245 X-1.7692 Y-0.4865 -N250 X-1.7683 Y-0.4827 -N255 X-1.7628 Y-0.458 -N260 X-1.7606 Y-0.4486 -N265 X-1.7588 Y-0.4421 -N270 X-1.7528 Y-0.4201 -N275 X-1.7501 Y-0.4106 -N280 X-1.7494 Y-0.4082 -N285 X-1.747 Y-0.4011 -N290 X-1.7399 Y-0.3794 -N295 X-1.7376 Y-0.3726 -N300 X-1.734 Y-0.3631 -N305 X-1.7267 Y-0.3441 -N310 X-1.723 Y-0.3346 -N315 X-1.7209 Y-0.3297 -N320 X-1.7104 Y-0.3061 -N325 X-1.7062 Y-0.2966 -N330 X-1.7019 Y-0.288 -N335 X-1.6919 Y-0.2682 -N340 X-1.687 Y-0.2587 -N345 X-1.6829 Y-0.2514 -N350 X-1.6709 Y-0.2302 -N355 X-1.6652 Y-0.2207 -N360 X-1.6532 Y-0.2017 -N365 X-1.6471 Y-0.1922 -N370 X-1.6449 Y-0.1889 -N375 X-1.6405 Y-0.1827 -N380 X-1.6259 Y-0.162 -N385 X-1.6202 Y-0.1542 -N390 X-1.6054 Y-0.1352 -N395 X-1.5979 Y-0.1258 -N400 X-1.5974 Y-0.1252 -N405 X-1.5898 Y-0.1163 -N410 X-1.5785 Y-0.1031 -N415 X-1.5734 Y-0.0973 -N420 X-1.569 Y-0.0924 -N425 X-1.5646 Y-0.0878 -N430 X-1.5465 Y-0.0688 -N435 X-1.5405 Y-0.0628 -N440 X-1.5215 Y-0.0447 -N445 X-1.5169 Y-0.0403 -N450 X-1.512 Y-0.0359 -N455 X-1.5061 Y-0.0308 -N460 X-1.493 Y-0.0195 -N465 X-1.4841 Y-0.0118 -N470 X-1.4835 Y-0.0113 -N475 X-1.474 Y-0.0039 -N480 X-1.455 Y0.011 -N485 X-1.4473 Y0.0167 -N490 X-1.4265 Y0.0313 -N495 X-1.4203 Y0.0356 -N500 X-1.417 Y0.0378 -N505 X-1.4075 Y0.0439 -N510 X-1.3886 Y0.0559 -N515 X-1.3791 Y0.0616 -N520 X-1.3578 Y0.0736 -N525 X-1.3506 Y0.0777 -N530 X-1.3411 Y0.0826 -N535 X-1.3212 Y0.0926 -N540 X-1.3126 Y0.0969 -N545 X-1.3031 Y0.1012 -N550 X-1.2796 Y0.1116 -N555 X-1.2746 Y0.1137 -N560 X-1.2651 Y0.1174 -N565 X-1.2461 Y0.1247 -N570 X-1.2366 Y0.1283 -N575 X-1.2298 Y0.1306 -N580 X-1.2082 Y0.1377 -N585 X-1.201 Y0.1401 -N590 X-1.1987 Y0.1408 -N595 X-1.1892 Y0.1435 -N600 X-1.1671 Y0.1496 -N605 X-1.1607 Y0.1513 -N610 X-1.1512 Y0.1535 -N615 X-1.1265 Y0.1591 -N620 X-1.1227 Y0.1599 -N625 X-1.1132 Y0.1617 -N630 X-1.0847 Y0.1666 -N635 X-1.0752 Y0.168 -N640 X-1.0468 Y0.1715 -N645 X-1.0373 Y0.1725 -N650 X-1.0278 Y0.1732 -N655 X-1.0088 Y0.1746 -N660 X-0.9993 Y0.1753 -N665 X-0.9898 Y0.1756 -N670 X-0.9708 Y0.176 -N675 X-0.9613 Y0.1762 -N680 X-0.9518 -N685 X-0.1068 -N690 X-0.0973 -N695 X-0.0878 Y0.1758 -N700 X-0.0783 Y0.1753 -N705 X-0.0688 Y0.1745 -N710 X-0.0593 Y0.1732 -N715 X-0.0498 Y0.1715 -N720 X-0.0403 Y0.1697 -N725 X-0.0353 Y0.1686 -N730 X-0.0308 Y0.1674 -N735 X-0.0213 Y0.1647 -N740 X-0.0119 Y0.1617 -N745 X-0.0041 Y0.1591 -N750 X-0.0024 Y0.1584 -N755 X0.0071 Y0.1545 -N760 X0.0166 Y0.1502 -N765 X0.0181 Y0.1496 -N770 X0.0261 Y0.1458 -N775 X0.0356 Y0.1406 -N780 X0.0365 Y0.1401 -N785 X0.0451 Y0.1349 -N790 X0.052 Y0.1306 -N795 X0.0546 Y0.1289 -N800 X0.0641 Y0.1222 -N805 X0.0655 Y0.1211 -N810 X0.0736 Y0.1147 -N815 X0.0775 Y0.1116 -N820 X0.0831 Y0.1069 -N825 X0.0883 Y0.1021 -N830 X0.0926 Y0.0979 -N835 X0.0978 Y0.0926 -N840 X0.1021 Y0.0882 -N845 X0.1068 Y0.0831 -N850 X0.1116 Y0.0776 -N855 X0.1147 Y0.0736 -N860 X0.122 Y0.0641 -N865 X0.1289 Y0.0546 -N870 X0.1306 Y0.0521 -N875 X0.1349 Y0.0451 -N880 X0.1405 Y0.0356 -N885 X0.1458 Y0.0262 -N890 X0.1496 Y0.0183 -N895 X0.1503 Y0.0167 -N900 X0.1544 Y0.0072 -N905 X0.1584 Y-0.0023 -N910 X0.159 Y-0.004 -N915 X0.1617 Y-0.0118 -N920 X0.1646 Y-0.0213 -N925 X0.1674 Y-0.0308 -N930 X0.1685 Y-0.0352 -N935 X0.1697 Y-0.0403 -N940 X0.1715 Y-0.0498 -N945 X0.1731 Y-0.0593 -N950 X0.1745 Y-0.0688 -N955 X0.1753 Y-0.0783 -N960 X0.1758 Y-0.0878 -N965 X0.1762 Y-0.0973 -N970 Y-0.1068 -N975 X0.1756 Y-0.1163 -N980 X0.1749 Y-0.1258 -N985 X0.174 Y-0.1352 -N990 X0.1725 Y-0.1447 -N995 X0.1707 Y-0.1542 -N1000 X0.1688 Y-0.1637 -N1005 X0.1685 Y-0.1647 -N1010 X0.1664 Y-0.1732 -N1015 X0.1634 Y-0.1827 -N1020 X0.1603 Y-0.1922 -N1025 X0.159 Y-0.1958 -N1030 X0.1568 Y-0.2017 -N1035 X0.1528 Y-0.2112 -N1040 X0.1496 Y-0.218 -N1045 X0.1483 Y-0.2207 -N1050 X0.1436 Y-0.2302 -N1055 X0.1401 Y-0.2366 -N1060 X0.1383 Y-0.2397 -N1065 X0.1323 Y-0.2492 -N1070 X0.1306 Y-0.2519 -N1075 X0.1261 Y-0.2587 -N1080 X0.1211 Y-0.2656 -N1085 X0.1191 Y-0.2682 -N1090 X0.1116 Y-0.2774 -N1095 X0.1114 Y-0.2777 -N1100 X0.1032 Y-0.2872 -N1105 X0.1021 Y-0.2883 -N1110 X0.0938 Y-0.2966 -N1115 X0.0926 Y-0.2978 -N1120 X0.0838 Y-0.3061 -N1125 X0.0831 Y-0.3068 -N1130 X0.0736 Y-0.3152 -N1135 X0.0624 Y-0.3251 -N1140 X0.0546 Y-0.3321 -N1145 X0.0322 Y-0.3536 -N1150 X0.0261 Y-0.3598 -N1155 X0.0138 Y-0.3726 -N1160 X0.0071 Y-0.3797 -N1165 X-0.0119 Y-0.4011 -N1170 X-0.0198 Y-0.4106 -N1175 X-0.0308 Y-0.424 -N1180 X-0.0352 Y-0.4296 -N1185 X-0.0498 Y-0.4488 -N1190 X-0.0565 Y-0.458 -N1195 X-0.0698 Y-0.477 -N1200 X-0.076 Y-0.4865 -N1205 X-0.0882 Y-0.5055 -N1210 X-0.0938 Y-0.515 -N1215 X-0.105 Y-0.534 -N1220 X-0.1068 Y-0.5374 -N1225 X-0.1202 Y-0.5625 -N1230 X-0.1249 Y-0.572 -N1235 X-0.1341 Y-0.591 -N1240 X-0.1353 Y-0.5936 -N1245 X-0.1466 Y-0.6194 -N1250 X-0.1505 Y-0.6289 -N1255 X-0.1579 Y-0.6479 -N1260 X-0.1614 Y-0.6574 -N1265 X-0.168 Y-0.6764 -N1270 X-0.1711 Y-0.6859 -N1275 X-0.1769 Y-0.7049 -N1280 X-0.1797 Y-0.7144 -N1285 X-0.1872 Y-0.7429 -N1290 X-0.1894 Y-0.7524 -N1295 X-0.1935 Y-0.7714 -N1300 X-0.1954 Y-0.7808 -N1305 X-0.1988 Y-0.7998 -N1310 X-0.2005 Y-0.8093 -N1315 X-0.2045 Y-0.8378 -N1320 X-0.2055 Y-0.8473 -N1325 X-0.2074 Y-0.8663 -N1330 X-0.2082 Y-0.8758 -N1335 X-0.2099 Y-0.9043 -N1340 X-0.2101 Y-0.9138 -N1345 X-0.2105 Y-0.9328 -N1350 Y-0.9422 -N1355 X-0.2101 Y-0.9612 -N1360 X-0.2099 Y-0.9707 -N1365 X-0.2082 Y-0.9992 -N1370 X-0.2074 Y-1.0087 -N1375 X-0.2055 Y-1.0277 -N1380 X-0.2045 Y-1.0372 -N1385 X-0.2005 Y-1.0657 -N1390 X-0.1988 Y-1.0752 -N1395 X-0.1954 Y-1.0942 -N1400 X-0.1935 Y-1.1036 -N1405 X-0.1894 Y-1.1226 -N1410 X-0.1872 Y-1.1321 -N1415 X-0.1797 Y-1.1606 -N1420 X-0.1769 Y-1.1701 -N1425 X-0.1711 Y-1.1891 -N1430 X-0.168 Y-1.1986 -N1435 X-0.1614 Y-1.2176 -N1440 X-0.1579 Y-1.2271 -N1445 X-0.1505 Y-1.2461 -N1450 X-0.1466 Y-1.2556 -N1455 X-0.1353 Y-1.2814 -N1460 X-0.1341 Y-1.284 -N1465 X-0.1249 Y-1.303 -N1470 X-0.1202 Y-1.3125 -N1475 X-0.1068 Y-1.3376 -N1480 X-0.105 Y-1.341 -N1485 X-0.0938 Y-1.36 -N1490 X-0.0882 Y-1.3695 -N1495 X-0.076 Y-1.3885 -N1500 X-0.0698 Y-1.398 -N1505 X-0.0565 Y-1.417 -N1510 X-0.0498 Y-1.4262 -N1515 X-0.0352 Y-1.4454 -N1520 X-0.0308 Y-1.451 -N1525 X-0.0198 Y-1.4644 -N1530 X-0.0119 Y-1.4739 -N1535 X0.0071 Y-1.4953 -N1540 X0.0138 Y-1.5024 -N1545 X0.0261 Y-1.5152 -N1550 X0.0322 Y-1.5214 -N1555 X0.0546 Y-1.5429 -N1560 X0.0624 Y-1.5499 -N1565 X0.0736 Y-1.5598 -N1570 X0.0831 Y-1.5682 -N1575 X0.0838 Y-1.5689 -N1580 X0.0926 Y-1.5772 -N1585 X0.0938 Y-1.5784 -N1590 X0.1021 Y-1.5867 -N1595 X0.1032 Y-1.5878 -N1600 X0.1114 Y-1.5973 -N1605 X0.1116 Y-1.5976 -N1610 X0.1191 Y-1.6068 -N1615 X0.1211 Y-1.6094 -N1620 X0.1261 Y-1.6163 -N1625 X0.1306 Y-1.6231 -N1630 X0.1323 Y-1.6258 -N1635 X0.1383 Y-1.6353 -N1640 X0.1401 Y-1.6384 -N1645 X0.1436 Y-1.6448 -N1650 X0.1483 Y-1.6543 -N1655 X0.1496 Y-1.657 -N1660 X0.1528 Y-1.6638 -N1665 X0.1568 Y-1.6733 -N1670 X0.159 Y-1.6792 -N1675 X0.1603 Y-1.6828 -N1680 X0.1634 Y-1.6923 -N1685 X0.1664 Y-1.7018 -N1690 X0.1685 Y-1.7103 -N1695 X0.1688 Y-1.7113 -N1700 X0.1707 Y-1.7208 -N1705 X0.1725 Y-1.7303 -N1710 X0.174 Y-1.7398 -N1715 X0.1749 Y-1.7492 -N1720 X0.1756 Y-1.7587 -N1725 X0.1762 Y-1.7682 -N1730 Y-1.7777 -N1735 X0.1758 Y-1.7872 -N1740 X0.1753 Y-1.7967 -N1745 X0.1745 Y-1.8062 -N1750 X0.1731 Y-1.8157 -N1755 X0.1715 Y-1.8252 -N1760 X0.1697 Y-1.8347 -N1765 X0.1685 Y-1.8398 -N1770 X0.1674 Y-1.8442 -N1775 X0.1646 Y-1.8537 -N1780 X0.1617 Y-1.8632 -N1785 X0.159 Y-1.871 -N1790 X0.1584 Y-1.8727 -N1795 X0.1544 Y-1.8822 -N1800 X0.1503 Y-1.8917 -N1805 X0.1496 Y-1.8933 -N1810 X0.1458 Y-1.9012 -N1815 X0.1405 Y-1.9106 -N1820 X0.1349 Y-1.9201 -N1825 X0.1306 Y-1.9271 -N1830 X0.1289 Y-1.9296 -N1835 X0.122 Y-1.9391 -N1840 X0.1147 Y-1.9486 -N1845 X0.1116 Y-1.9526 -N1850 X0.1068 Y-1.9581 -N1855 X0.1021 Y-1.9632 -N1860 X0.0978 Y-1.9676 -N1865 X0.0926 Y-1.9729 -N1870 X0.0883 Y-1.9771 -N1875 X0.0831 Y-1.9819 -N1880 X0.0775 Y-1.9866 -N1885 X0.0736 Y-1.9897 -N1890 X0.0655 Y-1.9961 -N1895 X0.0641 Y-1.9972 -N1900 X0.0546 Y-2.0039 -N1905 X0.052 Y-2.0056 -N1910 X0.0451 Y-2.0099 -N1915 X0.0365 Y-2.0151 -N1920 X0.0356 Y-2.0156 -N1925 X0.0261 Y-2.0208 -N1930 X0.0181 Y-2.0246 -N1935 X0.0166 Y-2.0252 -N1940 X0.0071 Y-2.0295 -N1945 X-0.0024 Y-2.0334 -N1950 X-0.0041 Y-2.0341 -N1955 X-0.0119 Y-2.0367 -N1960 X-0.0213 Y-2.0397 -N1965 X-0.0308 Y-2.0424 -N1970 X-0.0353 Y-2.0436 -N1975 X-0.0403 Y-2.0447 -N1980 X-0.0498 Y-2.0465 -N1985 X-0.0593 Y-2.0482 -N1990 X-0.0688 Y-2.0495 -N1995 X-0.0783 Y-2.0503 -N2000 X-0.0878 Y-2.0508 -N2005 X-0.0973 Y-2.0512 -N2010 X-0.1068 -N2015 X-0.9518 -N2020 X-0.9613 -N2025 X-0.9708 Y-2.051 -N2030 X-0.9898 Y-2.0506 -N2035 X-0.9993 Y-2.0503 -N2040 X-1.0088 Y-2.0496 -N2045 X-1.0278 Y-2.0482 -N2050 X-1.0373 Y-2.0475 -N2055 X-1.0468 Y-2.0465 -N2060 X-1.0752 Y-2.043 -N2065 X-1.0847 Y-2.0416 -N2070 X-1.1132 Y-2.0367 -N2075 X-1.1227 Y-2.0349 -N2080 X-1.1265 Y-2.0341 -N2085 X-1.1512 Y-2.0285 -N2090 X-1.1607 Y-2.0263 -N2095 X-1.1671 Y-2.0246 -N2100 X-1.1892 Y-2.0185 -N2105 X-1.1987 Y-2.0158 -N2110 X-1.201 Y-2.0151 -N2115 X-1.2082 Y-2.0127 -N2120 X-1.2298 Y-2.0056 -N2125 X-1.2366 Y-2.0033 -N2130 X-1.2461 Y-1.9997 -N2135 X-1.2651 Y-1.9924 -N2140 X-1.2746 Y-1.9887 -N2145 X-1.2796 Y-1.9866 -N2150 X-1.3031 Y-1.9762 -N2155 X-1.3126 Y-1.9719 -N2160 X-1.3212 Y-1.9676 -N2165 X-1.3411 Y-1.9576 -N2170 X-1.3506 Y-1.9527 -N2175 X-1.3578 Y-1.9486 -N2180 X-1.3791 Y-1.9366 -N2185 X-1.3886 Y-1.9309 -N2190 X-1.4075 Y-1.9189 -N2195 X-1.417 Y-1.9128 -N2200 X-1.4203 Y-1.9106 -N2205 X-1.4265 Y-1.9063 -N2210 X-1.4473 Y-1.8917 -N2215 X-1.455 Y-1.886 -N2220 X-1.474 Y-1.8711 -N2225 X-1.4835 Y-1.8637 -N2230 X-1.4841 Y-1.8632 -N2235 X-1.493 Y-1.8555 -N2240 X-1.5061 Y-1.8442 -N2245 X-1.512 Y-1.8391 -N2250 X-1.5169 Y-1.8347 -N2255 X-1.5215 Y-1.8303 -N2260 X-1.5405 Y-1.8122 -N2265 X-1.5465 Y-1.8062 -N2270 X-1.5646 Y-1.7872 -N2275 X-1.569 Y-1.7826 -N2280 X-1.5734 Y-1.7777 -N2285 X-1.5785 Y-1.7719 -N2290 X-1.5898 Y-1.7587 -N2295 X-1.5974 Y-1.7498 -N2300 X-1.5979 Y-1.7492 -N2305 X-1.6054 Y-1.7398 -N2310 X-1.6202 Y-1.7208 -N2315 X-1.6259 Y-1.713 -N2320 X-1.6405 Y-1.6923 -N2325 X-1.6449 Y-1.6861 -N2330 X-1.6471 Y-1.6828 -N2335 X-1.6532 Y-1.6733 -N2340 X-1.6652 Y-1.6543 -N2345 X-1.6709 Y-1.6448 -N2350 X-1.6829 Y-1.6236 -N2355 X-1.687 Y-1.6163 -N2360 X-1.6919 Y-1.6068 -N2365 X-1.7019 Y-1.587 -N2370 X-1.7062 Y-1.5784 -N2375 X-1.7104 Y-1.5689 -N2380 X-1.7209 Y-1.5453 -N2385 X-1.723 Y-1.5404 -N2390 X-1.7267 Y-1.5309 -N2395 X-1.734 Y-1.5119 -N2400 X-1.7376 Y-1.5024 -N2405 X-1.7399 Y-1.4956 -N2410 X-1.747 Y-1.4739 -N2415 X-1.7494 Y-1.4668 -N2420 X-1.7501 Y-1.4644 -N2425 X-1.7528 Y-1.4549 -N2430 X-1.7588 Y-1.4329 -N2435 X-1.7606 Y-1.4264 -N2440 X-1.7628 Y-1.417 -N2445 X-1.7683 Y-1.3923 -N2450 X-1.7692 Y-1.3885 -N2455 X-1.771 Y-1.379 -N2460 X-1.7759 Y-1.3505 -N2465 X-1.7773 Y-1.341 -N2470 X-1.7778 Y-1.3366 -N2475 Z-0.46 -N2480 X-1.7808 Y-1.3125 -N2485 X-1.7818 Y-1.303 -N2490 X-1.7825 Y-1.2935 -N2495 X-1.7839 Y-1.2745 -N2500 X-1.7846 Y-1.265 -N2505 X-1.7848 Y-1.2556 -N2510 X-1.7853 Y-1.2366 -N2515 X-1.7855 Y-1.2271 -N2520 Y-1.2176 -N2525 Y-0.6574 -N2530 Y-0.6479 -N2535 X-1.7853 Y-0.6384 -N2540 X-1.7848 Y-0.6194 -N2545 X-1.7846 Y-0.61 -N2550 X-1.7839 Y-0.6005 -N2555 X-1.7825 Y-0.5815 -N2560 X-1.7818 Y-0.572 -N2565 X-1.7808 Y-0.5625 -N2570 X-1.7773 Y-0.534 -N2575 X-1.7759 Y-0.5245 -N2580 X-1.771 Y-0.496 -N2585 X-1.7692 Y-0.4865 -N2590 X-1.7683 Y-0.4827 -N2595 X-1.7628 Y-0.458 -N2600 X-1.7606 Y-0.4486 -N2605 X-1.7588 Y-0.4421 -N2610 X-1.7528 Y-0.4201 -N2615 X-1.7501 Y-0.4106 -N2620 X-1.7494 Y-0.4082 -N2625 X-1.747 Y-0.4011 -N2630 X-1.7399 Y-0.3794 -N2635 X-1.7376 Y-0.3726 -N2640 X-1.734 Y-0.3631 -N2645 X-1.7267 Y-0.3441 -N2650 X-1.723 Y-0.3346 -N2655 X-1.7209 Y-0.3297 -N2660 X-1.7104 Y-0.3061 -N2665 X-1.7062 Y-0.2966 -N2670 X-1.7019 Y-0.288 -N2675 X-1.6919 Y-0.2682 -N2680 X-1.687 Y-0.2587 -N2685 X-1.6829 Y-0.2514 -N2690 X-1.6709 Y-0.2302 -N2695 X-1.6652 Y-0.2207 -N2700 X-1.6532 Y-0.2017 -N2705 X-1.6471 Y-0.1922 -N2710 X-1.6449 Y-0.1889 -N2715 X-1.6405 Y-0.1827 -N2720 X-1.6259 Y-0.162 -N2725 X-1.6202 Y-0.1542 -N2730 X-1.6054 Y-0.1352 -N2735 X-1.5979 Y-0.1258 -N2740 X-1.5974 Y-0.1252 -N2745 X-1.5898 Y-0.1163 -N2750 X-1.5785 Y-0.1031 -N2755 X-1.5734 Y-0.0973 -N2760 X-1.569 Y-0.0924 -N2765 X-1.5646 Y-0.0878 -N2770 X-1.5465 Y-0.0688 -N2775 X-1.5405 Y-0.0628 -N2780 X-1.5215 Y-0.0447 -N2785 X-1.5169 Y-0.0403 -N2790 X-1.512 Y-0.0359 -N2795 X-1.5061 Y-0.0308 -N2800 X-1.493 Y-0.0195 -N2805 X-1.4841 Y-0.0118 -N2810 X-1.4835 Y-0.0113 -N2815 X-1.474 Y-0.0039 -N2820 X-1.455 Y0.011 -N2825 X-1.4473 Y0.0167 -N2830 X-1.4265 Y0.0313 -N2835 X-1.4203 Y0.0356 -N2840 X-1.417 Y0.0378 -N2845 X-1.4075 Y0.0439 -N2850 X-1.3886 Y0.0559 -N2855 X-1.3791 Y0.0616 -N2860 X-1.3578 Y0.0736 -N2865 X-1.3506 Y0.0777 -N2870 X-1.3411 Y0.0826 -N2875 X-1.3212 Y0.0926 -N2880 X-1.3126 Y0.0969 -N2885 X-1.3031 Y0.1012 -N2890 X-1.2796 Y0.1116 -N2895 X-1.2746 Y0.1137 -N2900 X-1.2651 Y0.1174 -N2905 X-1.2461 Y0.1247 -N2910 X-1.2366 Y0.1283 -N2915 X-1.2298 Y0.1306 -N2920 X-1.2082 Y0.1377 -N2925 X-1.201 Y0.1401 -N2930 X-1.1987 Y0.1408 -N2935 X-1.1892 Y0.1435 -N2940 X-1.1671 Y0.1496 -N2945 X-1.1607 Y0.1513 -N2950 X-1.1512 Y0.1535 -N2955 X-1.1265 Y0.1591 -N2960 X-1.1227 Y0.1599 -N2965 X-1.1132 Y0.1617 -N2970 X-1.0847 Y0.1666 -N2975 X-1.0752 Y0.168 -N2980 X-1.0468 Y0.1715 -N2985 X-1.0373 Y0.1725 -N2990 X-1.0278 Y0.1732 -N2995 X-1.0088 Y0.1746 -N3000 X-0.9993 Y0.1753 -N3005 X-0.9898 Y0.1756 -N3010 X-0.9708 Y0.176 -N3015 X-0.9613 Y0.1762 -N3020 X-0.9518 -N3025 X-0.1068 -N3030 X-0.0973 -N3035 X-0.0878 Y0.1758 -N3040 X-0.0783 Y0.1753 -N3045 X-0.0688 Y0.1745 -N3050 X-0.0593 Y0.1732 -N3055 X-0.0498 Y0.1715 -N3060 X-0.0403 Y0.1697 -N3065 X-0.0353 Y0.1686 -N3070 X-0.0308 Y0.1674 -N3075 X-0.0213 Y0.1647 -N3080 X-0.0119 Y0.1617 -N3085 X-0.0041 Y0.1591 -N3090 X-0.0024 Y0.1584 -N3095 X0.0071 Y0.1545 -N3100 X0.0166 Y0.1502 -N3105 X0.0181 Y0.1496 -N3110 X0.0261 Y0.1458 -N3115 X0.0356 Y0.1406 -N3120 X0.0365 Y0.1401 -N3125 X0.0451 Y0.1349 -N3130 X0.052 Y0.1306 -N3135 X0.0546 Y0.1289 -N3140 X0.0641 Y0.1222 -N3145 X0.0655 Y0.1211 -N3150 X0.0736 Y0.1147 -N3155 X0.0775 Y0.1116 -N3160 X0.0831 Y0.1069 -N3165 X0.0883 Y0.1021 -N3170 X0.0926 Y0.0979 -N3175 X0.0978 Y0.0926 -N3180 X0.1021 Y0.0882 -N3185 X0.1068 Y0.0831 -N3190 X0.1116 Y0.0776 -N3195 X0.1147 Y0.0736 -N3200 X0.122 Y0.0641 -N3205 X0.1289 Y0.0546 -N3210 X0.1306 Y0.0521 -N3215 X0.1349 Y0.0451 -N3220 X0.1405 Y0.0356 -N3225 X0.1458 Y0.0262 -N3230 X0.1496 Y0.0183 -N3235 X0.1503 Y0.0167 -N3240 X0.1544 Y0.0072 -N3245 X0.1584 Y-0.0023 -N3250 X0.159 Y-0.004 -N3255 X0.1617 Y-0.0118 -N3260 X0.1646 Y-0.0213 -N3265 X0.1674 Y-0.0308 -N3270 X0.1685 Y-0.0352 -N3275 X0.1697 Y-0.0403 -N3280 X0.1715 Y-0.0498 -N3285 X0.1731 Y-0.0593 -N3290 X0.1745 Y-0.0688 -N3295 X0.1753 Y-0.0783 -N3300 X0.1758 Y-0.0878 -N3305 X0.1762 Y-0.0973 -N3310 Y-0.1068 -N3315 X0.1756 Y-0.1163 -N3320 X0.1749 Y-0.1258 -N3325 X0.174 Y-0.1352 -N3330 X0.1725 Y-0.1447 -N3335 X0.1707 Y-0.1542 -N3340 X0.1688 Y-0.1637 -N3345 X0.1685 Y-0.1647 -N3350 X0.1664 Y-0.1732 -N3355 X0.1634 Y-0.1827 -N3360 X0.1603 Y-0.1922 -N3365 X0.159 Y-0.1958 -N3370 X0.1568 Y-0.2017 -N3375 X0.1528 Y-0.2112 -N3380 X0.1496 Y-0.218 -N3385 X0.1483 Y-0.2207 -N3390 X0.1436 Y-0.2302 -N3395 X0.1401 Y-0.2366 -N3400 X0.1383 Y-0.2397 -N3405 X0.1323 Y-0.2492 -N3410 X0.1306 Y-0.2519 -N3415 X0.1261 Y-0.2587 -N3420 X0.1211 Y-0.2656 -N3425 X0.1191 Y-0.2682 -N3430 X0.1116 Y-0.2774 -N3435 X0.1114 Y-0.2777 -N3440 X0.1032 Y-0.2872 -N3445 X0.1021 Y-0.2883 -N3450 X0.0938 Y-0.2966 -N3455 X0.0926 Y-0.2978 -N3460 X0.0838 Y-0.3061 -N3465 X0.0831 Y-0.3068 -N3470 X0.0736 Y-0.3152 -N3475 X0.0624 Y-0.3251 -N3480 X0.0546 Y-0.3321 -N3485 X0.0322 Y-0.3536 -N3490 X0.0261 Y-0.3598 -N3495 X0.0138 Y-0.3726 -N3500 X0.0071 Y-0.3797 -N3505 X-0.0119 Y-0.4011 -N3510 X-0.0198 Y-0.4106 -N3515 X-0.0308 Y-0.424 -N3520 X-0.0352 Y-0.4296 -N3525 X-0.0498 Y-0.4488 -N3530 X-0.0565 Y-0.458 -N3535 X-0.0698 Y-0.477 -N3540 X-0.076 Y-0.4865 -N3545 X-0.0882 Y-0.5055 -N3550 X-0.0938 Y-0.515 -N3555 X-0.105 Y-0.534 -N3560 X-0.1068 Y-0.5374 -N3565 X-0.1202 Y-0.5625 -N3570 X-0.1249 Y-0.572 -N3575 X-0.1341 Y-0.591 -N3580 X-0.1353 Y-0.5936 -N3585 X-0.1466 Y-0.6194 -N3590 X-0.1505 Y-0.6289 -N3595 X-0.1579 Y-0.6479 -N3600 X-0.1614 Y-0.6574 -N3605 X-0.168 Y-0.6764 -N3610 X-0.1711 Y-0.6859 -N3615 X-0.1769 Y-0.7049 -N3620 X-0.1797 Y-0.7144 -N3625 X-0.1872 Y-0.7429 -N3630 X-0.1894 Y-0.7524 -N3635 X-0.1935 Y-0.7714 -N3640 X-0.1954 Y-0.7808 -N3645 X-0.1988 Y-0.7998 -N3650 X-0.2005 Y-0.8093 -N3655 X-0.2045 Y-0.8378 -N3660 X-0.2055 Y-0.8473 -N3665 X-0.2074 Y-0.8663 -N3670 X-0.2082 Y-0.8758 -N3675 X-0.2099 Y-0.9043 -N3680 X-0.2101 Y-0.9138 -N3685 X-0.2105 Y-0.9328 -N3690 Y-0.9422 -N3695 X-0.2101 Y-0.9612 -N3700 X-0.2099 Y-0.9707 -N3705 X-0.2082 Y-0.9992 -N3710 X-0.2074 Y-1.0087 -N3715 X-0.2055 Y-1.0277 -N3720 X-0.2045 Y-1.0372 -N3725 X-0.2005 Y-1.0657 -N3730 X-0.1988 Y-1.0752 -N3735 X-0.1954 Y-1.0942 -N3740 X-0.1935 Y-1.1036 -N3745 X-0.1894 Y-1.1226 -N3750 X-0.1872 Y-1.1321 -N3755 X-0.1797 Y-1.1606 -N3760 X-0.1769 Y-1.1701 -N3765 X-0.1711 Y-1.1891 -N3770 X-0.168 Y-1.1986 -N3775 X-0.1614 Y-1.2176 -N3780 X-0.1579 Y-1.2271 -N3785 X-0.1505 Y-1.2461 -N3790 X-0.1466 Y-1.2556 -N3795 X-0.1353 Y-1.2814 -N3800 X-0.1341 Y-1.284 -N3805 X-0.1249 Y-1.303 -N3810 X-0.1202 Y-1.3125 -N3815 X-0.1068 Y-1.3376 -N3820 X-0.105 Y-1.341 -N3825 X-0.0938 Y-1.36 -N3830 X-0.0882 Y-1.3695 -N3835 X-0.076 Y-1.3885 -N3840 X-0.0698 Y-1.398 -N3845 X-0.0565 Y-1.417 -N3850 X-0.0498 Y-1.4262 -N3855 X-0.0352 Y-1.4454 -N3860 X-0.0308 Y-1.451 -N3865 X-0.0198 Y-1.4644 -N3870 X-0.0119 Y-1.4739 -N3875 X0.0071 Y-1.4953 -N3880 X0.0138 Y-1.5024 -N3885 X0.0261 Y-1.5152 -N3890 X0.0322 Y-1.5214 -N3895 X0.0546 Y-1.5429 -N3900 X0.0624 Y-1.5499 -N3905 X0.0736 Y-1.5598 -N3910 X0.0831 Y-1.5682 -N3915 X0.0838 Y-1.5689 -N3920 X0.0926 Y-1.5772 -N3925 X0.0938 Y-1.5784 -N3930 X0.1021 Y-1.5867 -N3935 X0.1032 Y-1.5878 -N3940 X0.1114 Y-1.5973 -N3945 X0.1116 Y-1.5976 -N3950 X0.1191 Y-1.6068 -N3955 X0.1211 Y-1.6094 -N3960 X0.1261 Y-1.6163 -N3965 X0.1306 Y-1.6231 -N3970 X0.1323 Y-1.6258 -N3975 X0.1383 Y-1.6353 -N3980 X0.1401 Y-1.6384 -N3985 X0.1436 Y-1.6448 -N3990 X0.1483 Y-1.6543 -N3995 X0.1496 Y-1.657 -N4000 X0.1528 Y-1.6638 -N4005 X0.1568 Y-1.6733 -N4010 X0.159 Y-1.6792 -N4015 X0.1603 Y-1.6828 -N4020 X0.1634 Y-1.6923 -N4025 X0.1664 Y-1.7018 -N4030 X0.1685 Y-1.7103 -N4035 X0.1688 Y-1.7113 -N4040 X0.1707 Y-1.7208 -N4045 X0.1725 Y-1.7303 -N4050 X0.174 Y-1.7398 -N4055 X0.1749 Y-1.7492 -N4060 X0.1756 Y-1.7587 -N4065 X0.1762 Y-1.7682 -N4070 Y-1.7777 -N4075 X0.1758 Y-1.7872 -N4080 X0.1753 Y-1.7967 -N4085 X0.1745 Y-1.8062 -N4090 X0.1731 Y-1.8157 -N4095 X0.1715 Y-1.8252 -N4100 X0.1697 Y-1.8347 -N4105 X0.1685 Y-1.8398 -N4110 X0.1674 Y-1.8442 -N4115 X0.1646 Y-1.8537 -N4120 X0.1617 Y-1.8632 -N4125 X0.159 Y-1.871 -N4130 X0.1584 Y-1.8727 -N4135 X0.1544 Y-1.8822 -N4140 X0.1503 Y-1.8917 -N4145 X0.1496 Y-1.8933 -N4150 X0.1458 Y-1.9012 -N4155 X0.1405 Y-1.9106 -N4160 X0.1349 Y-1.9201 -N4165 X0.1306 Y-1.9271 -N4170 X0.1289 Y-1.9296 -N4175 X0.122 Y-1.9391 -N4180 X0.1147 Y-1.9486 -N4185 X0.1116 Y-1.9526 -N4190 X0.1068 Y-1.9581 -N4195 X0.1021 Y-1.9632 -N4200 X0.0978 Y-1.9676 -N4205 X0.0926 Y-1.9729 -N4210 X0.0883 Y-1.9771 -N4215 X0.0831 Y-1.9819 -N4220 X0.0775 Y-1.9866 -N4225 X0.0736 Y-1.9897 -N4230 X0.0655 Y-1.9961 -N4235 X0.0641 Y-1.9972 -N4240 X0.0546 Y-2.0039 -N4245 X0.052 Y-2.0056 -N4250 X0.0451 Y-2.0099 -N4255 X0.0365 Y-2.0151 -N4260 X0.0356 Y-2.0156 -N4265 X0.0261 Y-2.0208 -N4270 X0.0181 Y-2.0246 -N4275 X0.0166 Y-2.0252 -N4280 X0.0071 Y-2.0295 -N4285 X-0.0024 Y-2.0334 -N4290 X-0.0041 Y-2.0341 -N4295 X-0.0119 Y-2.0367 -N4300 X-0.0213 Y-2.0397 -N4305 X-0.0308 Y-2.0424 -N4310 X-0.0353 Y-2.0436 -N4315 X-0.0403 Y-2.0447 -N4320 X-0.0498 Y-2.0465 -N4325 X-0.0593 Y-2.0482 -N4330 X-0.0688 Y-2.0495 -N4335 X-0.0783 Y-2.0503 -N4340 X-0.0878 Y-2.0508 -N4345 X-0.0973 Y-2.0512 -N4350 X-0.1068 -N4355 X-0.9518 -N4360 X-0.9613 -N4365 X-0.9708 Y-2.051 -N4370 X-0.9898 Y-2.0506 -N4375 X-0.9993 Y-2.0503 -N4380 X-1.0088 Y-2.0496 -N4385 X-1.0278 Y-2.0482 -N4390 X-1.0373 Y-2.0475 -N4395 X-1.0468 Y-2.0465 -N4400 X-1.0752 Y-2.043 -N4405 X-1.0847 Y-2.0416 -N4410 X-1.1132 Y-2.0367 -N4415 X-1.1227 Y-2.0349 -N4420 X-1.1265 Y-2.0341 -N4425 X-1.1512 Y-2.0285 -N4430 X-1.1607 Y-2.0263 -N4435 X-1.1671 Y-2.0246 -N4440 X-1.1892 Y-2.0185 -N4445 X-1.1987 Y-2.0158 -N4450 X-1.201 Y-2.0151 -N4455 X-1.2082 Y-2.0127 -N4460 X-1.2298 Y-2.0056 -N4465 X-1.2366 Y-2.0033 -N4470 X-1.2461 Y-1.9997 -N4475 X-1.2651 Y-1.9924 -N4480 X-1.2746 Y-1.9887 -N4485 X-1.2796 Y-1.9866 -N4490 X-1.3031 Y-1.9762 -N4495 X-1.3126 Y-1.9719 -N4500 X-1.3212 Y-1.9676 -N4505 X-1.3411 Y-1.9576 -N4510 X-1.3506 Y-1.9527 -N4515 X-1.3578 Y-1.9486 -N4520 X-1.3791 Y-1.9366 -N4525 X-1.3886 Y-1.9309 -N4530 X-1.4075 Y-1.9189 -N4535 X-1.417 Y-1.9128 -N4540 X-1.4203 Y-1.9106 -N4545 X-1.4265 Y-1.9063 -N4550 X-1.4473 Y-1.8917 -N4555 X-1.455 Y-1.886 -N4560 X-1.474 Y-1.8711 -N4565 X-1.4835 Y-1.8637 -N4570 X-1.4841 Y-1.8632 -N4575 X-1.493 Y-1.8555 -N4580 X-1.5061 Y-1.8442 -N4585 X-1.512 Y-1.8391 -N4590 X-1.5169 Y-1.8347 -N4595 X-1.5215 Y-1.8303 -N4600 X-1.5405 Y-1.8122 -N4605 X-1.5465 Y-1.8062 -N4610 X-1.5646 Y-1.7872 -N4615 X-1.569 Y-1.7826 -N4620 X-1.5734 Y-1.7777 -N4625 X-1.5785 Y-1.7719 -N4630 X-1.5898 Y-1.7587 -N4635 X-1.5974 Y-1.7498 -N4640 X-1.5979 Y-1.7492 -N4645 X-1.6054 Y-1.7398 -N4650 X-1.6202 Y-1.7208 -N4655 X-1.6259 Y-1.713 -N4660 X-1.6405 Y-1.6923 -N4665 X-1.6449 Y-1.6861 -N4670 X-1.6471 Y-1.6828 -N4675 X-1.6532 Y-1.6733 -N4680 X-1.6652 Y-1.6543 -N4685 X-1.6709 Y-1.6448 -N4690 X-1.6829 Y-1.6236 -N4695 X-1.687 Y-1.6163 -N4700 X-1.6919 Y-1.6068 -N4705 X-1.7019 Y-1.587 -N4710 X-1.7062 Y-1.5784 -N4715 X-1.7104 Y-1.5689 -N4720 X-1.7209 Y-1.5453 -N4725 X-1.723 Y-1.5404 -N4730 X-1.7267 Y-1.5309 -N4735 X-1.734 Y-1.5119 -N4740 X-1.7376 Y-1.5024 -N4745 X-1.7399 Y-1.4956 -N4750 X-1.747 Y-1.4739 -N4755 X-1.7494 Y-1.4668 -N4760 X-1.7501 Y-1.4644 -N4765 X-1.7528 Y-1.4549 -N4770 X-1.7588 Y-1.4329 -N4775 X-1.7606 Y-1.4264 -N4780 X-1.7628 Y-1.417 -N4785 X-1.7683 Y-1.3923 -N4790 X-1.7692 Y-1.3885 -N4795 X-1.771 Y-1.379 -N4800 X-1.7759 Y-1.3505 -N4805 X-1.7773 Y-1.341 -N4810 X-1.7778 Y-1.3366 -N4815 G3 X-1.8399 Y-1.3442 I-0.031 J-0.0038 -N4820 G1 X-1.836 Y-1.3752 -N4825 Z-0.5687 F13.123 -N4830 X-1.8358 Z-0.5728 -N4835 X-1.835 Y-1.3751 Z-0.5768 -N4840 X-1.8337 Y-1.3749 Z-0.5807 -N4845 X-1.8319 Y-1.3747 Z-0.5844 -N4850 X-1.8296 Y-1.3744 Z-0.5878 -N4855 X-1.827 Y-1.3741 Z-0.5908 -N4860 X-1.8239 Y-1.3737 Z-0.5935 -N4865 X-1.8205 Y-1.3733 Z-0.5958 -N4870 X-1.8169 Y-1.3729 Z-0.5976 -N4875 X-1.8131 Y-1.3724 Z-0.5989 -N4880 X-1.8091 Y-1.3719 Z-0.5997 -N4885 X-1.805 Y-1.3714 Z-0.6 -N4890 G3 X-1.7778 Y-1.3366 I-0.0038 J0.031 F39.37 -N4895 G1 X-1.7808 Y-1.3125 -N4900 X-1.7818 Y-1.303 -N4905 X-1.7825 Y-1.2935 -N4910 X-1.7839 Y-1.2745 -N4915 X-1.7846 Y-1.265 -N4920 X-1.7848 Y-1.2556 -N4925 X-1.7853 Y-1.2366 -N4930 X-1.7855 Y-1.2271 -N4935 Y-1.2176 -N4940 Y-0.6574 -N4945 Y-0.6479 -N4950 X-1.7853 Y-0.6384 -N4955 X-1.7848 Y-0.6194 -N4960 X-1.7846 Y-0.61 -N4965 X-1.7839 Y-0.6005 -N4970 X-1.7825 Y-0.5815 -N4975 X-1.7818 Y-0.572 -N4980 X-1.7808 Y-0.5625 -N4985 X-1.7773 Y-0.534 -N4990 X-1.7759 Y-0.5245 -N4995 X-1.771 Y-0.496 -N5000 X-1.7692 Y-0.4865 -N5005 X-1.7683 Y-0.4827 -N5010 X-1.7628 Y-0.458 -N5015 X-1.7606 Y-0.4486 -N5020 X-1.7588 Y-0.4421 -N5025 X-1.7528 Y-0.4201 -N5030 X-1.7501 Y-0.4106 -N5035 X-1.7494 Y-0.4082 -N5040 X-1.747 Y-0.4011 -N5045 X-1.7399 Y-0.3794 -N5050 X-1.7376 Y-0.3726 -N5055 X-1.734 Y-0.3631 -N5060 X-1.7267 Y-0.3441 -N5065 X-1.723 Y-0.3346 -N5070 X-1.7209 Y-0.3297 -N5075 X-1.7104 Y-0.3061 -N5080 X-1.7062 Y-0.2966 -N5085 X-1.7019 Y-0.288 -N5090 X-1.6919 Y-0.2682 -N5095 X-1.687 Y-0.2587 -N5100 X-1.6829 Y-0.2514 -N5105 X-1.6709 Y-0.2302 -N5110 X-1.6652 Y-0.2207 -N5115 X-1.6532 Y-0.2017 -N5120 X-1.6471 Y-0.1922 -N5125 X-1.6449 Y-0.1889 -N5130 X-1.6405 Y-0.1827 -N5135 X-1.6259 Y-0.162 -N5140 X-1.6202 Y-0.1542 -N5145 X-1.6054 Y-0.1352 -N5150 X-1.5979 Y-0.1258 -N5155 X-1.5974 Y-0.1252 -N5160 X-1.5898 Y-0.1163 -N5165 X-1.5785 Y-0.1031 -N5170 X-1.5734 Y-0.0973 -N5175 X-1.569 Y-0.0924 -N5180 X-1.5646 Y-0.0878 -N5185 X-1.5465 Y-0.0688 -N5190 X-1.5405 Y-0.0628 -N5195 X-1.5215 Y-0.0447 -N5200 X-1.5169 Y-0.0403 -N5205 X-1.512 Y-0.0359 -N5210 X-1.5061 Y-0.0308 -N5215 X-1.493 Y-0.0195 -N5220 X-1.4841 Y-0.0118 -N5225 X-1.4835 Y-0.0113 -N5230 X-1.474 Y-0.0039 -N5235 X-1.455 Y0.011 -N5240 X-1.4473 Y0.0167 -N5245 X-1.4265 Y0.0313 -N5250 X-1.4203 Y0.0356 -N5255 X-1.417 Y0.0378 -N5260 X-1.4075 Y0.0439 -N5265 X-1.3886 Y0.0559 -N5270 X-1.3791 Y0.0616 -N5275 X-1.3578 Y0.0736 -N5280 X-1.3506 Y0.0777 -N5285 X-1.3411 Y0.0826 -N5290 X-1.3212 Y0.0926 -N5295 X-1.3126 Y0.0969 -N5300 X-1.3031 Y0.1012 -N5305 X-1.2796 Y0.1116 -N5310 X-1.2746 Y0.1137 -N5315 X-1.2651 Y0.1174 -N5320 X-1.2461 Y0.1247 -N5325 X-1.2366 Y0.1283 -N5330 X-1.2298 Y0.1306 -N5335 X-1.2082 Y0.1377 -N5340 X-1.201 Y0.1401 -N5345 X-1.1987 Y0.1408 -N5350 X-1.1892 Y0.1435 -N5355 X-1.1671 Y0.1496 -N5360 X-1.1607 Y0.1513 -N5365 X-1.1512 Y0.1535 -N5370 X-1.1265 Y0.1591 -N5375 X-1.1227 Y0.1599 -N5380 X-1.1132 Y0.1617 -N5385 X-1.0847 Y0.1666 -N5390 X-1.0752 Y0.168 -N5395 X-1.0468 Y0.1715 -N5400 X-1.0373 Y0.1725 -N5405 X-1.0278 Y0.1732 -N5410 X-1.0088 Y0.1746 -N5415 X-0.9993 Y0.1753 -N5420 X-0.9898 Y0.1756 -N5425 X-0.9708 Y0.176 -N5430 X-0.9613 Y0.1762 -N5435 X-0.9518 -N5440 X-0.1068 -N5445 X-0.0973 -N5450 X-0.0878 Y0.1758 -N5455 X-0.0783 Y0.1753 -N5460 X-0.0688 Y0.1745 -N5465 X-0.0593 Y0.1732 -N5470 X-0.0498 Y0.1715 -N5475 X-0.0403 Y0.1697 -N5480 X-0.0353 Y0.1686 -N5485 X-0.0308 Y0.1674 -N5490 X-0.0213 Y0.1647 -N5495 X-0.0119 Y0.1617 -N5500 X-0.0041 Y0.1591 -N5505 X-0.0024 Y0.1584 -N5510 X0.0071 Y0.1545 -N5515 X0.0166 Y0.1502 -N5520 X0.0181 Y0.1496 -N5525 X0.0261 Y0.1458 -N5530 X0.0356 Y0.1406 -N5535 X0.0365 Y0.1401 -N5540 X0.0451 Y0.1349 -N5545 X0.052 Y0.1306 -N5550 X0.0546 Y0.1289 -N5555 X0.0641 Y0.1222 -N5560 X0.0655 Y0.1211 -N5565 X0.0736 Y0.1147 -N5570 X0.0775 Y0.1116 -N5575 X0.0831 Y0.1069 -N5580 X0.0883 Y0.1021 -N5585 X0.0926 Y0.0979 -N5590 X0.0978 Y0.0926 -N5595 X0.1021 Y0.0882 -N5600 X0.1068 Y0.0831 -N5605 X0.1116 Y0.0776 -N5610 X0.1147 Y0.0736 -N5615 X0.122 Y0.0641 -N5620 X0.1289 Y0.0546 -N5625 X0.1306 Y0.0521 -N5630 X0.1349 Y0.0451 -N5635 X0.1405 Y0.0356 -N5640 X0.1458 Y0.0262 -N5645 X0.1496 Y0.0183 -N5650 X0.1503 Y0.0167 -N5655 X0.1544 Y0.0072 -N5660 X0.1584 Y-0.0023 -N5665 X0.159 Y-0.004 -N5670 X0.1617 Y-0.0118 -N5675 X0.1646 Y-0.0213 -N5680 X0.1674 Y-0.0308 -N5685 X0.1685 Y-0.0352 -N5690 X0.1697 Y-0.0403 -N5695 X0.1715 Y-0.0498 -N5700 X0.1731 Y-0.0593 -N5705 X0.1745 Y-0.0688 -N5710 X0.1753 Y-0.0783 -N5715 X0.1758 Y-0.0878 -N5720 X0.1762 Y-0.0973 -N5725 Y-0.1068 -N5730 X0.1756 Y-0.1163 -N5735 X0.1749 Y-0.1258 -N5740 X0.174 Y-0.1352 -N5745 X0.1725 Y-0.1447 -N5750 X0.1707 Y-0.1542 -N5755 X0.1688 Y-0.1637 -N5760 X0.1685 Y-0.1647 -N5765 X0.1664 Y-0.1732 -N5770 X0.1634 Y-0.1827 -N5775 X0.1603 Y-0.1922 -N5780 X0.159 Y-0.1958 -N5785 X0.1568 Y-0.2017 -N5790 X0.1528 Y-0.2112 -N5795 X0.1496 Y-0.218 -N5800 X0.1483 Y-0.2207 -N5805 X0.1436 Y-0.2302 -N5810 X0.1401 Y-0.2366 -N5815 X0.1383 Y-0.2397 -N5820 X0.1323 Y-0.2492 -N5825 X0.1306 Y-0.2519 -N5830 X0.1261 Y-0.2587 -N5835 X0.1211 Y-0.2656 -N5840 X0.1191 Y-0.2682 -N5845 X0.1116 Y-0.2774 -N5850 X0.1114 Y-0.2777 -N5855 X0.1032 Y-0.2872 -N5860 X0.1021 Y-0.2883 -N5865 X0.0938 Y-0.2966 -N5870 X0.0926 Y-0.2978 -N5875 X0.0838 Y-0.3061 -N5880 X0.0831 Y-0.3068 -N5885 X0.0736 Y-0.3152 -N5890 X0.0624 Y-0.3251 -N5895 X0.0546 Y-0.3321 -N5900 X0.0322 Y-0.3536 -N5905 X0.0261 Y-0.3598 -N5910 X0.0138 Y-0.3726 -N5915 X0.0071 Y-0.3797 -N5920 X-0.0119 Y-0.4011 -N5925 X-0.0198 Y-0.4106 -N5930 X-0.0308 Y-0.424 -N5935 X-0.0352 Y-0.4296 -N5940 X-0.0498 Y-0.4488 -N5945 X-0.0565 Y-0.458 -N5950 X-0.0698 Y-0.477 -N5955 X-0.076 Y-0.4865 -N5960 X-0.0882 Y-0.5055 -N5965 X-0.0938 Y-0.515 -N5970 X-0.105 Y-0.534 -N5975 X-0.1068 Y-0.5374 -N5980 X-0.1202 Y-0.5625 -N5985 X-0.1249 Y-0.572 -N5990 X-0.1341 Y-0.591 -N5995 X-0.1353 Y-0.5936 -N6000 X-0.1466 Y-0.6194 -N6005 X-0.1505 Y-0.6289 -N6010 X-0.1579 Y-0.6479 -N6015 X-0.1614 Y-0.6574 -N6020 X-0.168 Y-0.6764 -N6025 X-0.1711 Y-0.6859 -N6030 X-0.1769 Y-0.7049 -N6035 X-0.1797 Y-0.7144 -N6040 X-0.1872 Y-0.7429 -N6045 X-0.1894 Y-0.7524 -N6050 X-0.1935 Y-0.7714 -N6055 X-0.1954 Y-0.7808 -N6060 X-0.1988 Y-0.7998 -N6065 X-0.2005 Y-0.8093 -N6070 X-0.2045 Y-0.8378 -N6075 X-0.2055 Y-0.8473 -N6080 X-0.2074 Y-0.8663 -N6085 X-0.2082 Y-0.8758 -N6090 X-0.2099 Y-0.9043 -N6095 X-0.2101 Y-0.9138 -N6100 X-0.2105 Y-0.9328 -N6105 Y-0.9422 -N6110 X-0.2101 Y-0.9612 -N6115 X-0.2099 Y-0.9707 -N6120 X-0.2082 Y-0.9992 -N6125 X-0.2074 Y-1.0087 -N6130 X-0.2055 Y-1.0277 -N6135 X-0.2045 Y-1.0372 -N6140 X-0.2005 Y-1.0657 -N6145 X-0.1988 Y-1.0752 -N6150 X-0.1954 Y-1.0942 -N6155 X-0.1935 Y-1.1036 -N6160 X-0.1894 Y-1.1226 -N6165 X-0.1872 Y-1.1321 -N6170 X-0.1797 Y-1.1606 -N6175 X-0.1769 Y-1.1701 -N6180 X-0.1711 Y-1.1891 -N6185 X-0.168 Y-1.1986 -N6190 X-0.1614 Y-1.2176 -N6195 X-0.1579 Y-1.2271 -N6200 X-0.1505 Y-1.2461 -N6205 X-0.1466 Y-1.2556 -N6210 X-0.1353 Y-1.2814 -N6215 X-0.1341 Y-1.284 -N6220 X-0.1249 Y-1.303 -N6225 X-0.1202 Y-1.3125 -N6230 X-0.1068 Y-1.3376 -N6235 X-0.105 Y-1.341 -N6240 X-0.0938 Y-1.36 -N6245 X-0.0882 Y-1.3695 -N6250 X-0.076 Y-1.3885 -N6255 X-0.0698 Y-1.398 -N6260 X-0.0565 Y-1.417 -N6265 X-0.0498 Y-1.4262 -N6270 X-0.0352 Y-1.4454 -N6275 X-0.0308 Y-1.451 -N6280 X-0.0198 Y-1.4644 -N6285 X-0.0119 Y-1.4739 -N6290 X0.0071 Y-1.4953 -N6295 X0.0138 Y-1.5024 -N6300 X0.0261 Y-1.5152 -N6305 X0.0322 Y-1.5214 -N6310 X0.0546 Y-1.5429 -N6315 X0.0624 Y-1.5499 -N6320 X0.0736 Y-1.5598 -N6325 X0.0831 Y-1.5682 -N6330 X0.0838 Y-1.5689 -N6335 X0.0926 Y-1.5772 -N6340 X0.0938 Y-1.5784 -N6345 X0.1021 Y-1.5867 -N6350 X0.1032 Y-1.5878 -N6355 X0.1114 Y-1.5973 -N6360 X0.1116 Y-1.5976 -N6365 X0.1191 Y-1.6068 -N6370 X0.1211 Y-1.6094 -N6375 X0.1261 Y-1.6163 -N6380 X0.1306 Y-1.6231 -N6385 X0.1323 Y-1.6258 -N6390 X0.1383 Y-1.6353 -N6395 X0.1401 Y-1.6384 -N6400 X0.1436 Y-1.6448 -N6405 X0.1483 Y-1.6543 -N6410 X0.1496 Y-1.657 -N6415 X0.1528 Y-1.6638 -N6420 X0.1568 Y-1.6733 -N6425 X0.159 Y-1.6792 -N6430 X0.1603 Y-1.6828 -N6435 X0.1634 Y-1.6923 -N6440 X0.1664 Y-1.7018 -N6445 X0.1685 Y-1.7103 -N6450 X0.1688 Y-1.7113 -N6455 X0.1707 Y-1.7208 -N6460 X0.1725 Y-1.7303 -N6465 X0.174 Y-1.7398 -N6470 X0.1749 Y-1.7492 -N6475 X0.1756 Y-1.7587 -N6480 X0.1762 Y-1.7682 -N6485 Y-1.7777 -N6490 X0.1758 Y-1.7872 -N6495 X0.1753 Y-1.7967 -N6500 X0.1745 Y-1.8062 -N6505 X0.1731 Y-1.8157 -N6510 X0.1715 Y-1.8252 -N6515 X0.1697 Y-1.8347 -N6520 X0.1685 Y-1.8398 -N6525 X0.1674 Y-1.8442 -N6530 X0.1646 Y-1.8537 -N6535 X0.1617 Y-1.8632 -N6540 X0.159 Y-1.871 -N6545 X0.1584 Y-1.8727 -N6550 X0.1544 Y-1.8822 -N6555 X0.1503 Y-1.8917 -N6560 X0.1496 Y-1.8933 -N6565 X0.1458 Y-1.9012 -N6570 X0.1405 Y-1.9106 -N6575 X0.1349 Y-1.9201 -N6580 X0.1306 Y-1.9271 -N6585 X0.1289 Y-1.9296 -N6590 X0.122 Y-1.9391 -N6595 X0.1147 Y-1.9486 -N6600 X0.1116 Y-1.9526 -N6605 X0.1068 Y-1.9581 -N6610 X0.1021 Y-1.9632 -N6615 X0.0978 Y-1.9676 -N6620 X0.0926 Y-1.9729 -N6625 X0.0883 Y-1.9771 -N6630 X0.0831 Y-1.9819 -N6635 X0.0775 Y-1.9866 -N6640 X0.0736 Y-1.9897 -N6645 X0.0655 Y-1.9961 -N6650 X0.0641 Y-1.9972 -N6655 X0.0546 Y-2.0039 -N6660 X0.052 Y-2.0056 -N6665 X0.0451 Y-2.0099 -N6670 X0.0365 Y-2.0151 -N6675 X0.0356 Y-2.0156 -N6680 X0.0261 Y-2.0208 -N6685 X0.0181 Y-2.0246 -N6690 X0.0166 Y-2.0252 -N6695 X0.0071 Y-2.0295 -N6700 X-0.0024 Y-2.0334 -N6705 X-0.0041 Y-2.0341 -N6710 X-0.0119 Y-2.0367 -N6715 X-0.0213 Y-2.0397 -N6720 X-0.0308 Y-2.0424 -N6725 X-0.0353 Y-2.0436 -N6730 X-0.0403 Y-2.0447 -N6735 X-0.0498 Y-2.0465 -N6740 X-0.0593 Y-2.0482 -N6745 X-0.0688 Y-2.0495 -N6750 X-0.0783 Y-2.0503 -N6755 X-0.0878 Y-2.0508 -N6760 X-0.0973 Y-2.0512 -N6765 X-0.1068 -N6770 X-0.9518 -N6775 X-0.9613 -N6780 X-0.9708 Y-2.051 -N6785 X-0.9898 Y-2.0506 -N6790 X-0.9993 Y-2.0503 -N6795 X-1.0088 Y-2.0496 -N6800 X-1.0278 Y-2.0482 -N6805 X-1.0373 Y-2.0475 -N6810 X-1.0468 Y-2.0465 -N6815 X-1.0752 Y-2.043 -N6820 X-1.0847 Y-2.0416 -N6825 X-1.1132 Y-2.0367 -N6830 X-1.1227 Y-2.0349 -N6835 X-1.1265 Y-2.0341 -N6840 X-1.1512 Y-2.0285 -N6845 X-1.1607 Y-2.0263 -N6850 X-1.1671 Y-2.0246 -N6855 X-1.1892 Y-2.0185 -N6860 X-1.1987 Y-2.0158 -N6865 X-1.201 Y-2.0151 -N6870 X-1.2082 Y-2.0127 -N6875 X-1.2298 Y-2.0056 -N6880 X-1.2366 Y-2.0033 -N6885 X-1.2461 Y-1.9997 -N6890 X-1.2651 Y-1.9924 -N6895 X-1.2746 Y-1.9887 -N6900 X-1.2796 Y-1.9866 -N6905 X-1.3031 Y-1.9762 -N6910 X-1.3126 Y-1.9719 -N6915 X-1.3212 Y-1.9676 -N6920 X-1.3411 Y-1.9576 -N6925 X-1.3506 Y-1.9527 -N6930 X-1.3578 Y-1.9486 -N6935 X-1.3791 Y-1.9366 -N6940 X-1.3886 Y-1.9309 -N6945 X-1.4075 Y-1.9189 -N6950 X-1.417 Y-1.9128 -N6955 X-1.4203 Y-1.9106 -N6960 X-1.4265 Y-1.9063 -N6965 X-1.4473 Y-1.8917 -N6970 X-1.455 Y-1.886 -N6975 X-1.474 Y-1.8711 -N6980 X-1.4835 Y-1.8637 -N6985 X-1.4841 Y-1.8632 -N6990 X-1.493 Y-1.8555 -N6995 X-1.5061 Y-1.8442 -N7000 X-1.512 Y-1.8391 -N7005 X-1.5169 Y-1.8347 -N7010 X-1.5215 Y-1.8303 -N7015 X-1.5405 Y-1.8122 -N7020 X-1.5465 Y-1.8062 -N7025 X-1.5646 Y-1.7872 -N7030 X-1.569 Y-1.7826 -N7035 X-1.5734 Y-1.7777 -N7040 X-1.5785 Y-1.7719 -N7045 X-1.5898 Y-1.7587 -N7050 X-1.5974 Y-1.7498 -N7055 X-1.5979 Y-1.7492 -N7060 X-1.6054 Y-1.7398 -N7065 X-1.6202 Y-1.7208 -N7070 X-1.6259 Y-1.713 -N7075 X-1.6405 Y-1.6923 -N7080 X-1.6449 Y-1.6861 -N7085 X-1.6471 Y-1.6828 -N7090 X-1.6532 Y-1.6733 -N7095 X-1.6652 Y-1.6543 -N7100 X-1.6709 Y-1.6448 -N7105 X-1.6829 Y-1.6236 -N7110 X-1.687 Y-1.6163 -N7115 X-1.6919 Y-1.6068 -N7120 X-1.7019 Y-1.587 -N7125 X-1.7062 Y-1.5784 -N7130 X-1.7104 Y-1.5689 -N7135 X-1.7209 Y-1.5453 -N7140 X-1.723 Y-1.5404 -N7145 X-1.7267 Y-1.5309 -N7150 X-1.734 Y-1.5119 -N7155 X-1.7376 Y-1.5024 -N7160 X-1.7399 Y-1.4956 -N7165 X-1.747 Y-1.4739 -N7170 X-1.7494 Y-1.4668 -N7175 X-1.7501 Y-1.4644 -N7180 X-1.7528 Y-1.4549 -N7185 X-1.7588 Y-1.4329 -N7190 X-1.7606 Y-1.4264 -N7195 X-1.7628 Y-1.417 -N7200 X-1.7683 Y-1.3923 -N7205 X-1.7692 Y-1.3885 -N7210 X-1.771 Y-1.379 -N7215 X-1.7759 Y-1.3505 -N7220 X-1.7773 Y-1.341 -N7225 X-1.7778 Y-1.3366 -N7230 G3 X-1.8399 Y-1.3442 I-0.031 J-0.0038 -N7235 G1 X-1.836 Y-1.3752 -N7240 Z-0.7088 F13.123 -N7245 X-1.8358 Z-0.7128 -N7250 X-1.835 Y-1.3751 Z-0.7168 -N7255 X-1.8337 Y-1.3749 Z-0.7207 -N7260 X-1.8319 Y-1.3747 Z-0.7244 -N7265 X-1.8296 Y-1.3744 Z-0.7278 -N7270 X-1.827 Y-1.3741 Z-0.7308 -N7275 X-1.8239 Y-1.3737 Z-0.7335 -N7280 X-1.8205 Y-1.3733 Z-0.7358 -N7285 X-1.8169 Y-1.3729 Z-0.7376 -N7290 X-1.8131 Y-1.3724 Z-0.7389 -N7295 X-1.8091 Y-1.3719 Z-0.7397 -N7300 X-1.805 Y-1.3714 Z-0.74 -N7305 G3 X-1.7778 Y-1.3366 I-0.0038 J0.031 F39.37 -N7310 G1 X-1.7808 Y-1.3125 -N7315 X-1.7818 Y-1.303 -N7320 X-1.7825 Y-1.2935 -N7325 X-1.7839 Y-1.2745 -N7330 X-1.7846 Y-1.265 -N7335 X-1.7848 Y-1.2556 -N7340 X-1.7853 Y-1.2366 -N7345 X-1.7855 Y-1.2271 -N7350 Y-1.2176 -N7355 Y-0.6574 -N7360 Y-0.6479 -N7365 X-1.7853 Y-0.6384 -N7370 X-1.7848 Y-0.6194 -N7375 X-1.7846 Y-0.61 -N7380 X-1.7839 Y-0.6005 -N7385 X-1.7825 Y-0.5815 -N7390 X-1.7818 Y-0.572 -N7395 X-1.7808 Y-0.5625 -N7400 X-1.7773 Y-0.534 -N7405 X-1.7759 Y-0.5245 -N7410 X-1.771 Y-0.496 -N7415 X-1.7692 Y-0.4865 -N7420 X-1.7683 Y-0.4827 -N7425 X-1.7628 Y-0.458 -N7430 X-1.7606 Y-0.4486 -N7435 X-1.7588 Y-0.4421 -N7440 X-1.7528 Y-0.4201 -N7445 X-1.7501 Y-0.4106 -N7450 X-1.7494 Y-0.4082 -N7455 X-1.747 Y-0.4011 -N7460 X-1.7399 Y-0.3794 -N7465 X-1.7376 Y-0.3726 -N7470 X-1.734 Y-0.3631 -N7475 X-1.7267 Y-0.3441 -N7480 X-1.723 Y-0.3346 -N7485 X-1.7209 Y-0.3297 -N7490 X-1.7104 Y-0.3061 -N7495 X-1.7062 Y-0.2966 -N7500 X-1.7019 Y-0.288 -N7505 X-1.6919 Y-0.2682 -N7510 X-1.687 Y-0.2587 -N7515 X-1.6829 Y-0.2514 -N7520 X-1.6709 Y-0.2302 -N7525 X-1.6652 Y-0.2207 -N7530 X-1.6532 Y-0.2017 -N7535 X-1.6471 Y-0.1922 -N7540 X-1.6449 Y-0.1889 -N7545 X-1.6405 Y-0.1827 -N7550 X-1.6259 Y-0.162 -N7555 X-1.6202 Y-0.1542 -N7560 X-1.6054 Y-0.1352 -N7565 X-1.5979 Y-0.1258 -N7570 X-1.5974 Y-0.1252 -N7575 X-1.5898 Y-0.1163 -N7580 X-1.5785 Y-0.1031 -N7585 X-1.5734 Y-0.0973 -N7590 X-1.569 Y-0.0924 -N7595 X-1.5646 Y-0.0878 -N7600 X-1.5465 Y-0.0688 -N7605 X-1.5405 Y-0.0628 -N7610 X-1.5215 Y-0.0447 -N7615 X-1.5169 Y-0.0403 -N7620 X-1.512 Y-0.0359 -N7625 X-1.5061 Y-0.0308 -N7630 X-1.493 Y-0.0195 -N7635 X-1.4841 Y-0.0118 -N7640 X-1.4835 Y-0.0113 -N7645 X-1.474 Y-0.0039 -N7650 X-1.455 Y0.011 -N7655 X-1.4473 Y0.0167 -N7660 X-1.4265 Y0.0313 -N7665 X-1.4203 Y0.0356 -N7670 X-1.417 Y0.0378 -N7675 X-1.4075 Y0.0439 -N7680 X-1.3886 Y0.0559 -N7685 X-1.3791 Y0.0616 -N7690 X-1.3578 Y0.0736 -N7695 X-1.3506 Y0.0777 -N7700 X-1.3411 Y0.0826 -N7705 X-1.3212 Y0.0926 -N7710 X-1.3126 Y0.0969 -N7715 X-1.3031 Y0.1012 -N7720 X-1.2796 Y0.1116 -N7725 X-1.2746 Y0.1137 -N7730 X-1.2651 Y0.1174 -N7735 X-1.2461 Y0.1247 -N7740 X-1.2366 Y0.1283 -N7745 X-1.2298 Y0.1306 -N7750 X-1.2082 Y0.1377 -N7755 X-1.201 Y0.1401 -N7760 X-1.1987 Y0.1408 -N7765 X-1.1892 Y0.1435 -N7770 X-1.1671 Y0.1496 -N7775 X-1.1607 Y0.1513 -N7780 X-1.1512 Y0.1535 -N7785 X-1.1265 Y0.1591 -N7790 X-1.1227 Y0.1599 -N7795 X-1.1132 Y0.1617 -N7800 X-1.0847 Y0.1666 -N7805 X-1.0752 Y0.168 -N7810 X-1.0468 Y0.1715 -N7815 X-1.0373 Y0.1725 -N7820 X-1.0278 Y0.1732 -N7825 X-1.0088 Y0.1746 -N7830 X-0.9993 Y0.1753 -N7835 X-0.9898 Y0.1756 -N7840 X-0.9708 Y0.176 -N7845 X-0.9613 Y0.1762 -N7850 X-0.9518 -N7855 X-0.1068 -N7860 X-0.0973 -N7865 X-0.0878 Y0.1758 -N7870 X-0.0783 Y0.1753 -N7875 X-0.0688 Y0.1745 -N7880 X-0.0593 Y0.1732 -N7885 X-0.0498 Y0.1715 -N7890 X-0.0403 Y0.1697 -N7895 X-0.0353 Y0.1686 -N7900 X-0.0308 Y0.1674 -N7905 X-0.0213 Y0.1647 -N7910 X-0.0119 Y0.1617 -N7915 X-0.0041 Y0.1591 -N7920 X-0.0024 Y0.1584 -N7925 X0.0071 Y0.1545 -N7930 X0.0166 Y0.1502 -N7935 X0.0181 Y0.1496 -N7940 X0.0261 Y0.1458 -N7945 X0.0356 Y0.1406 -N7950 X0.0365 Y0.1401 -N7955 X0.0451 Y0.1349 -N7960 X0.052 Y0.1306 -N7965 X0.0546 Y0.1289 -N7970 X0.0641 Y0.1222 -N7975 X0.0655 Y0.1211 -N7980 X0.0736 Y0.1147 -N7985 X0.0775 Y0.1116 -N7990 X0.0831 Y0.1069 -N7995 X0.0883 Y0.1021 -N8000 X0.0926 Y0.0979 -N8005 X0.0978 Y0.0926 -N8010 X0.1021 Y0.0882 -N8015 X0.1068 Y0.0831 -N8020 X0.1116 Y0.0776 -N8025 X0.1147 Y0.0736 -N8030 X0.122 Y0.0641 -N8035 X0.1289 Y0.0546 -N8040 X0.1306 Y0.0521 -N8045 X0.1349 Y0.0451 -N8050 X0.1405 Y0.0356 -N8055 X0.1458 Y0.0262 -N8060 X0.1496 Y0.0183 -N8065 X0.1503 Y0.0167 -N8070 X0.1544 Y0.0072 -N8075 X0.1584 Y-0.0023 -N8080 X0.159 Y-0.004 -N8085 X0.1617 Y-0.0118 -N8090 X0.1646 Y-0.0213 -N8095 X0.1674 Y-0.0308 -N8100 X0.1685 Y-0.0352 -N8105 X0.1697 Y-0.0403 -N8110 X0.1715 Y-0.0498 -N8115 X0.1731 Y-0.0593 -N8120 X0.1745 Y-0.0688 -N8125 X0.1753 Y-0.0783 -N8130 X0.1758 Y-0.0878 -N8135 X0.1762 Y-0.0973 -N8140 Y-0.1068 -N8145 X0.1756 Y-0.1163 -N8150 X0.1749 Y-0.1258 -N8155 X0.174 Y-0.1352 -N8160 X0.1725 Y-0.1447 -N8165 X0.1707 Y-0.1542 -N8170 X0.1688 Y-0.1637 -N8175 X0.1685 Y-0.1647 -N8180 X0.1664 Y-0.1732 -N8185 X0.1634 Y-0.1827 -N8190 X0.1603 Y-0.1922 -N8195 X0.159 Y-0.1958 -N8200 X0.1568 Y-0.2017 -N8205 X0.1528 Y-0.2112 -N8210 X0.1496 Y-0.218 -N8215 X0.1483 Y-0.2207 -N8220 X0.1436 Y-0.2302 -N8225 X0.1401 Y-0.2366 -N8230 X0.1383 Y-0.2397 -N8235 X0.1323 Y-0.2492 -N8240 X0.1306 Y-0.2519 -N8245 X0.1261 Y-0.2587 -N8250 X0.1211 Y-0.2656 -N8255 X0.1191 Y-0.2682 -N8260 X0.1116 Y-0.2774 -N8265 X0.1114 Y-0.2777 -N8270 X0.1032 Y-0.2872 -N8275 X0.1021 Y-0.2883 -N8280 X0.0938 Y-0.2966 -N8285 X0.0926 Y-0.2978 -N8290 X0.0838 Y-0.3061 -N8295 X0.0831 Y-0.3068 -N8300 X0.0736 Y-0.3152 -N8305 X0.0624 Y-0.3251 -N8310 X0.0546 Y-0.3321 -N8315 X0.0322 Y-0.3536 -N8320 X0.0261 Y-0.3598 -N8325 X0.0138 Y-0.3726 -N8330 X0.0071 Y-0.3797 -N8335 X-0.0119 Y-0.4011 -N8340 X-0.0198 Y-0.4106 -N8345 X-0.0308 Y-0.424 -N8350 X-0.0352 Y-0.4296 -N8355 X-0.0498 Y-0.4488 -N8360 X-0.0565 Y-0.458 -N8365 X-0.0698 Y-0.477 -N8370 X-0.076 Y-0.4865 -N8375 X-0.0882 Y-0.5055 -N8380 X-0.0938 Y-0.515 -N8385 X-0.105 Y-0.534 -N8390 X-0.1068 Y-0.5374 -N8395 X-0.1202 Y-0.5625 -N8400 X-0.1249 Y-0.572 -N8405 X-0.1341 Y-0.591 -N8410 X-0.1353 Y-0.5936 -N8415 X-0.1466 Y-0.6194 -N8420 X-0.1505 Y-0.6289 -N8425 X-0.1579 Y-0.6479 -N8430 X-0.1614 Y-0.6574 -N8435 X-0.168 Y-0.6764 -N8440 X-0.1711 Y-0.6859 -N8445 X-0.1769 Y-0.7049 -N8450 X-0.1797 Y-0.7144 -N8455 X-0.1872 Y-0.7429 -N8460 X-0.1894 Y-0.7524 -N8465 X-0.1935 Y-0.7714 -N8470 X-0.1954 Y-0.7808 -N8475 X-0.1988 Y-0.7998 -N8480 X-0.2005 Y-0.8093 -N8485 X-0.2045 Y-0.8378 -N8490 X-0.2055 Y-0.8473 -N8495 X-0.2074 Y-0.8663 -N8500 X-0.2082 Y-0.8758 -N8505 X-0.2099 Y-0.9043 -N8510 X-0.2101 Y-0.9138 -N8515 X-0.2105 Y-0.9328 -N8520 Y-0.9422 -N8525 X-0.2101 Y-0.9612 -N8530 X-0.2099 Y-0.9707 -N8535 X-0.2082 Y-0.9992 -N8540 X-0.2074 Y-1.0087 -N8545 X-0.2055 Y-1.0277 -N8550 X-0.2045 Y-1.0372 -N8555 X-0.2005 Y-1.0657 -N8560 X-0.1988 Y-1.0752 -N8565 X-0.1954 Y-1.0942 -N8570 X-0.1935 Y-1.1036 -N8575 X-0.1894 Y-1.1226 -N8580 X-0.1872 Y-1.1321 -N8585 X-0.1797 Y-1.1606 -N8590 X-0.1769 Y-1.1701 -N8595 X-0.1711 Y-1.1891 -N8600 X-0.168 Y-1.1986 -N8605 X-0.1614 Y-1.2176 -N8610 X-0.1579 Y-1.2271 -N8615 X-0.1505 Y-1.2461 -N8620 X-0.1466 Y-1.2556 -N8625 X-0.1353 Y-1.2814 -N8630 X-0.1341 Y-1.284 -N8635 X-0.1249 Y-1.303 -N8640 X-0.1202 Y-1.3125 -N8645 X-0.1068 Y-1.3376 -N8650 X-0.105 Y-1.341 -N8655 X-0.0938 Y-1.36 -N8660 X-0.0882 Y-1.3695 -N8665 X-0.076 Y-1.3885 -N8670 X-0.0698 Y-1.398 -N8675 X-0.0565 Y-1.417 -N8680 X-0.0498 Y-1.4262 -N8685 X-0.0352 Y-1.4454 -N8690 X-0.0308 Y-1.451 -N8695 X-0.0198 Y-1.4644 -N8700 X-0.0119 Y-1.4739 -N8705 X0.0071 Y-1.4953 -N8710 X0.0138 Y-1.5024 -N8715 X0.0261 Y-1.5152 -N8720 X0.0322 Y-1.5214 -N8725 X0.0546 Y-1.5429 -N8730 X0.0624 Y-1.5499 -N8735 X0.0736 Y-1.5598 -N8740 X0.0831 Y-1.5682 -N8745 X0.0838 Y-1.5689 -N8750 X0.0926 Y-1.5772 -N8755 X0.0938 Y-1.5784 -N8760 X0.1021 Y-1.5867 -N8765 X0.1032 Y-1.5878 -N8770 X0.1114 Y-1.5973 -N8775 X0.1116 Y-1.5976 -N8780 X0.1191 Y-1.6068 -N8785 X0.1211 Y-1.6094 -N8790 X0.1261 Y-1.6163 -N8795 X0.1306 Y-1.6231 -N8800 X0.1323 Y-1.6258 -N8805 X0.1383 Y-1.6353 -N8810 X0.1401 Y-1.6384 -N8815 X0.1436 Y-1.6448 -N8820 X0.1483 Y-1.6543 -N8825 X0.1496 Y-1.657 -N8830 X0.1528 Y-1.6638 -N8835 X0.1568 Y-1.6733 -N8840 X0.159 Y-1.6792 -N8845 X0.1603 Y-1.6828 -N8850 X0.1634 Y-1.6923 -N8855 X0.1664 Y-1.7018 -N8860 X0.1685 Y-1.7103 -N8865 X0.1688 Y-1.7113 -N8870 X0.1707 Y-1.7208 -N8875 X0.1725 Y-1.7303 -N8880 X0.174 Y-1.7398 -N8885 X0.1749 Y-1.7492 -N8890 X0.1756 Y-1.7587 -N8895 X0.1762 Y-1.7682 -N8900 Y-1.7777 -N8905 X0.1758 Y-1.7872 -N8910 X0.1753 Y-1.7967 -N8915 X0.1745 Y-1.8062 -N8920 X0.1731 Y-1.8157 -N8925 X0.1715 Y-1.8252 -N8930 X0.1697 Y-1.8347 -N8935 X0.1685 Y-1.8398 -N8940 X0.1674 Y-1.8442 -N8945 X0.1646 Y-1.8537 -N8950 X0.1617 Y-1.8632 -N8955 X0.159 Y-1.871 -N8960 X0.1584 Y-1.8727 -N8965 X0.1544 Y-1.8822 -N8970 X0.1503 Y-1.8917 -N8975 X0.1496 Y-1.8933 -N8980 X0.1458 Y-1.9012 -N8985 X0.1405 Y-1.9106 -N8990 X0.1349 Y-1.9201 -N8995 X0.1306 Y-1.9271 -N9000 X0.1289 Y-1.9296 -N9005 X0.122 Y-1.9391 -N9010 X0.1147 Y-1.9486 -N9015 X0.1116 Y-1.9526 -N9020 X0.1068 Y-1.9581 -N9025 X0.1021 Y-1.9632 -N9030 X0.0978 Y-1.9676 -N9035 X0.0926 Y-1.9729 -N9040 X0.0883 Y-1.9771 -N9045 X0.0831 Y-1.9819 -N9050 X0.0775 Y-1.9866 -N9055 X0.0736 Y-1.9897 -N9060 X0.0655 Y-1.9961 -N9065 X0.0641 Y-1.9972 -N9070 X0.0546 Y-2.0039 -N9075 X0.052 Y-2.0056 -N9080 X0.0451 Y-2.0099 -N9085 X0.0365 Y-2.0151 -N9090 X0.0356 Y-2.0156 -N9095 X0.0261 Y-2.0208 -N9100 X0.0181 Y-2.0246 -N9105 X0.0166 Y-2.0252 -N9110 X0.0071 Y-2.0295 -N9115 X-0.0024 Y-2.0334 -N9120 X-0.0041 Y-2.0341 -N9125 X-0.0119 Y-2.0367 -N9130 X-0.0213 Y-2.0397 -N9135 X-0.0308 Y-2.0424 -N9140 X-0.0353 Y-2.0436 -N9145 X-0.0403 Y-2.0447 -N9150 X-0.0498 Y-2.0465 -N9155 X-0.0593 Y-2.0482 -N9160 X-0.0688 Y-2.0495 -N9165 X-0.0783 Y-2.0503 -N9170 X-0.0878 Y-2.0508 -N9175 X-0.0973 Y-2.0512 -N9180 X-0.1068 -N9185 X-0.9518 -N9190 X-0.9613 -N9195 X-0.9708 Y-2.051 -N9200 X-0.9898 Y-2.0506 -N9205 X-0.9993 Y-2.0503 -N9210 X-1.0088 Y-2.0496 -N9215 X-1.0278 Y-2.0482 -N9220 X-1.0373 Y-2.0475 -N9225 X-1.0468 Y-2.0465 -N9230 X-1.0752 Y-2.043 -N9235 X-1.0847 Y-2.0416 -N9240 X-1.1132 Y-2.0367 -N9245 X-1.1227 Y-2.0349 -N9250 X-1.1265 Y-2.0341 -N9255 X-1.1512 Y-2.0285 -N9260 X-1.1607 Y-2.0263 -N9265 X-1.1671 Y-2.0246 -N9270 X-1.1892 Y-2.0185 -N9275 X-1.1987 Y-2.0158 -N9280 X-1.201 Y-2.0151 -N9285 X-1.2082 Y-2.0127 -N9290 X-1.2298 Y-2.0056 -N9295 X-1.2366 Y-2.0033 -N9300 X-1.2461 Y-1.9997 -N9305 X-1.2651 Y-1.9924 -N9310 X-1.2746 Y-1.9887 -N9315 X-1.2796 Y-1.9866 -N9320 X-1.3031 Y-1.9762 -N9325 X-1.3126 Y-1.9719 -N9330 X-1.3212 Y-1.9676 -N9335 X-1.3411 Y-1.9576 -N9340 X-1.3506 Y-1.9527 -N9345 X-1.3578 Y-1.9486 -N9350 X-1.3791 Y-1.9366 -N9355 X-1.3886 Y-1.9309 -N9360 X-1.4075 Y-1.9189 -N9365 X-1.417 Y-1.9128 -N9370 X-1.4203 Y-1.9106 -N9375 X-1.4265 Y-1.9063 -N9380 X-1.4473 Y-1.8917 -N9385 X-1.455 Y-1.886 -N9390 X-1.474 Y-1.8711 -N9395 X-1.4835 Y-1.8637 -N9400 X-1.4841 Y-1.8632 -N9405 X-1.493 Y-1.8555 -N9410 X-1.5061 Y-1.8442 -N9415 X-1.512 Y-1.8391 -N9420 X-1.5169 Y-1.8347 -N9425 X-1.5215 Y-1.8303 -N9430 X-1.5405 Y-1.8122 -N9435 X-1.5465 Y-1.8062 -N9440 X-1.5646 Y-1.7872 -N9445 X-1.569 Y-1.7826 -N9450 X-1.5734 Y-1.7777 -N9455 X-1.5785 Y-1.7719 -N9460 X-1.5898 Y-1.7587 -N9465 X-1.5974 Y-1.7498 -N9470 X-1.5979 Y-1.7492 -N9475 X-1.6054 Y-1.7398 -N9480 X-1.6202 Y-1.7208 -N9485 X-1.6259 Y-1.713 -N9490 X-1.6405 Y-1.6923 -N9495 X-1.6449 Y-1.6861 -N9500 X-1.6471 Y-1.6828 -N9505 X-1.6532 Y-1.6733 -N9510 X-1.6652 Y-1.6543 -N9515 X-1.6709 Y-1.6448 -N9520 X-1.6829 Y-1.6236 -N9525 X-1.687 Y-1.6163 -N9530 X-1.6919 Y-1.6068 -N9535 X-1.7019 Y-1.587 -N9540 X-1.7062 Y-1.5784 -N9545 X-1.7104 Y-1.5689 -N9550 X-1.7209 Y-1.5453 -N9555 X-1.723 Y-1.5404 -N9560 X-1.7267 Y-1.5309 -N9565 X-1.734 Y-1.5119 -N9570 X-1.7376 Y-1.5024 -N9575 X-1.7399 Y-1.4956 -N9580 X-1.747 Y-1.4739 -N9585 X-1.7494 Y-1.4668 -N9590 X-1.7501 Y-1.4644 -N9595 X-1.7528 Y-1.4549 -N9600 X-1.7588 Y-1.4329 -N9605 X-1.7606 Y-1.4264 -N9610 X-1.7628 Y-1.417 -N9615 X-1.7683 Y-1.3923 -N9620 X-1.7692 Y-1.3885 -N9625 X-1.771 Y-1.379 -N9630 X-1.7759 Y-1.3505 -N9635 X-1.7773 Y-1.341 -N9640 X-1.7778 Y-1.3366 -N9645 G3 X-1.8127 Y-1.3094 I-0.031 J-0.0038 -N9650 G1 X-1.8167 Y-1.3099 Z-0.7397 -N9655 X-1.8207 Y-1.3104 Z-0.7389 -N9660 X-1.8245 Y-1.3108 Z-0.7376 -N9665 X-1.8282 Y-1.3113 Z-0.7358 -N9670 X-1.8316 Y-1.3117 Z-0.7335 -N9675 X-1.8346 Y-1.3121 Z-0.7308 -N9680 X-1.8373 Y-1.3124 Z-0.7278 -N9685 X-1.8395 Y-1.3127 Z-0.7244 -N9690 X-1.8413 Y-1.3129 Z-0.7207 -N9695 X-1.8426 Y-1.3131 Z-0.7168 -N9700 X-1.8434 Y-1.3132 Z-0.7128 -N9705 X-1.8437 Z-0.7088 -N9710 Z0.2842 -N9715 X-1.8199 Y-1.1655 -N9720 Z-0.8388 F13.123 -N9725 G18 G2 X-1.7887 Z-0.87 I0.0313 K0. -N9730 G1 X-1.7875 Y-1.1652 F39.37 -N9735 X-1.7864 Y-1.1646 -N9740 X-1.7858 Y-1.1635 -N9745 X-1.7855 Y-1.1623 -N9750 Y-0.7108 -N9755 Z0.2887 -N9760 Y-1.1642 -N9765 Z-1. F13.123 -N9770 Y-0.7108 F39.37 -N9775 Z0.2894 -N9780 X-0.9773 Y-0.681 -N9785 Z0.2867 -N9790 Z-0.1988 F13.123 -N9795 G3 X-1.0085 Z-0.23 I-0.0313 K0. -N9800 G17 G3 X-1.0383 Y-0.7108 I0. J-0.0298 F39.37 -N9805 G1 Y-1.2098 -N9810 X-0.9578 -N9815 Y-0.6652 -N9820 X-1.0383 -N9825 Y-0.7108 -N9830 G3 X-1.0071 Y-0.7421 I0.0313 J0. -N9835 G18 G2 X-0.9758 Z-0.1988 I0. K0.0312 -N9840 G1 Z0.2869 -N9845 X-0.9891 Y-1.0925 -N9850 Z0.2848 -N9855 Z-0.4288 F13.123 -N9860 G19 G2 Y-1.1237 Z-0.46 J-0.0313 K0. -N9865 G17 G3 X-0.9578 Y-1.155 I0.0312 J0. F39.37 -N9870 G1 Y-1.1549 -N9875 Y-0.7201 -N9880 Y-0.72 -N9885 X-1.0383 -N9890 Y-0.7201 -N9895 Y-1.1549 -N9900 Y-1.155 -N9905 X-0.9578 -N9910 Z-0.6 F13.123 -N9915 Y-1.1549 F39.37 -N9920 Y-0.7201 -N9925 Y-0.72 -N9930 X-1.0383 -N9935 Y-0.7201 -N9940 Y-1.1549 -N9945 Y-1.155 -N9950 X-0.9578 -N9955 Z-0.74 F13.123 -N9960 Y-1.1549 F39.37 -N9965 Y-0.7201 -N9970 Y-0.72 -N9975 X-1.0383 -N9980 Y-0.7201 -N9985 Y-1.1549 -N9990 Y-1.155 -N9995 X-0.9578 -N10000 Z-0.87 F13.123 -N10005 Y-1.1549 F39.37 -N10010 Y-0.7201 -N10015 Y-0.72 -N10020 X-1.0383 -N10025 Y-0.7201 -N10030 Y-1.1549 -N10035 Y-1.155 -N10040 X-0.9578 -N10045 Z-1. F13.123 -N10050 Y-1.1549 F39.37 -N10055 Y-0.7201 -N10060 Y-0.72 -N10065 X-1.0383 -N10070 Y-0.7201 -N10075 Y-1.1549 -N10080 Y-1.155 -N10085 X-0.9578 -N10090 Z0.2894 -N10095 X0.0387 Y-0.3474 -N10100 Z0.2887 -N10105 Z-0.87 F13.123 -N10110 X0.0322 Y-0.3536 F39.37 -N10115 X0.0261 Y-0.3598 -N10120 X0.0138 Y-0.3726 -N10125 X0.0071 Y-0.3797 -N10130 X-0.0119 Y-0.4011 -N10135 X-0.0198 Y-0.4106 -N10140 X-0.0308 Y-0.424 -N10145 X-0.0352 Y-0.4296 -N10150 X-0.0498 Y-0.4488 -N10155 X-0.0565 Y-0.458 -N10160 X-0.0698 Y-0.477 -N10165 X-0.076 Y-0.4865 -N10170 X-0.0882 Y-0.5055 -N10175 X-0.0938 Y-0.515 -N10180 X-0.105 Y-0.534 -N10185 X-0.1068 Y-0.5374 -N10190 X-0.1202 Y-0.5625 -N10195 X-0.1249 Y-0.572 -N10200 X-0.1341 Y-0.591 -N10205 X-0.1353 Y-0.5936 -N10210 X-0.1466 Y-0.6194 -N10215 X-0.1505 Y-0.6289 -N10220 X-0.1579 Y-0.6479 -N10225 X-0.1614 Y-0.6574 -N10230 X-0.168 Y-0.6764 -N10235 X-0.1711 Y-0.6859 -N10240 X-0.1769 Y-0.7049 -N10245 X-0.1797 Y-0.7144 -N10250 X-0.1872 Y-0.7429 -N10255 X-0.1894 Y-0.7524 -N10260 X-0.1935 Y-0.7714 -N10265 X-0.1954 Y-0.7808 -N10270 X-0.1988 Y-0.7998 -N10275 X-0.2005 Y-0.8093 -N10280 X-0.2045 Y-0.8378 -N10285 X-0.2055 Y-0.8473 -N10290 X-0.2074 Y-0.8663 -N10295 X-0.2082 Y-0.8758 -N10300 X-0.2099 Y-0.9043 -N10305 X-0.2101 Y-0.9138 -N10310 X-0.2105 Y-0.9328 -N10315 Y-0.9422 -N10320 X-0.2101 Y-0.9612 -N10325 X-0.2099 Y-0.9707 -N10330 X-0.2082 Y-0.9992 -N10335 X-0.2074 Y-1.0087 -N10340 X-0.2055 Y-1.0277 -N10345 X-0.2045 Y-1.0372 -N10350 X-0.2005 Y-1.0657 -N10355 X-0.1988 Y-1.0752 -N10360 X-0.1954 Y-1.0942 -N10365 X-0.1935 Y-1.1036 -N10370 X-0.1894 Y-1.1226 -N10375 X-0.1872 Y-1.1321 -N10380 X-0.1797 Y-1.1606 -N10385 X-0.1769 Y-1.1701 -N10390 X-0.1711 Y-1.1891 -N10395 X-0.168 Y-1.1986 -N10400 X-0.1614 Y-1.2176 -N10405 X-0.1579 Y-1.2271 -N10410 X-0.1505 Y-1.2461 -N10415 X-0.1466 Y-1.2556 -N10420 X-0.1353 Y-1.2814 -N10425 X-0.1341 Y-1.284 -N10430 X-0.1249 Y-1.303 -N10435 X-0.1202 Y-1.3125 -N10440 X-0.1068 Y-1.3376 -N10445 X-0.105 Y-1.341 -N10450 X-0.0938 Y-1.36 -N10455 X-0.0882 Y-1.3695 -N10460 X-0.076 Y-1.3885 -N10465 X-0.0698 Y-1.398 -N10470 X-0.0565 Y-1.417 -N10475 X-0.0498 Y-1.4262 -N10480 X-0.0352 Y-1.4454 -N10485 X-0.0308 Y-1.451 -N10490 X-0.0198 Y-1.4644 -N10495 X-0.0119 Y-1.4739 -N10500 X0.0071 Y-1.4953 -N10505 X0.0138 Y-1.5024 -N10510 X0.0261 Y-1.5152 -N10515 X0.0322 Y-1.5214 -N10520 X0.0387 Y-1.5276 -N10525 Z0.2887 -N10530 Y-0.3474 -N10535 Z-1. F13.123 -N10540 X0.0322 Y-0.3536 F39.37 -N10545 X0.0261 Y-0.3598 -N10550 X0.0138 Y-0.3726 -N10555 X0.0071 Y-0.3797 -N10560 X-0.0119 Y-0.4011 -N10565 X-0.0198 Y-0.4106 -N10570 X-0.0308 Y-0.424 -N10575 X-0.0352 Y-0.4296 -N10580 X-0.0498 Y-0.4488 -N10585 X-0.0565 Y-0.458 -N10590 X-0.0698 Y-0.477 -N10595 X-0.076 Y-0.4865 -N10600 X-0.0882 Y-0.5055 -N10605 X-0.0938 Y-0.515 -N10610 X-0.105 Y-0.534 -N10615 X-0.1068 Y-0.5374 -N10620 X-0.1202 Y-0.5625 -N10625 X-0.1249 Y-0.572 -N10630 X-0.1341 Y-0.591 -N10635 X-0.1353 Y-0.5936 -N10640 X-0.1466 Y-0.6194 -N10645 X-0.1505 Y-0.6289 -N10650 X-0.1579 Y-0.6479 -N10655 X-0.1614 Y-0.6574 -N10660 X-0.168 Y-0.6764 -N10665 X-0.1711 Y-0.6859 -N10670 X-0.1769 Y-0.7049 -N10675 X-0.1797 Y-0.7144 -N10680 X-0.1872 Y-0.7429 -N10685 X-0.1894 Y-0.7524 -N10690 X-0.1935 Y-0.7714 -N10695 X-0.1954 Y-0.7808 -N10700 X-0.1988 Y-0.7998 -N10705 X-0.2005 Y-0.8093 -N10710 X-0.2045 Y-0.8378 -N10715 X-0.2055 Y-0.8473 -N10720 X-0.2074 Y-0.8663 -N10725 X-0.2082 Y-0.8758 -N10730 X-0.2099 Y-0.9043 -N10735 X-0.2101 Y-0.9138 -N10740 X-0.2105 Y-0.9328 -N10745 Y-0.9422 -N10750 X-0.2101 Y-0.9612 -N10755 X-0.2099 Y-0.9707 -N10760 X-0.2082 Y-0.9992 -N10765 X-0.2074 Y-1.0087 -N10770 X-0.2055 Y-1.0277 -N10775 X-0.2045 Y-1.0372 -N10780 X-0.2005 Y-1.0657 -N10785 X-0.1988 Y-1.0752 -N10790 X-0.1954 Y-1.0942 -N10795 X-0.1935 Y-1.1036 -N10800 X-0.1894 Y-1.1226 -N10805 X-0.1872 Y-1.1321 -N10810 X-0.1797 Y-1.1606 -N10815 X-0.1769 Y-1.1701 -N10820 X-0.1711 Y-1.1891 -N10825 X-0.168 Y-1.1986 -N10830 X-0.1614 Y-1.2176 -N10835 X-0.1579 Y-1.2271 -N10840 X-0.1505 Y-1.2461 -N10845 X-0.1466 Y-1.2556 -N10850 X-0.1353 Y-1.2814 -N10855 X-0.1341 Y-1.284 -N10860 X-0.1249 Y-1.303 -N10865 X-0.1202 Y-1.3125 -N10870 X-0.1068 Y-1.3376 -N10875 X-0.105 Y-1.341 -N10880 X-0.0938 Y-1.36 -N10885 X-0.0882 Y-1.3695 -N10890 X-0.076 Y-1.3885 -N10895 X-0.0698 Y-1.398 -N10900 X-0.0565 Y-1.417 -N10905 X-0.0498 Y-1.4262 -N10910 X-0.0352 Y-1.4454 -N10915 X-0.0308 Y-1.451 -N10920 X-0.0198 Y-1.4644 -N10925 X-0.0119 Y-1.4739 -N10930 X0.0071 Y-1.4953 -N10935 X0.0138 Y-1.5024 -N10940 X0.0261 Y-1.5152 -N10945 X0.0322 Y-1.5214 -N10950 X0.0387 Y-1.5276 -N10955 Z0.6 -(WHEN USING FUSION FOR PERSONAL USE, THE FEEDRATE OF RAPID) -(MOVES IS REDUCED TO MATCH THE FEEDRATE OF CUTTING MOVES,) -(WHICH CAN INCREASE MACHINING TIME. UNRESTRICTED RAPID MOVES) -(ARE AVAILABLE WITH A FUSION SUBSCRIPTION.) -(CONTOUR4 3) -N10960 G0 X-1.2598 Y-1.973 -N10965 G1 Z0.6 F39.37 -N10970 Z0.2694 -N10975 Z-0.23 F13.123 -N10980 X-1.2649 Y-1.9711 F39.37 -N10985 X-1.2705 Y-1.9688 -N10990 X-1.2738 Y-1.9673 -N10995 X-1.3006 Y-1.9554 -N11000 X-1.3096 Y-1.9511 -N11005 X-1.3277 Y-1.942 -N11010 X-1.3364 Y-1.9376 -N11015 X-1.3447 Y-1.933 -N11020 X-1.3632 Y-1.9226 -N11025 X-1.3721 Y-1.9175 -N11030 X-1.376 Y-1.9152 -N11035 X-1.381 Y-1.912 -N11040 X-1.4042 Y-1.8973 -N11045 X-1.4079 Y-1.8949 -N11050 X-1.4168 Y-1.8887 -N11055 X-1.4347 Y-1.8761 -N11060 X-1.4423 Y-1.8705 -N11065 X-1.4436 Y-1.8695 -N11070 X-1.4651 Y-1.8527 -N11075 X-1.4704 Y-1.8485 -N11080 X-1.476 Y-1.8438 -N11085 X-1.4972 Y-1.8255 -N11090 X-1.5062 Y-1.8173 -N11095 X-1.5252 Y-1.7991 -N11100 X-1.533 Y-1.7914 -N11105 X-1.5511 Y-1.7723 -N11110 X-1.5594 Y-1.7634 -N11115 X-1.5776 Y-1.7422 -N11120 X-1.5824 Y-1.7366 -N11125 X-1.5866 Y-1.7313 -N11130 X-1.6045 Y-1.7084 -N11135 X-1.61 Y-1.7009 -N11140 X-1.6226 Y-1.683 -N11145 X-1.6289 Y-1.6741 -N11150 X-1.6313 Y-1.6705 -N11155 X-1.6346 Y-1.6652 -N11160 X-1.6459 Y-1.6473 -N11165 X-1.6491 Y-1.6422 -N11170 X-1.6515 Y-1.6384 -N11175 X-1.6566 Y-1.6295 -N11180 X-1.667 Y-1.611 -N11185 X-1.6716 Y-1.6027 -N11190 X-1.6761 Y-1.5938 -N11195 X-1.6851 Y-1.5759 -N11200 X-1.6894 Y-1.567 -N11205 X-1.6934 Y-1.558 -N11210 X-1.7028 Y-1.5368 -N11215 X-1.7051 Y-1.5313 -N11220 X-1.7085 Y-1.5223 -N11225 X-1.7154 Y-1.5045 -N11230 X-1.7188 Y-1.4955 -N11235 X-1.7206 Y-1.49 -N11240 X-1.7296 Y-1.463 -N11245 X-1.7306 Y-1.4598 -N11250 X-1.7331 Y-1.4509 -N11255 X-1.7385 Y-1.4314 -N11260 X-1.7405 Y-1.4241 -N11265 X-1.7427 Y-1.4152 -N11270 X-1.7487 Y-1.3884 -N11275 X-1.7506 Y-1.3795 -N11280 X-1.7521 Y-1.3705 -N11285 X-1.7552 Y-1.3527 -N11290 X-1.7564 Y-1.346 -N11295 X-1.7567 Y-1.3438 -N11300 X-1.7579 Y-1.3348 -N11305 X-1.7612 Y-1.308 -N11310 X-1.7621 Y-1.2991 -N11315 X-1.764 Y-1.2723 -N11320 X-1.7646 Y-1.2634 -N11325 X-1.7649 Y-1.2545 -N11330 X-1.7653 Y-1.2358 -N11335 X-1.7655 Y-1.2277 -N11340 Y-1.2188 -N11345 Y-0.6562 -N11350 Y-0.6473 -N11355 X-1.7653 Y-0.6392 -N11360 X-1.7649 Y-0.6205 -N11365 X-1.7646 Y-0.6116 -N11370 X-1.764 Y-0.6027 -N11375 X-1.7621 Y-0.5759 -N11380 X-1.7612 Y-0.567 -N11385 X-1.7579 Y-0.5402 -N11390 X-1.7567 Y-0.5312 -N11395 X-1.7564 Y-0.529 -N11400 X-1.7552 Y-0.5223 -N11405 X-1.7521 Y-0.5045 -N11410 X-1.7506 Y-0.4955 -N11415 X-1.7487 Y-0.4866 -N11420 X-1.7427 Y-0.4598 -N11425 X-1.7405 Y-0.4509 -N11430 X-1.7381 Y-0.442 -N11435 X-1.7331 Y-0.4241 -N11440 X-1.7306 Y-0.4152 -N11445 X-1.7296 Y-0.412 -N11450 X-1.7206 Y-0.385 -N11455 X-1.7188 Y-0.3795 -N11460 X-1.7154 Y-0.3705 -N11465 X-1.7085 Y-0.3527 -N11470 X-1.7051 Y-0.3437 -N11475 X-1.7028 Y-0.3382 -N11480 X-1.6934 Y-0.317 -N11485 X-1.6894 Y-0.308 -N11490 X-1.6851 Y-0.2991 -N11495 X-1.676 Y-0.281 -N11500 X-1.6716 Y-0.2723 -N11505 X-1.667 Y-0.264 -N11510 X-1.6566 Y-0.2455 -N11515 X-1.6515 Y-0.2366 -N11520 X-1.6491 Y-0.2328 -N11525 X-1.6459 Y-0.2277 -N11530 X-1.6346 Y-0.2098 -N11535 X-1.6313 Y-0.2045 -N11540 X-1.6289 Y-0.2009 -N11545 X-1.6226 Y-0.192 -N11550 X-1.61 Y-0.1741 -N11555 X-1.6045 Y-0.1666 -N11560 X-1.5866 Y-0.1437 -N11565 X-1.5824 Y-0.1384 -N11570 X-1.5776 Y-0.1328 -N11575 X-1.5594 Y-0.1116 -N11580 X-1.5511 Y-0.1027 -N11585 X-1.533 Y-0.0836 -N11590 X-1.5252 Y-0.0759 -N11595 X-1.5062 Y-0.0577 -N11600 X-1.4972 Y-0.0495 -N11605 X-1.476 Y-0.0312 -N11610 X-1.4704 Y-0.0265 -N11615 X-1.4651 Y-0.0223 -N11620 X-1.4436 Y-0.0055 -N11625 X-1.4423 Y-0.0045 -N11630 X-1.4347 Y0.0011 -N11635 X-1.4168 Y0.0137 -N11640 X-1.4079 Y0.0199 -N11645 X-1.4042 Y0.0223 -N11650 X-1.381 Y0.037 -N11655 X-1.376 Y0.0402 -N11660 X-1.3721 Y0.0425 -N11665 X-1.3632 Y0.0476 -N11670 X-1.3447 Y0.058 -N11675 X-1.3364 Y0.0626 -N11680 X-1.3274 Y0.0671 -N11685 X-1.3096 Y0.0761 -N11690 X-1.3006 Y0.0804 -N11695 X-1.2738 Y0.0923 -N11700 X-1.2705 Y0.0938 -N11705 X-1.2649 Y0.0961 -N11710 X-1.2598 Y0.098 -N11715 Z0.2694 -N11720 X-0.8495 Y0.1563 -N11725 Z-0.23 F13.123 -N11730 X-0.1031 F39.37 -N11735 X-0.0942 Y0.1561 -N11740 X-0.0853 Y0.1556 -N11745 X-0.0763 Y0.1551 -N11750 X-0.0674 Y0.1542 -N11755 X-0.0585 Y0.1527 -N11760 X-0.0495 Y0.1511 -N11765 X-0.0406 Y0.1493 -N11770 X-0.0331 Y0.1473 -N11775 X-0.0316 Y0.1469 -N11780 X-0.0227 Y0.1441 -N11785 X-0.0138 Y0.1413 -N11790 X-0.0061 Y0.1384 -N11795 X-0.0048 Y0.1379 -N11800 X0.0041 Y0.134 -N11805 X0.013 Y0.1299 -N11810 X0.0139 Y0.1295 -N11815 X0.022 Y0.1253 -N11820 X0.0302 Y0.1205 -N11825 X0.0309 Y0.1201 -N11830 X0.0398 Y0.1146 -N11835 X0.0445 Y0.1116 -N11840 X0.0488 Y0.1086 -N11845 X0.0565 Y0.1027 -N11850 X0.0577 Y0.1017 -N11855 X0.0667 Y0.0946 -N11860 X0.0677 Y0.0938 -N11865 X0.0756 Y0.0866 -N11870 X0.0774 Y0.0848 -N11875 X0.0845 Y0.0776 -N11880 X0.0862 Y0.0759 -N11885 X0.0935 Y0.068 -N11890 X0.0944 Y0.067 -N11895 X0.1015 Y0.058 -N11900 X0.1024 Y0.0568 -N11905 X0.1083 Y0.0491 -N11910 X0.1113 Y0.0449 -N11915 X0.1145 Y0.0402 -N11920 X0.1199 Y0.0313 -N11925 X0.1203 Y0.0306 -N11930 X0.1251 Y0.0223 -N11935 X0.1292 Y0.0145 -N11940 X0.1298 Y0.0134 -N11945 X0.1338 Y0.0045 -N11950 X0.1377 Y-0.0045 -N11955 X0.1382 Y-0.0055 -N11960 X0.1412 Y-0.0134 -N11965 X0.144 Y-0.0223 -N11970 X0.1467 Y-0.0312 -N11975 X0.1471 Y-0.0325 -N11980 X0.1492 Y-0.0402 -N11985 X0.1511 Y-0.0491 -N11990 X0.1526 Y-0.058 -N11995 X0.1541 Y-0.067 -N12000 X0.1551 Y-0.0759 -N12005 X0.1556 Y-0.0848 -N12010 X0.1561 Y-0.0937 -N12015 X0.1562 Y-0.1027 -N12020 X0.156 Y-0.1095 -N12025 X0.1559 Y-0.1116 -N12030 X0.1552 Y-0.1205 -N12035 X0.1545 Y-0.1295 -N12040 X0.1533 Y-0.1384 -N12045 X0.1517 Y-0.1473 -N12050 X0.1499 Y-0.1562 -N12055 X0.1478 Y-0.1652 -N12060 X0.1471 Y-0.1679 -N12065 X0.1452 Y-0.1741 -N12070 X0.1423 Y-0.183 -N12075 X0.1392 Y-0.192 -N12080 X0.1382 Y-0.1946 -N12085 X0.1355 Y-0.2009 -N12090 X0.1313 Y-0.2098 -N12095 X0.1292 Y-0.2143 -N12100 X0.127 Y-0.2187 -N12105 X0.1221 Y-0.2277 -N12110 X0.1203 Y-0.2307 -N12115 X0.1166 Y-0.2366 -N12120 X0.1113 Y-0.2448 -N12125 X0.1109 Y-0.2455 -N12130 X0.1044 Y-0.2545 -N12135 X0.1024 Y-0.257 -N12140 X0.0972 Y-0.2634 -N12145 X0.0935 Y-0.2679 -N12150 X0.0897 Y-0.2723 -N12155 X0.0845 Y-0.2777 -N12160 X0.0809 Y-0.2812 -N12165 X0.0756 Y-0.2864 -N12170 X0.0716 Y-0.2902 -N12175 X0.0667 Y-0.2947 -N12180 X0.0415 Y-0.317 -N12185 X0.0398 Y-0.3185 -N12190 X0.022 Y-0.3357 -N12195 X0.0138 Y-0.3437 -N12200 X-0.0048 Y-0.3631 -N12205 X-0.0115 Y-0.3705 -N12210 X-0.0274 Y-0.3884 -N12215 X-0.0316 Y-0.3935 -N12220 X-0.0421 Y-0.4062 -N12225 X-0.0494 Y-0.4152 -N12230 X-0.0674 Y-0.4389 -N12235 X-0.0697 Y-0.442 -N12240 X-0.0853 Y-0.4643 -N12245 X-0.0883 Y-0.4687 -N12250 X-0.1055 Y-0.4955 -N12255 X-0.1108 Y-0.5045 -N12260 X-0.1213 Y-0.5223 -N12265 X-0.1262 Y-0.5312 -N12270 X-0.1357 Y-0.5491 -N12275 X-0.1389 Y-0.5551 -N12280 X-0.149 Y-0.5759 -N12285 X-0.1533 Y-0.5848 -N12290 X-0.1657 Y-0.6131 -N12295 X-0.1686 Y-0.6205 -N12300 X-0.1756 Y-0.6384 -N12305 X-0.179 Y-0.6473 -N12310 X-0.1883 Y-0.6741 -N12315 X-0.1912 Y-0.683 -N12320 X-0.1966 Y-0.7009 -N12325 X-0.1992 Y-0.7098 -N12330 X-0.2062 Y-0.7366 -N12335 X-0.2083 Y-0.7455 -N12340 X-0.2142 Y-0.7723 -N12345 X-0.2158 Y-0.7812 -N12350 X-0.2193 Y-0.8006 -N12355 X-0.2205 Y-0.808 -N12360 X-0.2242 Y-0.8348 -N12365 X-0.2252 Y-0.8437 -N12370 X-0.2279 Y-0.8705 -N12375 X-0.2282 Y-0.8761 -N12380 X-0.2295 Y-0.8973 -N12385 X-0.2299 Y-0.9062 -N12390 X-0.2305 Y-0.933 -N12395 Y-0.942 -N12400 X-0.2299 Y-0.9688 -N12405 X-0.2295 Y-0.9777 -N12410 X-0.2282 Y-0.9989 -N12415 X-0.2279 Y-1.0045 -N12420 X-0.2252 Y-1.0313 -N12425 X-0.2242 Y-1.0402 -N12430 X-0.2205 Y-1.067 -N12435 X-0.2193 Y-1.0744 -N12440 X-0.2158 Y-1.0938 -N12445 X-0.2142 Y-1.1027 -N12450 X-0.2083 Y-1.1295 -N12455 X-0.2062 Y-1.1384 -N12460 X-0.1992 Y-1.1652 -N12465 X-0.1966 Y-1.1741 -N12470 X-0.1912 Y-1.192 -N12475 X-0.1883 Y-1.2009 -N12480 X-0.179 Y-1.2277 -N12485 X-0.1756 Y-1.2366 -N12490 X-0.1686 Y-1.2545 -N12495 X-0.1657 Y-1.2619 -N12500 X-0.1533 Y-1.2902 -N12505 X-0.149 Y-1.2991 -N12510 X-0.1389 Y-1.3199 -N12515 X-0.1357 Y-1.3259 -N12520 X-0.1262 Y-1.3438 -N12525 X-0.1213 Y-1.3527 -N12530 X-0.1108 Y-1.3705 -N12535 X-0.1055 Y-1.3795 -N12540 X-0.0883 Y-1.4063 -N12545 X-0.0853 Y-1.4107 -N12550 X-0.0697 Y-1.433 -N12555 X-0.0674 Y-1.4361 -N12560 X-0.0494 Y-1.4598 -N12565 X-0.0421 Y-1.4688 -N12570 X-0.0316 Y-1.4815 -N12575 X-0.0274 Y-1.4866 -N12580 X-0.0115 Y-1.5045 -N12585 X-0.0048 Y-1.5119 -N12590 X0.0138 Y-1.5313 -N12595 X0.022 Y-1.5393 -N12600 X0.0398 Y-1.5565 -N12605 X0.0415 Y-1.558 -N12610 X0.0667 Y-1.5803 -N12615 X0.0716 Y-1.5848 -N12620 X0.0756 Y-1.5886 -N12625 X0.0809 Y-1.5938 -N12630 X0.0845 Y-1.5973 -N12635 X0.0897 Y-1.6027 -N12640 X0.0935 Y-1.6071 -N12645 X0.0972 Y-1.6116 -N12650 X0.1024 Y-1.618 -N12655 X0.1044 Y-1.6205 -N12660 X0.1109 Y-1.6295 -N12665 X0.1113 Y-1.6302 -N12670 X0.1166 Y-1.6384 -N12675 X0.1203 Y-1.6443 -N12680 X0.1221 Y-1.6473 -N12685 X0.127 Y-1.6563 -N12690 X0.1292 Y-1.6607 -N12695 X0.1313 Y-1.6652 -N12700 X0.1355 Y-1.6741 -N12705 X0.1382 Y-1.6804 -N12710 X0.1392 Y-1.683 -N12715 X0.1423 Y-1.692 -N12720 X0.1452 Y-1.7009 -N12725 X0.1471 Y-1.7071 -N12730 X0.1478 Y-1.7098 -N12735 X0.1499 Y-1.7188 -N12740 X0.1517 Y-1.7277 -N12745 X0.1533 Y-1.7366 -N12750 X0.1545 Y-1.7455 -N12755 X0.1552 Y-1.7545 -N12760 X0.1559 Y-1.7634 -N12765 X0.156 Y-1.7655 -N12770 X0.1562 Y-1.7723 -N12775 X0.1561 Y-1.7813 -N12780 X0.1556 Y-1.7902 -N12785 X0.1551 Y-1.7991 -N12790 X0.1541 Y-1.808 -N12795 X0.1526 Y-1.817 -N12800 X0.1511 Y-1.8259 -N12805 X0.1492 Y-1.8348 -N12810 X0.1471 Y-1.8425 -N12815 X0.1467 Y-1.8438 -N12820 X0.144 Y-1.8527 -N12825 X0.1412 Y-1.8616 -N12830 X0.1382 Y-1.8695 -N12835 X0.1377 Y-1.8705 -N12840 X0.1338 Y-1.8795 -N12845 X0.1298 Y-1.8884 -N12850 X0.1292 Y-1.8895 -N12855 X0.1251 Y-1.8973 -N12860 X0.1203 Y-1.9056 -N12865 X0.1199 Y-1.9063 -N12870 X0.1145 Y-1.9152 -N12875 X0.1113 Y-1.9199 -N12880 X0.1083 Y-1.9241 -N12885 X0.1024 Y-1.9318 -N12890 X0.1015 Y-1.933 -N12895 X0.0944 Y-1.942 -N12900 X0.0935 Y-1.943 -N12905 X0.0862 Y-1.9509 -N12910 X0.0845 Y-1.9526 -N12915 X0.0774 Y-1.9598 -N12920 X0.0756 Y-1.9616 -N12925 X0.0677 Y-1.9688 -N12930 X0.0667 Y-1.9696 -N12935 X0.0577 Y-1.9767 -N12940 X0.0565 Y-1.9777 -N12945 X0.0488 Y-1.9836 -N12950 X0.0445 Y-1.9866 -N12955 X0.0398 Y-1.9896 -N12960 X0.0309 Y-1.9951 -N12965 X0.0302 Y-1.9955 -N12970 X0.022 Y-2.0003 -N12975 X0.0139 Y-2.0045 -N12980 X0.013 Y-2.0049 -N12985 X0.0041 Y-2.009 -N12990 X-0.0048 Y-2.0129 -N12995 X-0.0061 Y-2.0134 -N13000 X-0.0138 Y-2.0163 -N13005 X-0.0227 Y-2.0191 -N13010 X-0.0316 Y-2.0219 -N13015 X-0.0331 Y-2.0223 -N13020 X-0.0406 Y-2.0243 -N13025 X-0.0495 Y-2.0261 -N13030 X-0.0585 Y-2.0277 -N13035 X-0.0674 Y-2.0292 -N13040 X-0.0763 Y-2.0301 -N13045 X-0.0853 Y-2.0306 -N13050 X-0.0942 Y-2.0311 -N13055 X-0.1031 Y-2.0313 -N13060 X-0.8495 -N13065 Z0.2694 -N13070 X-1.2598 Y-1.973 -N13075 Z-0.46 F13.123 -N13080 X-1.2649 Y-1.9711 F39.37 -N13085 X-1.2705 Y-1.9688 -N13090 X-1.2738 Y-1.9673 -N13095 X-1.3006 Y-1.9554 -N13100 X-1.3096 Y-1.9511 -N13105 X-1.3277 Y-1.942 -N13110 X-1.3364 Y-1.9376 -N13115 X-1.3447 Y-1.933 -N13120 X-1.3632 Y-1.9226 -N13125 X-1.3721 Y-1.9175 -N13130 X-1.376 Y-1.9152 -N13135 X-1.381 Y-1.912 -N13140 X-1.4042 Y-1.8973 -N13145 X-1.4079 Y-1.8949 -N13150 X-1.4168 Y-1.8887 -N13155 X-1.4347 Y-1.8761 -N13160 X-1.4423 Y-1.8705 -N13165 X-1.4436 Y-1.8695 -N13170 X-1.4651 Y-1.8527 -N13175 X-1.4704 Y-1.8485 -N13180 X-1.476 Y-1.8438 -N13185 X-1.4972 Y-1.8255 -N13190 X-1.5062 Y-1.8173 -N13195 X-1.5252 Y-1.7991 -N13200 X-1.533 Y-1.7914 -N13205 X-1.5511 Y-1.7723 -N13210 X-1.5594 Y-1.7634 -N13215 X-1.5776 Y-1.7422 -N13220 X-1.5824 Y-1.7366 -N13225 X-1.5866 Y-1.7313 -N13230 X-1.6045 Y-1.7084 -N13235 X-1.61 Y-1.7009 -N13240 X-1.6226 Y-1.683 -N13245 X-1.6289 Y-1.6741 -N13250 X-1.6313 Y-1.6705 -N13255 X-1.6346 Y-1.6652 -N13260 X-1.6459 Y-1.6473 -N13265 X-1.6491 Y-1.6422 -N13270 X-1.6515 Y-1.6384 -N13275 X-1.6566 Y-1.6295 -N13280 X-1.667 Y-1.611 -N13285 X-1.6716 Y-1.6027 -N13290 X-1.6761 Y-1.5938 -N13295 X-1.6851 Y-1.5759 -N13300 X-1.6894 Y-1.567 -N13305 X-1.6934 Y-1.558 -N13310 X-1.7028 Y-1.5368 -N13315 X-1.7051 Y-1.5313 -N13320 X-1.7085 Y-1.5223 -N13325 X-1.7154 Y-1.5045 -N13330 X-1.7188 Y-1.4955 -N13335 X-1.7206 Y-1.49 -N13340 X-1.7296 Y-1.463 -N13345 X-1.7306 Y-1.4598 -N13350 X-1.7331 Y-1.4509 -N13355 X-1.7385 Y-1.4314 -N13360 X-1.7405 Y-1.4241 -N13365 X-1.7427 Y-1.4152 -N13370 X-1.7487 Y-1.3884 -N13375 X-1.7506 Y-1.3795 -N13380 X-1.7521 Y-1.3705 -N13385 X-1.7552 Y-1.3527 -N13390 X-1.7564 Y-1.346 -N13395 X-1.7567 Y-1.3438 -N13400 X-1.7579 Y-1.3348 -N13405 X-1.7612 Y-1.308 -N13410 X-1.7621 Y-1.2991 -N13415 X-1.764 Y-1.2723 -N13420 X-1.7646 Y-1.2634 -N13425 X-1.7649 Y-1.2545 -N13430 X-1.7653 Y-1.2358 -N13435 X-1.7655 Y-1.2277 -N13440 Y-1.2188 -N13445 Y-0.6562 -N13450 Y-0.6473 -N13455 X-1.7653 Y-0.6392 -N13460 X-1.7649 Y-0.6205 -N13465 X-1.7646 Y-0.6116 -N13470 X-1.764 Y-0.6027 -N13475 X-1.7621 Y-0.5759 -N13480 X-1.7612 Y-0.567 -N13485 X-1.7579 Y-0.5402 -N13490 X-1.7567 Y-0.5312 -N13495 X-1.7564 Y-0.529 -N13500 X-1.7552 Y-0.5223 -N13505 X-1.7521 Y-0.5045 -N13510 X-1.7506 Y-0.4955 -N13515 X-1.7487 Y-0.4866 -N13520 X-1.7427 Y-0.4598 -N13525 X-1.7405 Y-0.4509 -N13530 X-1.7381 Y-0.442 -N13535 X-1.7331 Y-0.4241 -N13540 X-1.7306 Y-0.4152 -N13545 X-1.7296 Y-0.412 -N13550 X-1.7206 Y-0.385 -N13555 X-1.7188 Y-0.3795 -N13560 X-1.7154 Y-0.3705 -N13565 X-1.7085 Y-0.3527 -N13570 X-1.7051 Y-0.3437 -N13575 X-1.7028 Y-0.3382 -N13580 X-1.6934 Y-0.317 -N13585 X-1.6894 Y-0.308 -N13590 X-1.6851 Y-0.2991 -N13595 X-1.676 Y-0.281 -N13600 X-1.6716 Y-0.2723 -N13605 X-1.667 Y-0.264 -N13610 X-1.6566 Y-0.2455 -N13615 X-1.6515 Y-0.2366 -N13620 X-1.6491 Y-0.2328 -N13625 X-1.6459 Y-0.2277 -N13630 X-1.6346 Y-0.2098 -N13635 X-1.6313 Y-0.2045 -N13640 X-1.6289 Y-0.2009 -N13645 X-1.6226 Y-0.192 -N13650 X-1.61 Y-0.1741 -N13655 X-1.6045 Y-0.1666 -N13660 X-1.5866 Y-0.1437 -N13665 X-1.5824 Y-0.1384 -N13670 X-1.5776 Y-0.1328 -N13675 X-1.5594 Y-0.1116 -N13680 X-1.5511 Y-0.1027 -N13685 X-1.533 Y-0.0836 -N13690 X-1.5252 Y-0.0759 -N13695 X-1.5062 Y-0.0577 -N13700 X-1.4972 Y-0.0495 -N13705 X-1.476 Y-0.0312 -N13710 X-1.4704 Y-0.0265 -N13715 X-1.4651 Y-0.0223 -N13720 X-1.4436 Y-0.0055 -N13725 X-1.4423 Y-0.0045 -N13730 X-1.4347 Y0.0011 -N13735 X-1.4168 Y0.0137 -N13740 X-1.4079 Y0.0199 -N13745 X-1.4042 Y0.0223 -N13750 X-1.381 Y0.037 -N13755 X-1.376 Y0.0402 -N13760 X-1.3721 Y0.0425 -N13765 X-1.3632 Y0.0476 -N13770 X-1.3447 Y0.058 -N13775 X-1.3364 Y0.0626 -N13780 X-1.3274 Y0.0671 -N13785 X-1.3096 Y0.0761 -N13790 X-1.3006 Y0.0804 -N13795 X-1.2738 Y0.0923 -N13800 X-1.2705 Y0.0938 -N13805 X-1.2649 Y0.0961 -N13810 X-1.2598 Y0.098 -N13815 Z0.2694 -N13820 X-0.8495 Y0.1563 -N13825 Z-0.46 F13.123 -N13830 X-0.1031 F39.37 -N13835 X-0.0942 Y0.1561 -N13840 X-0.0853 Y0.1556 -N13845 X-0.0763 Y0.1551 -N13850 X-0.0674 Y0.1542 -N13855 X-0.0585 Y0.1527 -N13860 X-0.0495 Y0.1511 -N13865 X-0.0406 Y0.1493 -N13870 X-0.0331 Y0.1473 -N13875 X-0.0316 Y0.1469 -N13880 X-0.0227 Y0.1441 -N13885 X-0.0138 Y0.1413 -N13890 X-0.0061 Y0.1384 -N13895 X-0.0048 Y0.1379 -N13900 X0.0041 Y0.134 -N13905 X0.013 Y0.1299 -N13910 X0.0139 Y0.1295 -N13915 X0.022 Y0.1253 -N13920 X0.0302 Y0.1205 -N13925 X0.0309 Y0.1201 -N13930 X0.0398 Y0.1146 -N13935 X0.0445 Y0.1116 -N13940 X0.0488 Y0.1086 -N13945 X0.0565 Y0.1027 -N13950 X0.0577 Y0.1017 -N13955 X0.0667 Y0.0946 -N13960 X0.0677 Y0.0938 -N13965 X0.0756 Y0.0866 -N13970 X0.0774 Y0.0848 -N13975 X0.0845 Y0.0776 -N13980 X0.0862 Y0.0759 -N13985 X0.0935 Y0.068 -N13990 X0.0944 Y0.067 -N13995 X0.1015 Y0.058 -N14000 X0.1024 Y0.0568 -N14005 X0.1083 Y0.0491 -N14010 X0.1113 Y0.0449 -N14015 X0.1145 Y0.0402 -N14020 X0.1199 Y0.0313 -N14025 X0.1203 Y0.0306 -N14030 X0.1251 Y0.0223 -N14035 X0.1292 Y0.0145 -N14040 X0.1298 Y0.0134 -N14045 X0.1338 Y0.0045 -N14050 X0.1377 Y-0.0045 -N14055 X0.1382 Y-0.0055 -N14060 X0.1412 Y-0.0134 -N14065 X0.144 Y-0.0223 -N14070 X0.1467 Y-0.0312 -N14075 X0.1471 Y-0.0325 -N14080 X0.1492 Y-0.0402 -N14085 X0.1511 Y-0.0491 -N14090 X0.1526 Y-0.058 -N14095 X0.1541 Y-0.067 -N14100 X0.1551 Y-0.0759 -N14105 X0.1556 Y-0.0848 -N14110 X0.1561 Y-0.0937 -N14115 X0.1562 Y-0.1027 -N14120 X0.156 Y-0.1095 -N14125 X0.1559 Y-0.1116 -N14130 X0.1552 Y-0.1205 -N14135 X0.1545 Y-0.1295 -N14140 X0.1533 Y-0.1384 -N14145 X0.1517 Y-0.1473 -N14150 X0.1499 Y-0.1562 -N14155 X0.1478 Y-0.1652 -N14160 X0.1471 Y-0.1679 -N14165 X0.1452 Y-0.1741 -N14170 X0.1423 Y-0.183 -N14175 X0.1392 Y-0.192 -N14180 X0.1382 Y-0.1946 -N14185 X0.1355 Y-0.2009 -N14190 X0.1313 Y-0.2098 -N14195 X0.1292 Y-0.2143 -N14200 X0.127 Y-0.2187 -N14205 X0.1221 Y-0.2277 -N14210 X0.1203 Y-0.2307 -N14215 X0.1166 Y-0.2366 -N14220 X0.1113 Y-0.2448 -N14225 X0.1109 Y-0.2455 -N14230 X0.1044 Y-0.2545 -N14235 X0.1024 Y-0.257 -N14240 X0.0972 Y-0.2634 -N14245 X0.0935 Y-0.2679 -N14250 X0.0897 Y-0.2723 -N14255 X0.0845 Y-0.2777 -N14260 X0.0809 Y-0.2812 -N14265 X0.0756 Y-0.2864 -N14270 X0.0716 Y-0.2902 -N14275 X0.0667 Y-0.2947 -N14280 X0.0415 Y-0.317 -N14285 X0.0398 Y-0.3185 -N14290 X0.022 Y-0.3357 -N14295 X0.0138 Y-0.3437 -N14300 X-0.0048 Y-0.3631 -N14305 X-0.0115 Y-0.3705 -N14310 X-0.0274 Y-0.3884 -N14315 X-0.0316 Y-0.3935 -N14320 X-0.0421 Y-0.4062 -N14325 X-0.0494 Y-0.4152 -N14330 X-0.0674 Y-0.4389 -N14335 X-0.0697 Y-0.442 -N14340 X-0.0853 Y-0.4643 -N14345 X-0.0883 Y-0.4687 -N14350 X-0.1055 Y-0.4955 -N14355 X-0.1108 Y-0.5045 -N14360 X-0.1213 Y-0.5223 -N14365 X-0.1262 Y-0.5312 -N14370 X-0.1357 Y-0.5491 -N14375 X-0.1389 Y-0.5551 -N14380 X-0.149 Y-0.5759 -N14385 X-0.1533 Y-0.5848 -N14390 X-0.1657 Y-0.6131 -N14395 X-0.1686 Y-0.6205 -N14400 X-0.1756 Y-0.6384 -N14405 X-0.179 Y-0.6473 -N14410 X-0.1883 Y-0.6741 -N14415 X-0.1912 Y-0.683 -N14420 X-0.1966 Y-0.7009 -N14425 X-0.1992 Y-0.7098 -N14430 X-0.2062 Y-0.7366 -N14435 X-0.2083 Y-0.7455 -N14440 X-0.2142 Y-0.7723 -N14445 X-0.2158 Y-0.7812 -N14450 X-0.2193 Y-0.8006 -N14455 X-0.2205 Y-0.808 -N14460 X-0.2242 Y-0.8348 -N14465 X-0.2252 Y-0.8437 -N14470 X-0.2279 Y-0.8705 -N14475 X-0.2282 Y-0.8761 -N14480 X-0.2295 Y-0.8973 -N14485 X-0.2299 Y-0.9062 -N14490 X-0.2305 Y-0.933 -N14495 Y-0.942 -N14500 X-0.2299 Y-0.9688 -N14505 X-0.2295 Y-0.9777 -N14510 X-0.2282 Y-0.9989 -N14515 X-0.2279 Y-1.0045 -N14520 X-0.2252 Y-1.0313 -N14525 X-0.2242 Y-1.0402 -N14530 X-0.2205 Y-1.067 -N14535 X-0.2193 Y-1.0744 -N14540 X-0.2158 Y-1.0938 -N14545 X-0.2142 Y-1.1027 -N14550 X-0.2083 Y-1.1295 -N14555 X-0.2062 Y-1.1384 -N14560 X-0.1992 Y-1.1652 -N14565 X-0.1966 Y-1.1741 -N14570 X-0.1912 Y-1.192 -N14575 X-0.1883 Y-1.2009 -N14580 X-0.179 Y-1.2277 -N14585 X-0.1756 Y-1.2366 -N14590 X-0.1686 Y-1.2545 -N14595 X-0.1657 Y-1.2619 -N14600 X-0.1533 Y-1.2902 -N14605 X-0.149 Y-1.2991 -N14610 X-0.1389 Y-1.3199 -N14615 X-0.1357 Y-1.3259 -N14620 X-0.1262 Y-1.3438 -N14625 X-0.1213 Y-1.3527 -N14630 X-0.1108 Y-1.3705 -N14635 X-0.1055 Y-1.3795 -N14640 X-0.0883 Y-1.4063 -N14645 X-0.0853 Y-1.4107 -N14650 X-0.0697 Y-1.433 -N14655 X-0.0674 Y-1.4361 -N14660 X-0.0494 Y-1.4598 -N14665 X-0.0421 Y-1.4688 -N14670 X-0.0316 Y-1.4815 -N14675 X-0.0274 Y-1.4866 -N14680 X-0.0115 Y-1.5045 -N14685 X-0.0048 Y-1.5119 -N14690 X0.0138 Y-1.5313 -N14695 X0.022 Y-1.5393 -N14700 X0.0398 Y-1.5565 -N14705 X0.0415 Y-1.558 -N14710 X0.0667 Y-1.5803 -N14715 X0.0716 Y-1.5848 -N14720 X0.0756 Y-1.5886 -N14725 X0.0809 Y-1.5938 -N14730 X0.0845 Y-1.5973 -N14735 X0.0897 Y-1.6027 -N14740 X0.0935 Y-1.6071 -N14745 X0.0972 Y-1.6116 -N14750 X0.1024 Y-1.618 -N14755 X0.1044 Y-1.6205 -N14760 X0.1109 Y-1.6295 -N14765 X0.1113 Y-1.6302 -N14770 X0.1166 Y-1.6384 -N14775 X0.1203 Y-1.6443 -N14780 X0.1221 Y-1.6473 -N14785 X0.127 Y-1.6563 -N14790 X0.1292 Y-1.6607 -N14795 X0.1313 Y-1.6652 -N14800 X0.1355 Y-1.6741 -N14805 X0.1382 Y-1.6804 -N14810 X0.1392 Y-1.683 -N14815 X0.1423 Y-1.692 -N14820 X0.1452 Y-1.7009 -N14825 X0.1471 Y-1.7071 -N14830 X0.1478 Y-1.7098 -N14835 X0.1499 Y-1.7188 -N14840 X0.1517 Y-1.7277 -N14845 X0.1533 Y-1.7366 -N14850 X0.1545 Y-1.7455 -N14855 X0.1552 Y-1.7545 -N14860 X0.1559 Y-1.7634 -N14865 X0.156 Y-1.7655 -N14870 X0.1562 Y-1.7723 -N14875 X0.1561 Y-1.7813 -N14880 X0.1556 Y-1.7902 -N14885 X0.1551 Y-1.7991 -N14890 X0.1541 Y-1.808 -N14895 X0.1526 Y-1.817 -N14900 X0.1511 Y-1.8259 -N14905 X0.1492 Y-1.8348 -N14910 X0.1471 Y-1.8425 -N14915 X0.1467 Y-1.8438 -N14920 X0.144 Y-1.8527 -N14925 X0.1412 Y-1.8616 -N14930 X0.1382 Y-1.8695 -N14935 X0.1377 Y-1.8705 -N14940 X0.1338 Y-1.8795 -N14945 X0.1298 Y-1.8884 -N14950 X0.1292 Y-1.8895 -N14955 X0.1251 Y-1.8973 -N14960 X0.1203 Y-1.9056 -N14965 X0.1199 Y-1.9063 -N14970 X0.1145 Y-1.9152 -N14975 X0.1113 Y-1.9199 -N14980 X0.1083 Y-1.9241 -N14985 X0.1024 Y-1.9318 -N14990 X0.1015 Y-1.933 -N14995 X0.0944 Y-1.942 -N15000 X0.0935 Y-1.943 -N15005 X0.0862 Y-1.9509 -N15010 X0.0845 Y-1.9526 -N15015 X0.0774 Y-1.9598 -N15020 X0.0756 Y-1.9616 -N15025 X0.0677 Y-1.9688 -N15030 X0.0667 Y-1.9696 -N15035 X0.0577 Y-1.9767 -N15040 X0.0565 Y-1.9777 -N15045 X0.0488 Y-1.9836 -N15050 X0.0445 Y-1.9866 -N15055 X0.0398 Y-1.9896 -N15060 X0.0309 Y-1.9951 -N15065 X0.0302 Y-1.9955 -N15070 X0.022 Y-2.0003 -N15075 X0.0139 Y-2.0045 -N15080 X0.013 Y-2.0049 -N15085 X0.0041 Y-2.009 -N15090 X-0.0048 Y-2.0129 -N15095 X-0.0061 Y-2.0134 -N15100 X-0.0138 Y-2.0163 -N15105 X-0.0227 Y-2.0191 -N15110 X-0.0316 Y-2.0219 -N15115 X-0.0331 Y-2.0223 -N15120 X-0.0406 Y-2.0243 -N15125 X-0.0495 Y-2.0261 -N15130 X-0.0585 Y-2.0277 -N15135 X-0.0674 Y-2.0292 -N15140 X-0.0763 Y-2.0301 -N15145 X-0.0853 Y-2.0306 -N15150 X-0.0942 Y-2.0311 -N15155 X-0.1031 Y-2.0313 -N15160 X-0.8495 -N15165 Z0.2694 -N15170 X-1.2598 Y-1.973 -N15175 Z-0.69 F13.123 -N15180 X-1.2649 Y-1.9711 F39.37 -N15185 X-1.2705 Y-1.9688 -N15190 X-1.2738 Y-1.9673 -N15195 X-1.3006 Y-1.9554 -N15200 X-1.3096 Y-1.9511 -N15205 X-1.3277 Y-1.942 -N15210 X-1.3364 Y-1.9376 -N15215 X-1.3447 Y-1.933 -N15220 X-1.3632 Y-1.9226 -N15225 X-1.3721 Y-1.9175 -N15230 X-1.376 Y-1.9152 -N15235 X-1.381 Y-1.912 -N15240 X-1.4042 Y-1.8973 -N15245 X-1.4079 Y-1.8949 -N15250 X-1.4168 Y-1.8887 -N15255 X-1.4347 Y-1.8761 -N15260 X-1.4423 Y-1.8705 -N15265 X-1.4436 Y-1.8695 -N15270 X-1.4651 Y-1.8527 -N15275 X-1.4704 Y-1.8485 -N15280 X-1.476 Y-1.8438 -N15285 X-1.4972 Y-1.8255 -N15290 X-1.5062 Y-1.8173 -N15295 X-1.5252 Y-1.7991 -N15300 X-1.533 Y-1.7914 -N15305 X-1.5511 Y-1.7723 -N15310 X-1.5594 Y-1.7634 -N15315 X-1.5776 Y-1.7422 -N15320 X-1.5824 Y-1.7366 -N15325 X-1.5866 Y-1.7313 -N15330 X-1.6045 Y-1.7084 -N15335 X-1.61 Y-1.7009 -N15340 X-1.6226 Y-1.683 -N15345 X-1.6289 Y-1.6741 -N15350 X-1.6313 Y-1.6705 -N15355 X-1.6346 Y-1.6652 -N15360 X-1.6459 Y-1.6473 -N15365 X-1.6491 Y-1.6422 -N15370 X-1.6515 Y-1.6384 -N15375 X-1.6566 Y-1.6295 -N15380 X-1.667 Y-1.611 -N15385 X-1.6716 Y-1.6027 -N15390 X-1.6761 Y-1.5938 -N15395 X-1.6851 Y-1.5759 -N15400 X-1.6894 Y-1.567 -N15405 X-1.6934 Y-1.558 -N15410 X-1.7028 Y-1.5368 -N15415 X-1.7051 Y-1.5313 -N15420 X-1.7085 Y-1.5223 -N15425 X-1.7154 Y-1.5045 -N15430 X-1.7188 Y-1.4955 -N15435 X-1.7206 Y-1.49 -N15440 X-1.7296 Y-1.463 -N15445 X-1.7306 Y-1.4598 -N15450 X-1.7331 Y-1.4509 -N15455 X-1.7385 Y-1.4314 -N15460 X-1.7405 Y-1.4241 -N15465 X-1.7427 Y-1.4152 -N15470 X-1.7487 Y-1.3884 -N15475 X-1.7506 Y-1.3795 -N15480 X-1.7521 Y-1.3705 -N15485 X-1.7552 Y-1.3527 -N15490 X-1.7564 Y-1.346 -N15495 X-1.7567 Y-1.3438 -N15500 X-1.7579 Y-1.3348 -N15505 X-1.7612 Y-1.308 -N15510 X-1.7621 Y-1.2991 -N15515 X-1.764 Y-1.2723 -N15520 X-1.7646 Y-1.2634 -N15525 X-1.7649 Y-1.2545 -N15530 X-1.7653 Y-1.2358 -N15535 X-1.7655 Y-1.2277 -N15540 Y-1.2188 -N15545 Y-0.6562 -N15550 Y-0.6473 -N15555 X-1.7653 Y-0.6392 -N15560 X-1.7649 Y-0.6205 -N15565 X-1.7646 Y-0.6116 -N15570 X-1.764 Y-0.6027 -N15575 X-1.7621 Y-0.5759 -N15580 X-1.7612 Y-0.567 -N15585 X-1.7579 Y-0.5402 -N15590 X-1.7567 Y-0.5312 -N15595 X-1.7564 Y-0.529 -N15600 X-1.7552 Y-0.5223 -N15605 X-1.7521 Y-0.5045 -N15610 X-1.7506 Y-0.4955 -N15615 X-1.7487 Y-0.4866 -N15620 X-1.7427 Y-0.4598 -N15625 X-1.7405 Y-0.4509 -N15630 X-1.7381 Y-0.442 -N15635 X-1.7331 Y-0.4241 -N15640 X-1.7306 Y-0.4152 -N15645 X-1.7296 Y-0.412 -N15650 X-1.7206 Y-0.385 -N15655 X-1.7188 Y-0.3795 -N15660 X-1.7154 Y-0.3705 -N15665 X-1.7085 Y-0.3527 -N15670 X-1.7051 Y-0.3437 -N15675 X-1.7028 Y-0.3382 -N15680 X-1.6934 Y-0.317 -N15685 X-1.6894 Y-0.308 -N15690 X-1.6851 Y-0.2991 -N15695 X-1.676 Y-0.281 -N15700 X-1.6716 Y-0.2723 -N15705 X-1.667 Y-0.264 -N15710 X-1.6566 Y-0.2455 -N15715 X-1.6515 Y-0.2366 -N15720 X-1.6491 Y-0.2328 -N15725 X-1.6459 Y-0.2277 -N15730 X-1.6346 Y-0.2098 -N15735 X-1.6313 Y-0.2045 -N15740 X-1.6289 Y-0.2009 -N15745 X-1.6226 Y-0.192 -N15750 X-1.61 Y-0.1741 -N15755 X-1.6045 Y-0.1666 -N15760 X-1.5866 Y-0.1437 -N15765 X-1.5824 Y-0.1384 -N15770 X-1.5776 Y-0.1328 -N15775 X-1.5594 Y-0.1116 -N15780 X-1.5511 Y-0.1027 -N15785 X-1.533 Y-0.0836 -N15790 X-1.5252 Y-0.0759 -N15795 X-1.5062 Y-0.0577 -N15800 X-1.4972 Y-0.0495 -N15805 X-1.476 Y-0.0312 -N15810 X-1.4704 Y-0.0265 -N15815 X-1.4651 Y-0.0223 -N15820 X-1.4436 Y-0.0055 -N15825 X-1.4423 Y-0.0045 -N15830 X-1.4347 Y0.0011 -N15835 X-1.4168 Y0.0137 -N15840 X-1.4079 Y0.0199 -N15845 X-1.4042 Y0.0223 -N15850 X-1.381 Y0.037 -N15855 X-1.376 Y0.0402 -N15860 X-1.3721 Y0.0425 -N15865 X-1.3632 Y0.0476 -N15870 X-1.3447 Y0.058 -N15875 X-1.3364 Y0.0626 -N15880 X-1.3274 Y0.0671 -N15885 X-1.3096 Y0.0761 -N15890 X-1.3006 Y0.0804 -N15895 X-1.2738 Y0.0923 -N15900 X-1.2705 Y0.0938 -N15905 X-1.2649 Y0.0961 -N15910 X-1.2598 Y0.098 -N15915 Z0.2694 -N15920 X-0.8495 Y0.1563 -N15925 Z-0.69 F13.123 -N15930 X-0.1031 F39.37 -N15935 X-0.0942 Y0.1561 -N15940 X-0.0853 Y0.1556 -N15945 X-0.0763 Y0.1551 -N15950 X-0.0674 Y0.1542 -N15955 X-0.0585 Y0.1527 -N15960 X-0.0495 Y0.1511 -N15965 X-0.0406 Y0.1493 -N15970 X-0.0331 Y0.1473 -N15975 X-0.0316 Y0.1469 -N15980 X-0.0227 Y0.1441 -N15985 X-0.0138 Y0.1413 -N15990 X-0.0061 Y0.1384 -N15995 X-0.0048 Y0.1379 -N16000 X0.0041 Y0.134 -N16005 X0.013 Y0.1299 -N16010 X0.0139 Y0.1295 -N16015 X0.022 Y0.1253 -N16020 X0.0302 Y0.1205 -N16025 X0.0309 Y0.1201 -N16030 X0.0398 Y0.1146 -N16035 X0.0445 Y0.1116 -N16040 X0.0488 Y0.1086 -N16045 X0.0565 Y0.1027 -N16050 X0.0577 Y0.1017 -N16055 X0.0667 Y0.0946 -N16060 X0.0677 Y0.0938 -N16065 X0.0756 Y0.0866 -N16070 X0.0774 Y0.0848 -N16075 X0.0845 Y0.0776 -N16080 X0.0862 Y0.0759 -N16085 X0.0935 Y0.068 -N16090 X0.0944 Y0.067 -N16095 X0.1015 Y0.058 -N16100 X0.1024 Y0.0568 -N16105 X0.1083 Y0.0491 -N16110 X0.1113 Y0.0449 -N16115 X0.1145 Y0.0402 -N16120 X0.1199 Y0.0313 -N16125 X0.1203 Y0.0306 -N16130 X0.1251 Y0.0223 -N16135 X0.1292 Y0.0145 -N16140 X0.1298 Y0.0134 -N16145 X0.1338 Y0.0045 -N16150 X0.1377 Y-0.0045 -N16155 X0.1382 Y-0.0055 -N16160 X0.1412 Y-0.0134 -N16165 X0.144 Y-0.0223 -N16170 X0.1467 Y-0.0312 -N16175 X0.1471 Y-0.0325 -N16180 X0.1492 Y-0.0402 -N16185 X0.1511 Y-0.0491 -N16190 X0.1526 Y-0.058 -N16195 X0.1541 Y-0.067 -N16200 X0.1551 Y-0.0759 -N16205 X0.1556 Y-0.0848 -N16210 X0.1561 Y-0.0937 -N16215 X0.1562 Y-0.1027 -N16220 X0.156 Y-0.1095 -N16225 X0.1559 Y-0.1116 -N16230 X0.1552 Y-0.1205 -N16235 X0.1545 Y-0.1295 -N16240 X0.1533 Y-0.1384 -N16245 X0.1517 Y-0.1473 -N16250 X0.1499 Y-0.1562 -N16255 X0.1478 Y-0.1652 -N16260 X0.1471 Y-0.1679 -N16265 X0.1452 Y-0.1741 -N16270 X0.1423 Y-0.183 -N16275 X0.1392 Y-0.192 -N16280 X0.1382 Y-0.1946 -N16285 X0.1355 Y-0.2009 -N16290 X0.1313 Y-0.2098 -N16295 X0.1292 Y-0.2143 -N16300 X0.127 Y-0.2187 -N16305 X0.1221 Y-0.2277 -N16310 X0.1203 Y-0.2307 -N16315 X0.1166 Y-0.2366 -N16320 X0.1113 Y-0.2448 -N16325 X0.1109 Y-0.2455 -N16330 X0.1044 Y-0.2545 -N16335 X0.1024 Y-0.257 -N16340 X0.0972 Y-0.2634 -N16345 X0.0935 Y-0.2679 -N16350 X0.0897 Y-0.2723 -N16355 X0.0845 Y-0.2777 -N16360 X0.0809 Y-0.2812 -N16365 X0.0756 Y-0.2864 -N16370 X0.0716 Y-0.2902 -N16375 X0.0667 Y-0.2947 -N16380 X0.0415 Y-0.317 -N16385 X0.0398 Y-0.3185 -N16390 X0.022 Y-0.3357 -N16395 X0.0138 Y-0.3437 -N16400 X-0.0048 Y-0.3631 -N16405 X-0.0115 Y-0.3705 -N16410 X-0.0274 Y-0.3884 -N16415 X-0.0316 Y-0.3935 -N16420 X-0.0421 Y-0.4062 -N16425 X-0.0494 Y-0.4152 -N16430 X-0.0674 Y-0.4389 -N16435 X-0.0697 Y-0.442 -N16440 X-0.0853 Y-0.4643 -N16445 X-0.0883 Y-0.4687 -N16450 X-0.1055 Y-0.4955 -N16455 X-0.1108 Y-0.5045 -N16460 X-0.1213 Y-0.5223 -N16465 X-0.1262 Y-0.5312 -N16470 X-0.1357 Y-0.5491 -N16475 X-0.1389 Y-0.5551 -N16480 X-0.149 Y-0.5759 -N16485 X-0.1533 Y-0.5848 -N16490 X-0.1657 Y-0.6131 -N16495 X-0.1686 Y-0.6205 -N16500 X-0.1756 Y-0.6384 -N16505 X-0.179 Y-0.6473 -N16510 X-0.1883 Y-0.6741 -N16515 X-0.1912 Y-0.683 -N16520 X-0.1966 Y-0.7009 -N16525 X-0.1992 Y-0.7098 -N16530 X-0.2062 Y-0.7366 -N16535 X-0.2083 Y-0.7455 -N16540 X-0.2142 Y-0.7723 -N16545 X-0.2158 Y-0.7812 -N16550 X-0.2193 Y-0.8006 -N16555 X-0.2205 Y-0.808 -N16560 X-0.2242 Y-0.8348 -N16565 X-0.2252 Y-0.8437 -N16570 X-0.2279 Y-0.8705 -N16575 X-0.2282 Y-0.8761 -N16580 X-0.2295 Y-0.8973 -N16585 X-0.2299 Y-0.9062 -N16590 X-0.2305 Y-0.933 -N16595 Y-0.942 -N16600 X-0.2299 Y-0.9688 -N16605 X-0.2295 Y-0.9777 -N16610 X-0.2282 Y-0.9989 -N16615 X-0.2279 Y-1.0045 -N16620 X-0.2252 Y-1.0313 -N16625 X-0.2242 Y-1.0402 -N16630 X-0.2205 Y-1.067 -N16635 X-0.2193 Y-1.0744 -N16640 X-0.2158 Y-1.0938 -N16645 X-0.2142 Y-1.1027 -N16650 X-0.2083 Y-1.1295 -N16655 X-0.2062 Y-1.1384 -N16660 X-0.1992 Y-1.1652 -N16665 X-0.1966 Y-1.1741 -N16670 X-0.1912 Y-1.192 -N16675 X-0.1883 Y-1.2009 -N16680 X-0.179 Y-1.2277 -N16685 X-0.1756 Y-1.2366 -N16690 X-0.1686 Y-1.2545 -N16695 X-0.1657 Y-1.2619 -N16700 X-0.1533 Y-1.2902 -N16705 X-0.149 Y-1.2991 -N16710 X-0.1389 Y-1.3199 -N16715 X-0.1357 Y-1.3259 -N16720 X-0.1262 Y-1.3438 -N16725 X-0.1213 Y-1.3527 -N16730 X-0.1108 Y-1.3705 -N16735 X-0.1055 Y-1.3795 -N16740 X-0.0883 Y-1.4063 -N16745 X-0.0853 Y-1.4107 -N16750 X-0.0697 Y-1.433 -N16755 X-0.0674 Y-1.4361 -N16760 X-0.0494 Y-1.4598 -N16765 X-0.0421 Y-1.4688 -N16770 X-0.0316 Y-1.4815 -N16775 X-0.0274 Y-1.4866 -N16780 X-0.0115 Y-1.5045 -N16785 X-0.0048 Y-1.5119 -N16790 X0.0138 Y-1.5313 -N16795 X0.022 Y-1.5393 -N16800 X0.0398 Y-1.5565 -N16805 X0.0415 Y-1.558 -N16810 X0.0667 Y-1.5803 -N16815 X0.0716 Y-1.5848 -N16820 X0.0756 Y-1.5886 -N16825 X0.0809 Y-1.5938 -N16830 X0.0845 Y-1.5973 -N16835 X0.0897 Y-1.6027 -N16840 X0.0935 Y-1.6071 -N16845 X0.0972 Y-1.6116 -N16850 X0.1024 Y-1.618 -N16855 X0.1044 Y-1.6205 -N16860 X0.1109 Y-1.6295 -N16865 X0.1113 Y-1.6302 -N16870 X0.1166 Y-1.6384 -N16875 X0.1203 Y-1.6443 -N16880 X0.1221 Y-1.6473 -N16885 X0.127 Y-1.6563 -N16890 X0.1292 Y-1.6607 -N16895 X0.1313 Y-1.6652 -N16900 X0.1355 Y-1.6741 -N16905 X0.1382 Y-1.6804 -N16910 X0.1392 Y-1.683 -N16915 X0.1423 Y-1.692 -N16920 X0.1452 Y-1.7009 -N16925 X0.1471 Y-1.7071 -N16930 X0.1478 Y-1.7098 -N16935 X0.1499 Y-1.7188 -N16940 X0.1517 Y-1.7277 -N16945 X0.1533 Y-1.7366 -N16950 X0.1545 Y-1.7455 -N16955 X0.1552 Y-1.7545 -N16960 X0.1559 Y-1.7634 -N16965 X0.156 Y-1.7655 -N16970 X0.1562 Y-1.7723 -N16975 X0.1561 Y-1.7813 -N16980 X0.1556 Y-1.7902 -N16985 X0.1551 Y-1.7991 -N16990 X0.1541 Y-1.808 -N16995 X0.1526 Y-1.817 -N17000 X0.1511 Y-1.8259 -N17005 X0.1492 Y-1.8348 -N17010 X0.1471 Y-1.8425 -N17015 X0.1467 Y-1.8438 -N17020 X0.144 Y-1.8527 -N17025 X0.1412 Y-1.8616 -N17030 X0.1382 Y-1.8695 -N17035 X0.1377 Y-1.8705 -N17040 X0.1338 Y-1.8795 -N17045 X0.1298 Y-1.8884 -N17050 X0.1292 Y-1.8895 -N17055 X0.1251 Y-1.8973 -N17060 X0.1203 Y-1.9056 -N17065 X0.1199 Y-1.9063 -N17070 X0.1145 Y-1.9152 -N17075 X0.1113 Y-1.9199 -N17080 X0.1083 Y-1.9241 -N17085 X0.1024 Y-1.9318 -N17090 X0.1015 Y-1.933 -N17095 X0.0944 Y-1.942 -N17100 X0.0935 Y-1.943 -N17105 X0.0862 Y-1.9509 -N17110 X0.0845 Y-1.9526 -N17115 X0.0774 Y-1.9598 -N17120 X0.0756 Y-1.9616 -N17125 X0.0677 Y-1.9688 -N17130 X0.0667 Y-1.9696 -N17135 X0.0577 Y-1.9767 -N17140 X0.0565 Y-1.9777 -N17145 X0.0488 Y-1.9836 -N17150 X0.0445 Y-1.9866 -N17155 X0.0398 Y-1.9896 -N17160 X0.0309 Y-1.9951 -N17165 X0.0302 Y-1.9955 -N17170 X0.022 Y-2.0003 -N17175 X0.0139 Y-2.0045 -N17180 X0.013 Y-2.0049 -N17185 X0.0041 Y-2.009 -N17190 X-0.0048 Y-2.0129 -N17195 X-0.0061 Y-2.0134 -N17200 X-0.0138 Y-2.0163 -N17205 X-0.0227 Y-2.0191 -N17210 X-0.0316 Y-2.0219 -N17215 X-0.0331 Y-2.0223 -N17220 X-0.0406 Y-2.0243 -N17225 X-0.0495 Y-2.0261 -N17230 X-0.0585 Y-2.0277 -N17235 X-0.0674 Y-2.0292 -N17240 X-0.0763 Y-2.0301 -N17245 X-0.0853 Y-2.0306 -N17250 X-0.0942 Y-2.0311 -N17255 X-0.1031 Y-2.0313 -N17260 X-0.8495 -N17265 Z0.2694 -N17270 X-1.7655 Y-1.1731 -N17275 Z-0.7532 F13.123 -N17280 Y-1.1729 Z-0.755 -N17285 Y-1.1722 Z-0.7566 -N17290 Y-1.1712 Z-0.758 -N17295 Y-1.1697 Z-0.7591 -N17300 Y-1.1681 Z-0.7598 -N17305 Y-1.1663 Z-0.76 -N17310 Y-0.7129 F39.37 -N17315 G3 X-1.7968 Y-0.6817 I-0.0313 J0. -N17320 G18 G3 X-1.828 Z-0.7288 I0. K0.0312 -N17325 G1 Z0.2694 -N17330 X-1.7655 Y-1.1676 -N17335 Z-0.88 F13.123 -N17340 Y-0.7074 F39.37 -N17345 Z0.2694 -N17350 Y-1.1676 -N17355 Z-1. F13.123 -N17360 Y-0.7074 F39.37 -N17365 Z0.2694 -N17370 X0.0894 Y-0.3576 -N17375 Z0.2621 -N17380 Z-0.7288 F13.123 -N17385 X0.0892 Y-0.3575 Z-0.7328 -N17390 X0.0886 Y-0.3569 Z-0.7368 -N17395 X0.0877 Y-0.3559 Z-0.7407 -N17400 X0.0865 Y-0.3546 Z-0.7444 -N17405 X0.0849 Y-0.353 Z-0.7478 -N17410 X0.083 Y-0.351 Z-0.7508 -N17415 X0.0809 Y-0.3488 Z-0.7535 -N17420 X0.0786 Y-0.3464 Z-0.7558 -N17425 X0.076 Y-0.3437 Z-0.7576 -N17430 X0.0733 Y-0.3409 Z-0.7589 -N17435 X0.0706 Y-0.338 Z-0.7597 -N17440 X0.0677 Y-0.3351 Z-0.76 -N17445 G17 G3 X0.0236 Y-0.3342 I-0.0226 J-0.0216 F39.37 -N17450 G1 X0.022 Y-0.3357 -N17455 X0.0138 Y-0.3437 -N17460 X-0.0048 Y-0.3631 -N17465 X-0.0115 Y-0.3705 -N17470 X-0.0274 Y-0.3884 -N17475 X-0.0316 Y-0.3935 -N17480 X-0.0421 Y-0.4062 -N17485 X-0.0494 Y-0.4152 -N17490 X-0.0674 Y-0.4389 -N17495 X-0.0697 Y-0.442 -N17500 X-0.0853 Y-0.4643 -N17505 X-0.0883 Y-0.4687 -N17510 X-0.1055 Y-0.4955 -N17515 X-0.1108 Y-0.5045 -N17520 X-0.1213 Y-0.5223 -N17525 X-0.1262 Y-0.5312 -N17530 X-0.1357 Y-0.5491 -N17535 X-0.1389 Y-0.5551 -N17540 X-0.149 Y-0.5759 -N17545 X-0.1533 Y-0.5848 -N17550 X-0.1657 Y-0.6131 -N17555 X-0.1686 Y-0.6205 -N17560 X-0.1756 Y-0.6384 -N17565 X-0.179 Y-0.6473 -N17570 X-0.1883 Y-0.6741 -N17575 X-0.1912 Y-0.683 -N17580 X-0.1966 Y-0.7009 -N17585 X-0.1992 Y-0.7098 -N17590 X-0.2062 Y-0.7366 -N17595 X-0.2083 Y-0.7455 -N17600 X-0.2142 Y-0.7723 -N17605 X-0.2158 Y-0.7812 -N17610 X-0.2193 Y-0.8006 -N17615 X-0.2205 Y-0.808 -N17620 X-0.2242 Y-0.8348 -N17625 X-0.2252 Y-0.8437 -N17630 X-0.2279 Y-0.8705 -N17635 X-0.2282 Y-0.8761 -N17640 X-0.2295 Y-0.8973 -N17645 X-0.2299 Y-0.9062 -N17650 X-0.2305 Y-0.933 -N17655 Y-0.942 -N17660 X-0.2299 Y-0.9688 -N17665 X-0.2295 Y-0.9777 -N17670 X-0.2282 Y-0.9989 -N17675 X-0.2279 Y-1.0045 -N17680 X-0.2252 Y-1.0313 -N17685 X-0.2242 Y-1.0402 -N17690 X-0.2205 Y-1.067 -N17695 X-0.2193 Y-1.0744 -N17700 X-0.2158 Y-1.0938 -N17705 X-0.2142 Y-1.1027 -N17710 X-0.2083 Y-1.1295 -N17715 X-0.2062 Y-1.1384 -N17720 X-0.1992 Y-1.1652 -N17725 X-0.1966 Y-1.1741 -N17730 X-0.1912 Y-1.192 -N17735 X-0.1883 Y-1.2009 -N17740 X-0.179 Y-1.2277 -N17745 X-0.1756 Y-1.2366 -N17750 X-0.1686 Y-1.2545 -N17755 X-0.1657 Y-1.2619 -N17760 X-0.1533 Y-1.2902 -N17765 X-0.149 Y-1.2991 -N17770 X-0.1389 Y-1.3199 -N17775 X-0.1357 Y-1.3259 -N17780 X-0.1262 Y-1.3438 -N17785 X-0.1213 Y-1.3527 -N17790 X-0.1108 Y-1.3705 -N17795 X-0.1055 Y-1.3795 -N17800 X-0.0883 Y-1.4063 -N17805 X-0.0853 Y-1.4107 -N17810 X-0.0697 Y-1.433 -N17815 X-0.0674 Y-1.4361 -N17820 X-0.0494 Y-1.4598 -N17825 X-0.0421 Y-1.4688 -N17830 X-0.0316 Y-1.4815 -N17835 X-0.0274 Y-1.4866 -N17840 X-0.0115 Y-1.5045 -N17845 X-0.0048 Y-1.5119 -N17850 X0.0138 Y-1.5313 -N17855 X0.022 Y-1.5393 -N17860 X0.0236 Y-1.5408 -N17865 G3 X0.0677 Y-1.5399 I0.0216 J0.0226 -N17870 G1 X0.0706 Y-1.537 Z-0.7597 -N17875 X0.0733 Y-1.5341 Z-0.7589 -N17880 X0.076 Y-1.5313 Z-0.7576 -N17885 X0.0786 Y-1.5286 Z-0.7558 -N17890 X0.0809 Y-1.5262 Z-0.7535 -N17895 X0.083 Y-1.524 Z-0.7508 -N17900 X0.0849 Y-1.522 Z-0.7478 -N17905 X0.0865 Y-1.5204 Z-0.7444 -N17910 X0.0877 Y-1.5191 Z-0.7407 -N17915 X0.0886 Y-1.5181 Z-0.7368 -N17920 X0.0892 Y-1.5175 Z-0.7328 -N17925 X0.0894 Y-1.5174 Z-0.7288 -N17930 Z0.2694 -N17935 X0.0275 Y-0.3304 -N17940 Z-0.88 F13.123 -N17945 X0.022 Y-0.3357 F39.37 -N17950 X0.0138 Y-0.3437 -N17955 X-0.0048 Y-0.3631 -N17960 X-0.0115 Y-0.3705 -N17965 X-0.0274 Y-0.3884 -N17970 X-0.0316 Y-0.3935 -N17975 X-0.0421 Y-0.4062 -N17980 X-0.0494 Y-0.4152 -N17985 X-0.0674 Y-0.4389 -N17990 X-0.0697 Y-0.442 -N17995 X-0.0853 Y-0.4643 -N18000 X-0.0883 Y-0.4687 -N18005 X-0.1055 Y-0.4955 -N18010 X-0.1108 Y-0.5045 -N18015 X-0.1213 Y-0.5223 -N18020 X-0.1262 Y-0.5312 -N18025 X-0.1357 Y-0.5491 -N18030 X-0.1389 Y-0.5551 -N18035 X-0.149 Y-0.5759 -N18040 X-0.1533 Y-0.5848 -N18045 X-0.1657 Y-0.6131 -N18050 X-0.1686 Y-0.6205 -N18055 X-0.1756 Y-0.6384 -N18060 X-0.179 Y-0.6473 -N18065 X-0.1883 Y-0.6741 -N18070 X-0.1912 Y-0.683 -N18075 X-0.1966 Y-0.7009 -N18080 X-0.1992 Y-0.7098 -N18085 X-0.2062 Y-0.7366 -N18090 X-0.2083 Y-0.7455 -N18095 X-0.2142 Y-0.7723 -N18100 X-0.2158 Y-0.7812 -N18105 X-0.2193 Y-0.8006 -N18110 X-0.2205 Y-0.808 -N18115 X-0.2242 Y-0.8348 -N18120 X-0.2252 Y-0.8437 -N18125 X-0.2279 Y-0.8705 -N18130 X-0.2282 Y-0.8761 -N18135 X-0.2295 Y-0.8973 -N18140 X-0.2299 Y-0.9062 -N18145 X-0.2305 Y-0.933 -N18150 Y-0.942 -N18155 X-0.2299 Y-0.9688 -N18160 X-0.2295 Y-0.9777 -N18165 X-0.2282 Y-0.9989 -N18170 X-0.2279 Y-1.0045 -N18175 X-0.2252 Y-1.0313 -N18180 X-0.2242 Y-1.0402 -N18185 X-0.2205 Y-1.067 -N18190 X-0.2193 Y-1.0744 -N18195 X-0.2158 Y-1.0938 -N18200 X-0.2142 Y-1.1027 -N18205 X-0.2083 Y-1.1295 -N18210 X-0.2062 Y-1.1384 -N18215 X-0.1992 Y-1.1652 -N18220 X-0.1966 Y-1.1741 -N18225 X-0.1912 Y-1.192 -N18230 X-0.1883 Y-1.2009 -N18235 X-0.179 Y-1.2277 -N18240 X-0.1756 Y-1.2366 -N18245 X-0.1686 Y-1.2545 -N18250 X-0.1657 Y-1.2619 -N18255 X-0.1533 Y-1.2902 -N18260 X-0.149 Y-1.2991 -N18265 X-0.1389 Y-1.3199 -N18270 X-0.1357 Y-1.3259 -N18275 X-0.1262 Y-1.3438 -N18280 X-0.1213 Y-1.3527 -N18285 X-0.1108 Y-1.3705 -N18290 X-0.1055 Y-1.3795 -N18295 X-0.0883 Y-1.4063 -N18300 X-0.0853 Y-1.4107 -N18305 X-0.0697 Y-1.433 -N18310 X-0.0674 Y-1.4361 -N18315 X-0.0494 Y-1.4598 -N18320 X-0.0421 Y-1.4688 -N18325 X-0.0316 Y-1.4815 -N18330 X-0.0274 Y-1.4866 -N18335 X-0.0115 Y-1.5045 -N18340 X-0.0048 Y-1.5119 -N18345 X0.0138 Y-1.5313 -N18350 X0.022 Y-1.5393 -N18355 X0.0275 Y-1.5446 -N18360 Z0.2694 -N18365 Y-0.3304 -N18370 Z-1. F13.123 -N18375 X0.022 Y-0.3357 F39.37 -N18380 X0.0138 Y-0.3437 -N18385 X-0.0048 Y-0.3631 -N18390 X-0.0115 Y-0.3705 -N18395 X-0.0274 Y-0.3884 -N18400 X-0.0316 Y-0.3935 -N18405 X-0.0421 Y-0.4062 -N18410 X-0.0494 Y-0.4152 -N18415 X-0.0674 Y-0.4389 -N18420 X-0.0697 Y-0.442 -N18425 X-0.0853 Y-0.4643 -N18430 X-0.0883 Y-0.4687 -N18435 X-0.1055 Y-0.4955 -N18440 X-0.1108 Y-0.5045 -N18445 X-0.1213 Y-0.5223 -N18450 X-0.1262 Y-0.5312 -N18455 X-0.1357 Y-0.5491 -N18460 X-0.1389 Y-0.5551 -N18465 X-0.149 Y-0.5759 -N18470 X-0.1533 Y-0.5848 -N18475 X-0.1657 Y-0.6131 -N18480 X-0.1686 Y-0.6205 -N18485 X-0.1756 Y-0.6384 -N18490 X-0.179 Y-0.6473 -N18495 X-0.1883 Y-0.6741 -N18500 X-0.1912 Y-0.683 -N18505 X-0.1966 Y-0.7009 -N18510 X-0.1992 Y-0.7098 -N18515 X-0.2062 Y-0.7366 -N18520 X-0.2083 Y-0.7455 -N18525 X-0.2142 Y-0.7723 -N18530 X-0.2158 Y-0.7812 -N18535 X-0.2193 Y-0.8006 -N18540 X-0.2205 Y-0.808 -N18545 X-0.2242 Y-0.8348 -N18550 X-0.2252 Y-0.8437 -N18555 X-0.2279 Y-0.8705 -N18560 X-0.2282 Y-0.8761 -N18565 X-0.2295 Y-0.8973 -N18570 X-0.2299 Y-0.9062 -N18575 X-0.2305 Y-0.933 -N18580 Y-0.942 -N18585 X-0.2299 Y-0.9688 -N18590 X-0.2295 Y-0.9777 -N18595 X-0.2282 Y-0.9989 -N18600 X-0.2279 Y-1.0045 -N18605 X-0.2252 Y-1.0313 -N18610 X-0.2242 Y-1.0402 -N18615 X-0.2205 Y-1.067 -N18620 X-0.2193 Y-1.0744 -N18625 X-0.2158 Y-1.0938 -N18630 X-0.2142 Y-1.1027 -N18635 X-0.2083 Y-1.1295 -N18640 X-0.2062 Y-1.1384 -N18645 X-0.1992 Y-1.1652 -N18650 X-0.1966 Y-1.1741 -N18655 X-0.1912 Y-1.192 -N18660 X-0.1883 Y-1.2009 -N18665 X-0.179 Y-1.2277 -N18670 X-0.1756 Y-1.2366 -N18675 X-0.1686 Y-1.2545 -N18680 X-0.1657 Y-1.2619 -N18685 X-0.1533 Y-1.2902 -N18690 X-0.149 Y-1.2991 -N18695 X-0.1389 Y-1.3199 -N18700 X-0.1357 Y-1.3259 -N18705 X-0.1262 Y-1.3438 -N18710 X-0.1213 Y-1.3527 -N18715 X-0.1108 Y-1.3705 -N18720 X-0.1055 Y-1.3795 -N18725 X-0.0883 Y-1.4063 -N18730 X-0.0853 Y-1.4107 -N18735 X-0.0697 Y-1.433 -N18740 X-0.0674 Y-1.4361 -N18745 X-0.0494 Y-1.4598 -N18750 X-0.0421 Y-1.4688 -N18755 X-0.0316 Y-1.4815 -N18760 X-0.0274 Y-1.4866 -N18765 X-0.0115 Y-1.5045 -N18770 X-0.0048 Y-1.5119 -N18775 X0.0138 Y-1.5313 -N18780 X0.022 Y-1.5393 -N18785 X0.0275 Y-1.5446 -N18790 Z0.6 -(WHEN USING FUSION FOR PERSONAL USE, THE FEEDRATE OF RAPID) -(MOVES IS REDUCED TO MATCH THE FEEDRATE OF CUTTING MOVES,) -(WHICH CAN INCREASE MACHINING TIME. UNRESTRICTED RAPID MOVES) -(ARE AVAILABLE WITH A FUSION SUBSCRIPTION.) -(PARALLEL1) -N18795 G0 X-0.8817 Y-0.4178 -N18800 G1 Z0.6 F39.37 -N18805 Z0.08 -N18810 Z0.0312 F13.123 -N18815 G19 G2 Y-0.449 Z0. J-0.0312 K0. F39.37 -N18820 G1 Y-1.426 -N18825 Y-1.4283 Z0.0002 -N18830 Y-1.4306 Z0.0007 -N18835 Y-1.4328 Z0.0016 -N18840 Y-1.435 Z0.0025 -N18845 Y-1.4373 Z0.003 -N18850 Y-1.4397 Z0.0032 -N18855 Y-1.5736 -N18860 G17 G2 X-0.9116 I-0.015 J0. -N18865 G1 Y-1.5712 Z0.003 -N18870 Y-1.5689 Z0.0025 -N18875 Y-1.5667 Z0.0016 -N18880 Y-1.5645 Z0.0007 -N18885 Y-1.5622 Z0.0002 -N18890 Y-1.5598 Z0. -N18895 Y-0.3152 -N18900 Y-0.3128 Z0.0002 -N18905 Y-0.3105 Z0.0007 -N18910 Y-0.3083 Z0.0016 -N18915 Y-0.3061 Z0.0025 -N18920 Y-0.3038 Z0.003 -N18925 Y-0.3014 Z0.0032 -N18930 Y-0.2316 -N18935 G3 X-0.9416 I-0.015 J0. -N18940 G1 Y-0.234 Z0.003 -N18945 Y-0.2363 Z0.0025 -N18950 Y-0.2385 Z0.0016 -N18955 Y-0.2407 Z0.0007 -N18960 Y-0.243 Z0.0002 -N18965 Y-0.2454 Z0. -N18970 Y-0.4133 Z-0.0001 -N18975 Y-0.4328 Z-0.0134 -N18980 Y-0.4613 Z-0.0348 -N18985 Y-0.4821 Z-0.052 -N18990 Y-0.5016 Z-0.0699 -N18995 Y-0.5202 Z-0.0886 -N19000 Y-0.5274 Z-0.0959 -N19005 Y-0.5404 Z-0.1063 -N19010 Y-0.5598 Z-0.1236 -N19015 Y-0.5782 Z-0.1422 -N19020 Y-0.5956 Z-0.1619 -N19025 Y-0.6118 Z-0.1824 -N19030 Y-0.6267 Z-0.2038 -N19035 Y-0.6403 Z-0.2261 -N19040 Y-0.6527 Z-0.2492 -N19045 Y-0.6637 Z-0.273 -N19050 Y-0.6733 Z-0.2974 -N19055 Y-0.6815 Z-0.3222 -N19060 Y-0.6882 Z-0.3475 -N19065 Y-0.6933 Z-0.3726 -N19070 Y-0.6971 Z-0.399 -N19075 Y-0.6992 Z-0.4233 -N19080 Y-0.7 Z-0.45 -N19085 Z-1.15 -N19090 X-0.9716 -N19095 Z-0.45 -N19100 Y-0.6993 Z-0.424 -N19105 Y-0.6971 Z-0.3984 -N19110 Y-0.6934 Z-0.373 -N19115 Y-0.6881 Z-0.3471 -N19120 Y-0.6814 Z-0.322 -N19125 Y-0.6733 Z-0.2972 -N19130 Y-0.6638 Z-0.2731 -N19135 Y-0.6528 Z-0.2493 -N19140 Y-0.6404 Z-0.2262 -N19145 Y-0.6267 Z-0.2039 -N19150 Y-0.6119 Z-0.1825 -N19155 Y-0.5956 Z-0.1617 -N19160 Y-0.5783 Z-0.1422 -N19165 Y-0.5599 Z-0.1237 -N19170 Y-0.5404 Z-0.1062 -N19175 Y-0.5198 Z-0.0898 -N19180 Y-0.4986 Z-0.0749 -N19185 Y-0.4763 Z-0.061 -N19190 Y-0.4531 Z-0.0485 -N19195 Y-0.4296 Z-0.0374 -N19200 Y-0.4053 Z-0.0277 -N19205 Y-0.3805 Z-0.0194 -N19210 Y-0.3553 Z-0.0125 -N19215 Y-0.3418 Z-0.0097 -N19220 Y-0.3168 Z-0.0001 -N19225 Y-0.1938 Z0. -N19230 Y-0.1914 Z0.0002 -N19235 Y-0.1891 Z0.0007 -N19240 Y-0.1869 Z0.0016 -N19245 Y-0.1847 Z0.0025 -N19250 Y-0.1824 Z0.003 -N19255 Y-0.1801 Z0.0032 -N19260 Y-0.18 -N19265 G3 X-1.0015 I-0.015 J0. -N19270 G1 Y-0.1824 Z0.003 -N19275 Y-0.1847 Z0.0025 -N19280 Y-0.1869 Z0.0016 -N19285 Y-0.1891 Z0.0007 -N19290 Y-0.1914 Z0.0002 -N19295 Y-0.1938 Z0. -N19300 Y-0.2649 -N19305 Y-0.2674 Z-0.0005 -N19310 Y-0.2781 Z-0.0009 -N19315 Y-0.3033 Z-0.0032 -N19320 Y-0.3294 Z-0.0071 -N19325 Y-0.3552 Z-0.0125 -N19330 Y-0.3803 Z-0.0193 -N19335 Y-0.4052 Z-0.0276 -N19340 Y-0.4295 Z-0.0374 -N19345 Y-0.4533 Z-0.0485 -N19350 Y-0.4762 Z-0.061 -N19355 Y-0.4985 Z-0.0748 -N19360 Y-0.5199 Z-0.0899 -N19365 Y-0.5403 Z-0.1062 -N19370 Y-0.5598 Z-0.1237 -N19375 Y-0.5782 Z-0.1422 -N19380 Y-0.5957 Z-0.1619 -N19385 Y-0.6118 Z-0.1824 -N19390 Y-0.6267 Z-0.2038 -N19395 Y-0.6403 Z-0.2261 -N19400 Y-0.6527 Z-0.2492 -N19405 Y-0.6637 Z-0.273 -N19410 Y-0.6733 Z-0.2974 -N19415 Y-0.6815 Z-0.3223 -N19420 Y-0.6882 Z-0.3475 -N19425 Y-0.6933 Z-0.3726 -N19430 Y-0.6971 Z-0.399 -N19435 Y-0.6992 Z-0.4233 -N19440 Y-0.7 Z-0.45 -N19445 Z-1.15 -N19450 X-1.0315 -N19455 Z-0.45 -N19460 Y-0.6992 Z-0.4233 -N19465 Y-0.6971 Z-0.3991 -N19470 Y-0.6933 Z-0.3727 -N19475 Y-0.6882 Z-0.3475 -N19480 Y-0.6815 Z-0.3223 -N19485 Y-0.6733 Z-0.2974 -N19490 Y-0.6637 Z-0.273 -N19495 Y-0.6527 Z-0.2492 -N19500 Y-0.6403 Z-0.2261 -N19505 Y-0.6267 Z-0.2038 -N19510 Y-0.6118 Z-0.1824 -N19515 Y-0.5957 Z-0.1619 -N19520 Y-0.5782 Z-0.1422 -N19525 Y-0.5598 Z-0.1237 -N19530 Y-0.5403 Z-0.1062 -N19535 Y-0.5199 Z-0.0899 -N19540 Y-0.4985 Z-0.0748 -N19545 Y-0.4762 Z-0.061 -N19550 Y-0.4533 Z-0.0486 -N19555 Y-0.4295 Z-0.0374 -N19560 Y-0.4052 Z-0.0276 -N19565 Y-0.3807 Z-0.0194 -N19570 Y-0.3724 Z-0.0171 -N19575 Y-0.3623 Z-0.0123 -N19580 Y-0.3343 Z-0.0001 -N19585 Y-0.1989 Z0. -N19590 G19 G3 Y-0.1676 Z0.0312 J0. K0.0312 -N19595 G1 Z0.2 -N19600 X-0.9416 Y-1.1437 -N19605 Z0.0799 -N19610 Z-1.1188 F13.123 -N19615 G2 Y-1.175 Z-1.15 J-0.0313 K0. F39.37 -N19620 G1 Z-0.4469 -N19625 Y-1.1758 Z-0.4228 -N19630 Y-1.1782 Z-0.3966 -N19635 Y-1.1821 Z-0.3704 -N19640 Y-1.1874 Z-0.3451 -N19645 Y-1.1943 Z-0.3195 -N19650 Y-1.2026 Z-0.2947 -N19655 Y-1.2124 Z-0.2704 -N19660 Y-1.2234 Z-0.2469 -N19665 Y-1.236 Z-0.2237 -N19670 Y-1.2497 Z-0.2017 -N19675 Y-1.2648 Z-0.1802 -N19680 Y-1.2812 Z-0.1596 -N19685 Y-1.2986 Z-0.1402 -N19690 Y-1.3173 Z-0.1217 -N19695 Y-1.3368 Z-0.1044 -N19700 Y-1.3496 Z-0.094 -N19705 Y-1.361 Z-0.0823 -N19710 Y-1.376 Z-0.0674 -N19715 Y-1.3958 Z-0.0495 -N19720 Y-1.4166 Z-0.0325 -N19725 Y-1.4463 Z-0.0104 -N19730 Y-1.4619 Z0. -N19735 Y-1.6296 -N19740 Y-1.632 Z0.0002 -N19745 Y-1.6343 Z0.0007 -N19750 Y-1.6365 Z0.0016 -N19755 Y-1.6387 Z0.0025 -N19760 Y-1.641 Z0.003 -N19765 Y-1.6434 Z0.0032 -N19770 Y-1.695 -N19775 G17 G2 X-0.9716 I-0.015 J0. -N19780 G1 Y-1.6926 Z0.003 -N19785 Y-1.6903 Z0.0025 -N19790 Y-1.6881 Z0.0016 -N19795 Y-1.6859 Z0.0007 -N19800 Y-1.6836 Z0.0002 -N19805 Y-1.6812 Z0. -N19810 Y-1.5586 -N19815 Y-1.5341 Z-0.0093 -N19820 Y-1.5225 Z-0.0119 -N19825 Y-1.4973 Z-0.0185 -N19830 Y-1.4724 Z-0.0267 -N19835 Y-1.448 Z-0.0363 -N19840 Y-1.4242 Z-0.0473 -N19845 Y-1.4013 Z-0.0596 -N19850 Y-1.3787 Z-0.0734 -N19855 Y-1.3573 Z-0.0883 -N19860 Y-1.3368 Z-0.1044 -N19865 Y-1.3173 Z-0.1217 -N19870 Y-1.2986 Z-0.1402 -N19875 Y-1.2812 Z-0.1596 -N19880 Y-1.2648 Z-0.1802 -N19885 Y-1.2497 Z-0.2017 -N19890 Y-1.236 Z-0.2237 -N19895 Y-1.2234 Z-0.2469 -N19900 Y-1.2124 Z-0.2704 -N19905 Y-1.2026 Z-0.2947 -N19910 Y-1.1943 Z-0.3195 -N19915 Y-1.1874 Z-0.3451 -N19920 Y-1.1821 Z-0.3704 -N19925 Y-1.1782 Z-0.3966 -N19930 Y-1.1758 Z-0.4228 -N19935 Y-1.175 Z-0.4469 -N19940 Z-1.15 -N19945 X-1.0015 -N19950 Z-0.4469 -N19955 Y-1.1758 Z-0.4231 -N19960 Y-1.1781 Z-0.3968 -N19965 Y-1.1821 Z-0.3705 -N19970 Y-1.1875 Z-0.3448 -N19975 Y-1.1943 Z-0.3196 -N19980 Y-1.2026 Z-0.2948 -N19985 Y-1.2124 Z-0.2705 -N19990 Y-1.2234 Z-0.2469 -N19995 Y-1.236 Z-0.2238 -N20000 Y-1.2498 Z-0.2015 -N20005 Y-1.2648 Z-0.1803 -N20010 Y-1.2812 Z-0.1597 -N20015 Y-1.2985 Z-0.1403 -N20020 Y-1.3172 Z-0.1217 -N20025 Y-1.3368 Z-0.1044 -N20030 Y-1.3573 Z-0.0883 -N20035 Y-1.3789 Z-0.0733 -N20040 Y-1.4012 Z-0.0596 -N20045 Y-1.4241 Z-0.0473 -N20050 Y-1.4479 Z-0.0363 -N20055 Y-1.4723 Z-0.0267 -N20060 Y-1.4971 Z-0.0186 -N20065 Y-1.5224 Z-0.0119 -N20070 Y-1.5482 Z-0.0066 -N20075 Y-1.5733 Z-0.003 -N20080 Y-1.599 Z-0.0008 -N20085 Y-1.6087 Z-0.0003 -N20090 Y-1.6101 Z0. -N20095 Y-1.6812 -N20100 Y-1.6836 Z0.0002 -N20105 Y-1.6859 Z0.0007 -N20110 Y-1.6881 Z0.0016 -N20115 Y-1.6903 Z0.0025 -N20120 Y-1.6926 Z0.003 -N20125 Y-1.695 Z0.0032 -N20130 G2 X-1.0315 I-0.015 J0. -N20135 G1 Y-1.6899 -N20140 Y-1.6875 Z0.003 -N20145 Y-1.6852 Z0.0025 -N20150 Y-1.683 Z0.0016 -N20155 Y-1.6808 Z0.0007 -N20160 Y-1.6785 Z0.0002 -N20165 Y-1.6761 Z0. -N20170 Y-1.5412 -N20175 Y-1.5175 Z-0.0102 -N20180 Y-1.5044 Z-0.0164 -N20185 Y-1.4971 Z-0.0186 -N20190 Y-1.4723 Z-0.0267 -N20195 Y-1.4479 Z-0.0363 -N20200 Y-1.4241 Z-0.0473 -N20205 Y-1.4012 Z-0.0596 -N20210 Y-1.3789 Z-0.0733 -N20215 Y-1.3573 Z-0.0883 -N20220 Y-1.3368 Z-0.1044 -N20225 Y-1.3172 Z-0.1217 -N20230 Y-1.2985 Z-0.1403 -N20235 Y-1.2812 Z-0.1597 -N20240 Y-1.2648 Z-0.1803 -N20245 Y-1.2498 Z-0.2015 -N20250 Y-1.236 Z-0.2238 -N20255 Y-1.2234 Z-0.2469 -N20260 Y-1.2124 Z-0.2705 -N20265 Y-1.2026 Z-0.2948 -N20270 Y-1.1943 Z-0.3196 -N20275 Y-1.1875 Z-0.3448 -N20280 Y-1.1821 Z-0.3705 -N20285 Y-1.1781 Z-0.3968 -N20290 Y-1.1758 Z-0.4231 -N20295 Y-1.175 Z-0.4469 -N20300 Z-1.15 -N20305 Z0. -N20310 X-1.0614 Y-1.6147 -N20315 Y-0.2603 -N20320 Y-0.2579 Z0.0002 -N20325 Y-0.2556 Z0.0007 -N20330 Y-0.2534 Z0.0016 -N20335 Y-0.2512 Z0.0025 -N20340 Y-0.2489 Z0.003 -N20345 Y-0.2465 Z0.0032 -N20350 G3 X-1.0914 I-0.015 J0. -N20355 G1 Y-0.3205 -N20360 Y-0.3229 Z0.003 -N20365 Y-0.3252 Z0.0025 -N20370 Y-0.3274 Z0.0016 -N20375 Y-0.3296 Z0.0007 -N20380 Y-0.3319 Z0.0002 -N20385 Y-0.3343 Z0. -N20390 Y-1.5407 -N20395 G19 G2 Y-1.572 Z0.0312 J0. K0.0313 -N20400 G1 Z0.6 -N20405 G17 -N20410 M5 -N20415 M9 -N20420 G53 G0 Z0. -N20425 M30 -% diff --git a/nc_files/slot.ngc b/nc_files/slot.ngc index 3468e71..e513884 100755 --- a/nc_files/slot.ngc +++ b/nc_files/slot.ngc @@ -1,3 +1,6 @@ +; Slot/obround cut - cuts a slot (stadium shape) between two endpoints +; Params: #1=x1, #2=y1, #3=x2, #4=y2, #5=width, #6=ztop, #7=zbot, #8=fincut, #9=mode +; Mode bitmask: bit0=conventional, bit1=bothways, bit2=plunge(vs helix), bit3=outside o sub ; o call [x1][y1] [x2][y2] [width] [ztop][zbot] [fincut] [mode] @@ -24,20 +27,21 @@ o sub # = #5 o1 endif - # = [ATAN[#4-#2]/[#3-#1]] + # = [ATAN[#4-#2]/[#3-#1]] ; slot angle from p1 to p2 G0 Z# G0 X#1 Y#2 G0 Z#6 - G1 Z#7 - G1 X#3 Y#4 + G1 Z#7 ; plunge to cut depth + G1 X#3 Y#4 ; cut centerline of slot - - # = [[#5-#<_td>]/2] + # = [[#5-#<_td>]/2] ; offset from centerline to slot edge (compensated for tool) + + ; Trace obround perimeter: two straights + two semicircles at each end o100 if [#] - o101 if [#8 GT 0] + o101 if [#8 GT 0] ; pre-finish pass offset inward by fincut G1 X[#3 +[SIN[#]*[#-#8]]] Y[#4 -[COS[#]*[#-#8]]] ; point 1 G3 X[#3 -[SIN[#]*[#-#8]]] Y[#4 +[COS[#]*[#-#8]]] I#3 J#4 ; point 2 G1 X[#1 -[SIN[#]*[#-#8]]] Y[#2 +[COS[#]*[#-#8]]] ; point 3 diff --git a/readme.md b/readme.md index 3622009..a8ea0e1 100755 --- a/readme.md +++ b/readme.md @@ -1,28 +1,24 @@ # TODO - -- [x] xyz dual loop pid setup -- [x] enable signals wired -- [x] enable signals programmed -- [x] calibration of xyz -- [x] tighten z bracket -- [x] is there a btter way to do dual PID? -- [x] wire front control panel -- [x] get AXIS how I want it, or some other ui -- [x] handwheel -- [x] cable management - - -- [ ] wire start/stop/estop/speed -- [ ] gcode ftp or something - [ ] understand offsets better - [ ] understand toolchange better - [ ] pendant buttons - [ ] holders for wrenches etc - [ ] permanent good fix for z axis bracket -# CAM +# CAM options? https://www.scorchworks.com/Fengrave/fengrave.html https://www.estlcam.de/ https://www.grzsoftware.com/ + +# CLAUDE todos +1. check out the macros in nc_files + A. Read and understand them + B. Generate a better MACROS.md + C. Comment the code (do not change/fix anything, just add terse comments, especially at the beginning of macros) + D. Search for bugs in the macros and add them to this document +2. document and understand the lagun_gmoccapy config (this is the only active/relevant config) + A. Read and understand it + B. Generate better comments (do not change anything functionally, just add comments) + C. Generate a README.md \ No newline at end of file