Skip to content

Using macro editing modes in OSLO (CCL and SCP)

Question

I am having trouble creating an ABC spline surface in OSLO. Once I indicate that I want to create an ABC spline surface of 30 points, OSLO stops my CCL routine and tells me there is an error because all my ABC x,y, and z data points are still zero. How do I stop the error messages from occurring until all my editing is complete?

Synopsis

Using macro editing modes in OSLO (CCL and SCP)

Symptoms

OSLO has a "short hand" way of altering surface data, this probably is the current approach you are using. You simply specify an item of data to change and OSLO accepts it and then performs some "clean-up" tasks. You are encountering problems because OSLO is performing clean-up tasks before you are finished specifying the complete spline surface.

The "long hand" way of altering surface data is to enter a command based "Lens Editor" mode, make the changes you want to the lens and then exit the lens editor mode. The "clean-up" is delayed until the end of the process(when you exit the command based lens editor mode). In the middle of this process (before the clean-up is implemented), the Surface Data Spreadsheet may not be correct (i.e. pickups and solves are not updated). As a result, it is required that you close the Surface Data Spreadsheet before entering the command based lens editor mode (the command based lens editor mode will not execute if the Surface Data Spreadsheet is open).

Solution

The commands you will need to add if you are programming in CCL are:

len upd;

if (Srfssopen)

{

prefs;

abort("Close surface data spreadsheet before executing this command.");

}

gto 1; // go to surface 1

.... (your lines here using the abcx_l, abcy_l, & abcz_l commands)

end; // exit lens editor

Note that this is all very similar to what you find if you open up a lens prescription file (except that here every line/command needs to end with a semi-colon - this is not the case for lens prescription files. OSLO Lens prescription files are stored in ASCII text format and can be read with any text editor including the OSLO text editor. In a lens prescription file, the file starts with the command "LEN NEW". This is an indication to enter the "lens editing mode". The "NEW" designation means that this is going to be a new lens and all previous information about the lens prescription should be disregarded. Obviously, in the case of just needing to modify a few lens parameters, you want to use the "LEN UPD" command. At the end of the lens file (and in the above example), the "END" command is used to exit the lens editor mode.

Note that there are different versions of the ABC commands for when you are using commands inside vs. outside the lens editor mode. The arguments required for the commands actually change depending on what mode you are in. For example, since you are already describing what surface you are working on in the above CCL example, it doesn't make sense that the individual ABC commands require you to enter a surface number. In fact, if you add a surface number when one is not required, OSLO will become confused if it is used. To see how this is shown in the command definitions in the OSLO on-line help, search the OSLO on-line help for:

ABC*

This searches for all words that begin with "ABC", and will list the ABC command itself at the top of the list. You will see that there are three versions of the ABC command listed: ABC, ABC_C, and ABC_L.  

  • The ABC command is to be used to edit the surface data spreadsheet outside of a macro editing mode
  • The ABC_C command is to be used within the multi-configuration editing mode. The "_C" is not actually typed when used, it is just listed this way to identify that it is different command when used in the multi-configuration editor mode.
  • The ABC_L command is to be used within the lens editing mode, and the surface argument is not to be used. Once again, the "_L" is not actually typed when used, it is just listed this way to identify that it is different command when used in the lens editor mode.

NOTE: There are several different command based editor modes:

LEN, CFG, VAR, RST, MUL, SD, & OPE

We are working to better describe these editor modes in the OSLO documentation.