Details of Digital Surfacing Interface

Details of Digital Surfacing Interface

The information in this section is not required in order to run the digital surfacing interfaces, but is provided for those individuals who wish to know more about how the interface works behind the scenes.  For purposes of this discussion, consider a DS calculator set up in C:\DS, with folders as follows:

                C:\DS\LDS – where DS looks for LDS files to process

                C:\DS\LMS – where DS places LMS (result) files for Rx-Universe

                C:\DS\SDF – where DS places the .SDF files used by the generator and polisher

An order is entered into Rx-Universe, using a digital design.  In order to pick the correct SV lens blank to use, Rx-Universe needs to know what base curve to use.  This can be determined either from a chart (as with traditional jobs), or requested from the DS calculator.  In this case, Rx-Universe will request the BC to use from the calculator, as follows:

                Rx-Universe creates a file traynum.LDS (or ordernum.LDS) with the REQ=BRS instruction, in the C:\DS\LDS folder

                The DS calculator picks up the file, and creates a response

Rx-Universe waits until the traynum.BAS/LMS (or ordernum.BAS/LMS) response file appears in the C:\DS\LMS folder, then reads it in to get the optimum, lower and upper limits for the base curve to use.  If the file does not appear with a certain number of seconds (specified on the Digital system variables tab), Rx-Universe times out and cannot select blanks.

Rx-Universe then selects a SV lens with an appropriate base curve (based on the BAS response).

When the job is saved, an entry is created in a file used to queue up jobs to be processed by the Digital Surface Processor. This file (DATA\OMFREEPR.DAT), stores each digital job number as it is entered, and the processor processes the jobs in the sequence they were stored.  When the information on the job is sent TO the digital calculation engine, the entry for the Rx is date and time-stamped.  When a response is received from the digital calculation engine, the results are saved in the order and device files, and the entry removed from the OMFREEPR file.  Thus, the OMFREEPR file should contain only jobs that are currently "in process" between Rx-Universe and the freeform calculation engine.

The Rx-Universe Digital Surface Processor, (DSP) runs in its own session like the Remote Order or Job Track processors.   When the DSP detects an entry in the OMFREEPR file, it creates an ASCII file in VCA format (the LDS file) that it places in the “digital surface TO location” from the corresponding Digital Surface type (C:\DS\LDS in our example).  The DSP monitors the “digital surface from location” of all the Digital Surface type entries; when it detects an entry in one of the “from” locations, Rx-Universe processes the entry received.  Rx-Universe will delete the LMS files once it has been processed.

Note that if a folder named "ARCHIVE" exists under the "out" or "in" folders, the DSP makes a copy of both the LDS and LMS files as they are created or processed.  This is very useful for debugging problems with the interfaces.

The ASCII file that Rx-Universe creates is processed by the Digital Surfacing calculation engine for the digital surface lens type selected.  The calculation engine provides new data regarding the job as well as a file containing the surface cutting information for the generator.  Rx-Universe replaces its job information with the new calculation info received from the Digital Surface Calculation Engine.  The fields that Rx-Universe replaces are associated with the following VCA labels received, BLKD, CRIB, AX, GBASEX, GCROSX, KPRVA, KPRVM, LAPBASX, LAPCRSX, CTHICK, PIND, RNGD,RNGH, THKP, THNP, TIND and FED.  If the Digital Surface Calc Engine sends back info in a different index, then Rx-Universe recalculates the tool curves to 1.530 index.  In most cases, the center thickness sent back by the calculation engine will be different than that calculated by Rx-Universe, so Rx-Universe will recalculate the SET and ACTUAL value for LOH- style blocks.

A calculation engine may calculate a different block size for the job – this also requires recalculating the SET and ACTUAL in order to obtain accurate thickness on the generator.

The differences in the device communications are:

  • for all surface jobs on Digital Surface generators
    • GTHK: send generator thickness with no fining allowance (gen thick = finish thickness) - there is no traditional fining step, the generator thickness should NOT include any fining allowance
    • FINCMP: always set to 0 (since fining is not done on these jobs
  • for digital surface jobs on Digital Surface generators
    • GPRVM: set prism amounts to 0
    • LNAM: send actual value required by the particular device (entry taken from new field in lens style database)
  • for digital surface jobs on surface blockers:
    • AX and GAX:  send 0 for the cyl axis  (because lens is blocked horizontally across reference marks
  • for standard surface jobs on an iFlex polisher:
    • GAX:  send 0 for the cylinder axis for surfacing

Be aware that, in the current implementation of digital surfacing in Rx-Universe, it is still possible to retrieve a digital job on a traditional generator - obviously, since the generator is not capable of cutting the back surface topography, you would not get the expected results.  The lab will need to ensure (procedurally) that digital jobs are directed to digital- capable equipment.


Compensated Rx Values (Near-Vision and Wrap Calculations)

Some digital designs (such as near vision designs and wrap designs) will result in a compensated Rx being ground on the lens.  In these cases, the lab and dispenser will measure different powers and/or prism than what was originally requested, although the effective Rx will be correct once edged into a frame and placed on the patient’s face.

When there is a compensated Rx returned from the digital processor, for whatever reason, Rx-Universe prints the compensated Rx on the work ticket immediately above and below the dispensed Rx, and indicates that it is compensation, for example:
 

This is a near-vision style Rx, where the digital processor has returned the Rx to be measured at the near vision point, along with prism that should be present at that point. Results will be displayed in a similar format when wrap compensation is done on an Rx.

Some digital designs may accept (or require) additional parameters from the LMS – particularly panoramic tilt, pantoscopic tilt, and back vertex distance.   Rx-Universe already allows entry of these parameters for wrap calculations on non-digital designs, so this has been enhanced to allow entry for a particular lens type.  If a particular design should allow entry of these parameters, a flag can be set on that lens style to trigger Rx-Universe to allow entry:

Checking the “Do wrap calcs” box will allow entry of these parameters on the Rx – if specific entries are not made, default values will be used and sent to the digital processor.