An open API service indexing awesome lists of open source software.

https://github.com/labspiral/sirius3

A .NET-Based, All-IN-ONE Platform for Precision Laser Processing. Example Projects for SIRIUS3 Library.
https://github.com/labspiral/sirius3

3d laser opentk rtc scanlab sirius3 syncaxis

Last synced: 5 months ago
JSON representation

A .NET-Based, All-IN-ONE Platform for Precision Laser Processing. Example Projects for SIRIUS3 Library.

Awesome Lists containing this project

README

          

# Sirius3
A .NET-Based, All-IN-ONE Platform for Precision Laser Processing.

![sirius3_logo](https://spirallab.co.kr/sirius3/sirius3_logo3.png)

---

## Highlights
![sirius3_editor](https://spirallab.co.kr/sirius3/sirius3_editor.png)

- SCANLAB RTC Controllers
- RTC4 / RTC4e / RTC5 / RTC6 / RTC6e
- XL-SCAN (RTC6 + ACS via syncAXIS)
- Measurement and Profiling
- Log scanner trajectory and output signals with plotted graphs
- Powerful Marking Options
- MoF (Marking on the Fly), 2nd head, 3D
- Sky Writing Mode 1/2/3 and 4
- Ramp (Automatic Laser Control)
– Position dependent
- Velocity(set or actual) dependent
- Encoder speed dependent
- Scanner Field Correction
- 2D / 3D correction
- Laser Power Control
- Frequency, Duty Cycle, Analog, Digital
- Built-in vendor integrations: AdvancedOptoWave, Coherent, IPG, JPT, Photonics Industry, Spectra Physics and more
- Powermeters & Powermap
- Coherent (PowerMax), Thorlabs (via OPM), Ophir (via StarLab)
- Powermap-based output compensation
- Various Entities and Formats
- Point(s), Line, Arc, Polyline, Triangle, Rectangle, Spiral, Trepan, Spline
- Layer, Group, Block and BlockInsert
- Text, SiriusText, ImageText, Circular Text
- Image, DXF, HPGL, ZPL
- QR, DataMatrix, PDF417 Barcodes
- 3D Mesh Format like as STL, OBJ, PLY
- Open Architecture
- Editor and laser-source control code are open for customization

## Major Changes
| | SIRIUS3 | SIRIUS2 |
|:-----------------------------|:-----------------------------------------|:--------------------------------------|
| Multiple page |4 Pages |1 Page(Single) |
| Camera |6 Built-in Cameras |Perspective |
| Render speed |Fastest by updated shader engine |Faster |
| Render mode |Model, PerVertex, Normal, ZDepth |None |
| HitTest speed |Faster by AABBTree |Slow |
| Hatch |Multiple Hatches |Single Hatch |
| 3D Mesh with slicer |Built-in Slicer for PLY, OBJ, STL |None |
| Gerber file(RS-274x) |Supported |None |
| Wafer/Substrate map |Built-in editor |None |
| Font file |General CXF, LFF formats |Customized CXF, LFF formats |
| Pen |Pens for Entity and Layer |Single Pen |
| Library update |By Nuget Package Manager |None |

![sirius3_logo](https://spirallab.co.kr/sirius3/sirius3_hatch.png)
![sirius3_logo](https://spirallab.co.kr/sirius3/sirius3_slicer.png)
![sirius3_logo](https://spirallab.co.kr/sirius3/sirius3_syncaxis.png)

## Packages / DLLs
- `SpiralLab.Sirius3.Dependencies` — SCANLAB RTC4/5/6, syncAXIS runtime, fonts, sample data
- `SpiralLab.Sirius3` — HAL controllers (scanner/laser/powermeter, etc.)
- `SpiralLab.Sirius3.UI` — Entities, 3D renderer, WinForms UI controls
> Easy to update library files by NuGet package manager.

## Platform targets
- `net481`
- `net8.0-windows`

## System Requirements
- Windows 10/11 (x64)
- GPU/Driver with OpenGL 3.3 support (latest drivers strongly recommended)
- SCANLAB drivers/runtimes installed (see versions below)

## Dependencies
- SCANLAB
- RTC4: v2023.11.02
- RTC5: v2024.09.27
- RTC6: 2025.10.30 v1.22.1
- syncAXIS: v1.8.2 (2023.03.09)

- .NET / OpenTK
- `net481`
- OpenTK 3.3.3
- `net8.0-windows`
- OpenTK 4.9.4
- OpenTK.Mathematics 4.9.4
- Common
- Newtonsoft.Json 13.0.4
- Microsoft.Extensions.Logging 8.0.1
- Microsoft.Extensions.Logging.Abstractions 8.0.3

## Install Packages
- Add references
- `SpiralLab.Sirius3.Dependencies` (https://www.nuget.org/packages/SpiralLab.Sirius3.Dependencies)
- `SpiralLab.Sirius3` (https://www.nuget.org/packages/SpiralLab.Sirius3)
- `SpiralLab.Sirius3.UI` (https://www.nuget.org/packages/SpiralLab.Sirius3.UI)

- Create your devices like as scanner, laser, powermeter, marker, ... and attach them to SiriusEditorControl.
- Examples: https://github.com/labspiral/sirius3

## Quick Start
Project settings
```

$(DefineConstants);OPENTK3

PropertyGroup Condition="'$(TargetFramework)'=='net8.0-windows'">
$(DefineConstants);OPENTK4







```

Example code
```
#if OPENTK3
using OpenTK;
using DVec3 = OpenTK.Vector3d;
#elif OPENTK4
using OpenTK.Mathematics;
using DVec3 = OpenTK.Mathematics.Vector3d;
#endif

public class MainForm : Form
{
private readonly SiriusEditorControl editor = new SiriusEditorControl();

public MainForm()
{
editor.Dock = DockStyle.Fill;
Controls.Add(editor);
Load += (s, e) =>
{
// 1. Create devices
var scanner = ScannerFactory.Create ...
scanner.Initialize();

var laser = LaserFactory.Create ...
laser.Initialize();

var powerMeter = PowerMeterFactory.Create ...
powerMeter.Initialize();

var marker = MarkerFactory.Create ...
marker.Initialize();

// 2. Assign into SiriusEditorControl
editor.Scanner = scanner;
editor.Laser = laser;
editor.PowerMeter = powerMeter;
editor.Marker = marker;

// 3. Create entities
var line = EntityFactory.CreateLine(new DVec3(0, 0, 0), new DVec3(10, 10, 0));
editor.Document.ActAdd(line);

var text = EntityFactory.CreateText("Arial", FontStyle.Regular, "SIRIUS3", 10);
editor.Document.ActAdd(text);

// 4. Ready marker
marker.Ready(editor.Document, editor.View, scanner, laser, powerMeter);
};
}

[STAThread]
static void Main()
{
// Initialize sirius3 library
SpiralLab.Sirius3.Core.Initialize();

...
Application.Run(new MainForm());

// Clean-up sirius3 library
SpiralLab.Sirius3.Core.Cleanup();
}
}
```

## License
- Commercial license required for production use.
- See LICENSE.txt and THIRD-PARTY-NOTICES.txt.
- Contact: hcchoi@spirallab.co.kr | https://spirallab.co.kr
> Without a license key, the library runs in 30-minute evaluation mode.

## Version history
- See [HISTORY.md](HISTORY.md)
- 한국어 이력 정보 [HISTORY.krKR.md](HISTORY.koKR.md)