Click or drag to resize

3.1 Overview

API components

The RAYGUIDE software development kit (SDK) consists of the following components:

The libraries allow to interact with RAYLASE SP-ICE-3 cards, laser devices and scan heads of different manufacturers. It is possible to implement laser processing software, write plug-ins for RAYGUIDE and to embed RAYGUIDE or parts of it into own applications.

Since the API consists of managed DLLs this can be done with any .NET language. The API and RAYGUIDE are written in C#, all samples are written in C# as well.

NuGet packages

The NuGet packages can be sorted into the following groups:

  • RAYLASE packages.

    • RAYLASE.Marker: This is the main package containing the API's basic functionality. It must be included in every application or plug-in developed with the API.

    • RAYLASE.Shared: Some shared components like converters or color schemes which are used not only by RAYGUIDE but other RAYLASE applications as well.

    • RAYLASE.Marker.GUI.Wrapper: Needed if RAYGUIDE or parts of it is integrated in own applications.

    • RAYLASE.Marker.OptionalPlugins: Contains all plug-ins which can be selected during the installation (e. g. the Solar wafer or the SP-ICE-3 log importer plug-in) with the exception of the Remote interface plug-in.

    • RAYLASE.Marker.CustomUiPlugins: Contains currently only the Remote interface plug-in.

    • RAYLASE.SPICE3.ClientLib: The SP-ICE-3 API; only needed if you want to control the SP-ICE-3 card directly (rather than using RAYGUIDE for doing this).

    • RAYLASE.Marker.CamerasPlugins: Contains the camera plug-ins for JAI and Teledyne DALSA cameras and a camera emulator for testing purposes.

    • RAYLASE.ThirdParty.Camera: Contains the APIs for JAI and Teledyne DALSA cameras. Packed by RAYLASE into a NuGet package because it is not available from the original manufacturers.

    • RAYLASE.Marker.ClickAndTeachPlugin: Contains the CLICK & TEACH plug-in; a RAYGUIDE extension to show on-axis camera images in the workspace.

  • Third party packages (Packed by RAYLASE into a NuGet package if not available from the original manufacturer).

    • CAD.NET: A library for reading and writing different CAD file formats like DXF, PLT, STL and more.

    • FastWpfGrid: As the name says a replacement for the slow original WPF grid.

    • Gardasoft: The API for Gardasoft illumination controllers.

    • gong-wpf-dragdrop-telerik: A framework for drag'n'drop functionality in WPF applications.

    • TECIT.TBarCode: A library for creation of different bar and matrix codes like EAN, DataMatrix or QRCode.

    • Wibu.CodeMeter.WibuCmNET: A library for managing licensing.

    • Several Telerik packages: A set of packages with many reusable user interface controls.

Obsolete API components

Currently and for compatibility reasons with older RAYGUIDE versions we deliver the DLLs (already contained in the NuGet packages) additionally in separate folders. This will not be the case in the future; we recommend using the NuGet packages instead, which is much more comfortable. These folders contain the following:

  • Core library files:

    • Some managed DLLs building the main chunk of our API ("RAYLAYSE.*.dll").

    • Some managed third party DLLs providing service functions, e. g. the GlmSharp library for handling vectors and matrices.

    • Some native third party DLLs providing service functions, e. g. the TEC-IT Barcode library.

    All these DLLs are located in folder C:\Program Files\RAYLASE\RAYGUIDE\SDK\Library\.

  • GUI library files:

    • Some managed DLLs which allow to implement plug-ins with a graphical user interface.

    • Some managed third party DLLs supporting GUI development, e. g. the Prism and the Telerik library.

    These DLLs can be found in folder C:\Program Files\RAYLASE\RAYGUIDE\SDK\GUILibrary\.

See Also