FilmStar BASIC is a VBA (Microsoft Visual Basic for Applications)
compatible language implemented in all FilmStar programs.

With the addition of BASIC, FilmStar provides an environment for the rapid and cost-effective development of user-specific solutions. These range from automatic optimization, f-number analysis (as illustrated below), output of curved reflectors, tolerancing, quality control, etc.

An important example of the power of FilmStar BASIC is found in On the Reliability of Inverse Synthesis in Optical Coatings.
If you're ready to advance beyond the limitations of point-and-click thin film software, you'll find there is no substitute for FilmStar.
 


Click for full size image

BASIC IDE (Program Editor)

Click for full size image
F-number Dialog Box

Click for full size image
User Dialog Editor

IDE (Integrated Development Environment)

The screen shot at the left (click to enlarge) shows how the BASIC IDE appears within FilmStar. The IDE holds up to nine windows, making it easy to cut and paste code.

This particular program, fnum32.bas (included with FilmStar DESIGN),  performs cone angle calculations by repeatedly averaging over series of angles. By NOT being 'hard-wired' into FilmStar DESIGN, users can modify the code to account for angular light distribution, etc.

The Enter values dialog was implemented with the visual User Dialog editor. In this editor users click on the desired Windows object (button, label, etc.) and drag it into place. Upon exiting the dialog, the code shown below is automatically pasted into the IDE.

Begin Dialog UserDialog 372, 94, "Enter values"
    Text 27, 23, 73, 13, "&F Number"
    Text 20, 58, 81, 13, "&Resolution"
    TextBox 105, 20, 80, 18, .FnumText
    TextBox 105, 55, 80, 18, .ResText
    OKButton 250, 19, 88, 21
    CancelButton 250, 54, 88, 21
End Dialog

Click for full size image
Automatic Graph Creation

Integration with FilmStar Modules

FilmStar BASIC is integrated with other FilmStar modules: FSPlot Module, Workbook, Report Generator and FilmStar Database. In this simple example, FilmStar BASIC uses the FSPlot Module to display color shifts as a function of incident angle.

Sub Main
    PlotActivate: PlotClear
    For i = 1 To 6
        Angle = 15 * (i - 1)
        PlotLegend(i) = CStr(Angle) & ""
        Calculate: PlotNext
    Next i
End Sub

FilmStar Graph Automation Video


Click for full size image

BASIC Language Help

Click for full size image
FilmStar Extensions Help

On-Line Help

In addition to its well- documented set of language instructions, which will be familiar to anyone who has programmed in some version of BASIC, FilmStar BASIC adds special commands, keywords, and subroutines. These are documented in on-line help as well as in the BASIC object browser.


Click for full size image

Macro of Macros

Click for full size image
Data Entry Dialog

Running BASIC Programs

It is not necessary to run programs from the BASIC IDE. Once a program is developed it can be run as a macro assigned to keys <Shift+F1> to <Shift+F6>. As illustrated here, a Macro of Macros allows far more than the six programs assigned to shortcut keys.

The Optics Quality Control dialog illustrates compelling reasons to understand and implement FilmStar BASIC programs. Complex QC sequences can be reduced to step-by-step procedures, thereby reducing training costs and enabling coating facilities to sincerely comply with ISO-9001 requirements.


Click for full size image
Ocean Optics Server

Click for full size image
Bar-code Reader

Integration with External Programs

FilmStar BASIC lets users add calculation or data acquisition modules. As an example FilmStar includes an ActiveX server for data acquisition from Ocean Optics spectrometers. The server can run in stand-alone mode for testing or automatically from DESIGN and  MEASURE. 

FilmStar BASIC can also communicate with DLLs (dynamic linked libraries) developed in various Windows languages. Excel and other 32-bit Windows applications can utilize FilmStar's ActiveX interface. 

As illustrated by Bar-code Reader, 16-bit software can be integrated with FilmStar via DDE (dynamic data exchange).

Included FilmStar BASIC Programs (partial list)

  • AddNoise.bas...adds noise to calculated spectra. Useful for simulating spectrophotometer output and for testing reverse engineering algorithms
  • Bandwidth.bas...computes center wavelength, bandwidth, etc. for bandpass filters
  • BandwidthPlot.bas...like the above, but automatically plots results
  • Calculate in Excel.bas...demonstrates the use of MS Excel formulas within FilmStar
  • CamsDesign.bas...import designs from obsolete CAMS thin film program
  • CaryWin.bas...import/convert Varian Cary spectral data format to FilmStar format
  • CrystalList.bas...convert design thickness to crystal monitor thickness (adjusted for tooling factors for different chambers)
  • DbEdit.bas...DAO (Data Access Objects) alternative to built-in FilmStar Database for keeping track of designs and spectra
  • Fnum32.bas...effect of incident cone angle on thin film calculations
  • Gaussian.bas...effect of non-ideal monochromatic light source
  • IndexSolve.bas...solve for index of refraction using R,T data at multiple angles and polarizations
  • LayCalc.bas...generates repeated plots where a layer is varied in thickness from a minimum to maximum value
  • Maxtek DCM-220.bas...convert thin film designs to Maxtek DCM-220 Process Info (*.prc) files
  • Review_Word97.bas...automatically generates graphical reports in MS Word
  • Shmdzu.bas...import/convert Shimadzu spectral data format to FilmStar format
  • Zemax.bas...creates/updates coating files for Zemax optical design program

Copyright 2017 FTG Software Associates
Last updated on January 02, 2017