private static bool DrawByMarkerWithOffset(IDocument doc, IRtc rtc, ILaser laser) { var marker = new MarkerDefault(0); marker.Name = "marker #2"; //가공 완료 이벤트 핸들러 등록 marker.OnFinished += Marker_OnFinished; var markerArg = new MarkerArgDefault() { Document = doc, Rtc = rtc, Laser = laser, }; // 9개의 오프셋 정보를 추가한다 markerArg.Offsets.Clear(); markerArg.Offsets.Add(new Offset(-20.0f, 20.0f, -90f)); markerArg.Offsets.Add(new Offset(0.0f, 20.0f, 0.0f)); markerArg.Offsets.Add(new Offset(20.0f, 20.0f, 90.0f)); markerArg.Offsets.Add(new Offset(-20.0f, 0.0f, -180.0f)); markerArg.Offsets.Add(new Offset(0.0f, 0.0f, 0.0f)); markerArg.Offsets.Add(new Offset(20.0f, 0.0f, 180.0f)); markerArg.Offsets.Add(new Offset(-20.0f, -20.0f, -270.0f)); markerArg.Offsets.Add(new Offset(0.0f, -20.0f, 0.0f)); markerArg.Offsets.Add(new Offset(20.0f, -20.0f, 270.0f)); bool success = true; // 마커에 가공 문서(doc)및 rtc, laser 정보를 전달하고 가공 준비를 실시한다. success &= marker.Ready(markerArg); // 가공을 시작한다. success &= marker.Start(); return(success); }
private bool MyInitialize() { #region 사용자의 초기화 코드 예제 bool success = true; success &= SpiralLab.Core.Initialize(); var doc = new DocumentDefault(); this.Document = doc; //var rtc = new RtcVirtual(0); //create Rtc for dummy var rtc = new Rtc5(0); //create Rtc5 controller //var rtc = new Rtc6(0); //create Rtc6 controller //var rtc = new Rtc6Ethernet(0, "192.168.0.100", "255.255.255.0"); //실험적인 상태 (Scanlab Rtc6 Ethernet 제어기) //var rtc = new Rtc6SyncAxis(0, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "syncAxis", "syncAXISConfig.xml")); //실험적인 상태 (Scanlab XLSCAN 솔류션) float fov = 60.0f; ///scanner field of view : 60mm float kfactor = (float)Math.Pow(2, 20) / fov; // k factor (bits/mm) = 2^20 / fov var correctionFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "correction", "cor_1to1.ct5"); success &= rtc.Initialize(kfactor, LaserMode.Yag1, correctionFile); // 스캐너 보정 파일 지정 : correction file success &= rtc.CtlFrequency(50 * 1000, 2); // laser frequency : 50KHz, pulse width : 2usec success &= rtc.CtlSpeed(100, 100); // default jump and mark speed : 100mm/s success &= rtc.CtlDelay(10, 100, 200, 200, 0); // scanner and laser delays this.Rtc = rtc; var laser = new LaserVirtual(0, "virtual", 20.0f); laser.Rtc = rtc; success &= laser.Initialize(); success &= laser.CtlPower(10); this.Laser = laser; var marker = new MarkerDefault(0); this.Marker = marker; #endregion return(success); }
private static bool DrawByMarker(IDocument doc, IRtc rtc, ILaser laser) { var marker = new MarkerDefault(0); marker.Name = "marker #1"; //가공 완료 이벤트 핸들러 등록 marker.OnFinished += Marker_OnFinished; var markerArg = new MarkerArgDefault() { Document = doc, Rtc = rtc, Laser = laser, }; // 하나의 오프셋 정보(0,0 및 회전각도 0) 를 추가한다. markerArg.Offsets.Add(Offset.Zero); bool success = true; // 마커에 가공 문서(doc)및 rtc, laser 정보를 전달하고 가공 준비를 실시한다. success &= marker.Ready(markerArg); // 가공을 시작한다. success &= marker.Start(); return(success); }
private void MainForm_Load(object sender, EventArgs e) { var xmlConfigFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "syncAxis", "syncAXISConfig.xml"); if (!File.Exists(xmlConfigFileName)) { MessageBox.Show($"XML configuration file is not founded : {xmlConfigFileName}"); return; } #region SyncAxis 초기화 bool success = true; var rtc = new Rtc6SyncAxis(0, xmlConfigFileName); rtc.Name = "SyncAxis"; success &= rtc.Initialize(0, LaserMode.None, string.Empty); success &= rtc.CtlFrequency(50 * 1000, 2); // laser frequency : 50KHz, pulse width : 2usec success &= rtc.CtlSpeed(100, 100); // default scanner jump and mark speed : 100mm/s //스테이지 이동시 기본 값 설정 rtc.StageMoveSpeed = 10; rtc.StageMoveTimeOut = 5; #endregion #region 레이저 소스 초기화 var laser = new LaserVirtual(0, "virtual", 20); // virtual laser source with max 20W power (최대 출력 20W 의 가상 레이저 소스 생성) //var laser = new IPGYLP(0, "IPG YLP", 1, 20); //var laser = new JPTTypeE(0, "JPT Type E", 1, 20); //var laser = new SPIG4(0, "SPI G3/4", 1, 20); //var laser = new PhotonicsIndustryDX(0, "PI", 1, 20); //var laser = new AdvancedOptoWaveFotia(0, "Fotia", 1, 20); //var laser = new CoherentAviaLX(0, "Avia LX", 1, 20); laser.Rtc = rtc; laser.Initialize(); laser.CtlPower(2); #endregion #region 마커 지정 var marker = new MarkerDefault(0, " SyncAxis Marker "); #endregion #region RTC 확장 IO this.RtcExt1DInput = new RtcDInput(rtc, 0, "DIN RTC EXT1"); this.RtcExt1DInput.Initialize(); this.RtcExt1DOutput = new RtcDOutputExt1(rtc, 0, "DOUT RTC EXT1"); this.RtcExt1DOutput.Initialize(); this.RtcExt2DOutput = new RtcDOutputExt2(rtc, 0, "DIN RTC EXT2"); this.RtcExt2DOutput.Initialize(); this.siriusEditorForm1.RtcExtension1Input = this.RtcExt1DInput; this.siriusEditorForm1.RtcExtension1Output = this.RtcExt1DOutput; this.siriusEditorForm1.RtcExtension2Output = this.RtcExt2DOutput; #endregion this.Rtc = rtc; this.siriusEditorForm1.Rtc = rtc; this.siriusEditorForm1.Laser = laser; this.siriusEditorForm1.Marker = marker; }
public MainForm() { InitializeComponent(); SpiralLab.Core.Initialize(); // 신규 문서 생성 var doc = new DocumentDefault(); // 문서 지정 siriusEditorForm1.Document = doc; // 기본 펜 생성후 문서에 추가 var pen = new CustomPen(); doc.Action.ActEntityAdd(pen); // 내부 데이타(IDocument) 가 변경될경우 이를 이벤트 통지를 받는 핸들러 등록 siriusEditorForm1.OnDocumentSourceChanged += SiriusEditorForm1_OnDocumentSourceChanged; #region RTC 초기화 //var rtc = new RtcVirtual(0); //create Rtc for dummy var rtc = new Rtc5(0); //create Rtc5 controller //var rtc = new Rtc6(0); //create Rtc6 controller //var rtc = new Rtc6Ethernet(0, "192.168.0.100", "255.255.255.0"); //실험적인 상태 (Scanlab Rtc6 Ethernet 제어기) //var rtc = new Rtc6SyncAxis(0, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "syncAxis", "syncAXISConfig.xml")); //실험적인 상태 (Scanlab XLSCAN 솔류션) float fov = 60.0f; ///scanner field of view : 60mm float kfactor = (float)Math.Pow(2, 20) / fov; // k factor (bits/mm) = 2^20 / fov var correctionFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "correction", "cor_1to1.ct5"); rtc.Initialize(kfactor, LaserMode.Yag1, correctionFile); // 스캐너 보정 파일 지정 : correction file rtc.CtlFrequency(50 * 1000, 2); // laser frequency : 50KHz, pulse width : 2usec rtc.CtlSpeed(100, 100); // default jump and mark speed : 100mm/s rtc.CtlDelay(10, 100, 200, 200, 0); // scanner and laser delays #endregion this.siriusEditorForm1.Rtc = rtc; #region 레이저 소스 초기화 var laser = new LaserVirtual(0, "virtual", 20); // virtual laser source with max 20W power (최대 출력 20W 의 가상 레이저 소스 생성) //var laser = new IPGYLP(0, "IPG YLP", 1, 20); //var laser = new JPTTypeE(0, "JPT Type E", 1, 20); //var laser = new SPIG4(0, "SPI G3/4", 1, 20); //var laser = new PhotonicsIndustryDX(0, "PI", 1, 20); //var laser = new AdvancedOptoWaveFotia(0, "Fotia", 1, 20); //var laser = new CoherentAviaLX(0, "Avia LX", 1, 20); laser.Rtc = rtc; laser.Initialize(); laser.CtlPower(2); #endregion this.siriusEditorForm1.Laser = laser; #region 마커 지정 var marker = new MarkerDefault(0); #endregion this.siriusEditorForm1.Marker = marker; this.siriusEditorForm1.OnDocumentPenNew += SiriusEditorForm1_OnDocumentPenNew; }
private static void DrawByMarker(IDocument doc, IRtc rtc, ILaser laser) { var marker = new MarkerDefault(0); marker.Name = "marker #1"; marker.OnFinished += Marker_OnFinished; marker.Ready(doc, rtc, laser); //layer cloned marker.Start(); }
public FormMain() { InitializeComponent(); SpiralLab.Core.Initialize(); var doc = new DocumentDefault(); siriusEditorForm1.Document = doc; siriusViewerForm1.Document = doc; /// 소스 문서(IDocument) 가 변경될경우 다른 멀티 뷰에 이를 통지하는 이벤트 핸들러 등록 siriusEditorForm1.OnDocumentSourceChanged += SiriusEditorForm1_OnDocumentSourceChanged; #region RTC 초기화 var rtc = new RtcVirtual(0); ///create Rtc for dummy //var rtc = new Rtc5(0); ///create Rtc5 controller //var rtc = new Rtc6(0); ///create Rtc6 controller //var rtc = new Rtc6Ethernet(0, "192.168.0.200"); ///create Rtc6 ethernet controller //var rtc = new Rtc53D(0); ///create Rtc5 + 3D option controller //var rtc = new Rtc63D(0); ///create Rtc5 + 3D option controller //var rtc = new Rtc5DualHead(0); ///create Rtc5 + Dual head option controller //var rtc = new Rtc5MOTF(0); ///create Rtc5 + MOTF option controller //var rtc = new Rtc6MOTF(0); ///create Rtc6 + MOTF option controller //var rtc = new Rtc6SyncAxis(0); //var rtc = new Rtc6SyncAxis(0, "syncAXISConfig.xml"); ///create Rtc6 + XL-SCAN (ACS+SYNCAXIS) option controller float fov = 60.0f; /// scanner field of view : 60mm float kfactor = (float)Math.Pow(2, 20) / fov; /// k factor (bits/mm) = 2^20 / fov rtc.Initialize(kfactor, LaserMode.Yag1, "cor_1to1.ct5"); /// 스캐너 보정 파일 지정 : correction file rtc.CtlFrequency(50 * 1000, 2); /// laser frequency : 50KHz, pulse width : 2usec rtc.CtlSpeed(100, 100); /// default jump and mark speed : 100mm/s rtc.CtlDelay(10, 100, 200, 200, 0); /// scanner and laser delays #endregion this.siriusEditorForm1.Rtc = rtc; #region 레이저 소스 초기화 ILaser laser = new LaserVirtual(0, "virtual", 20.0f); laser.Initialize(); var pen = new Pen { Power = 10.0f, }; laser.CtlPower(rtc, pen); #endregion this.siriusEditorForm1.Laser = laser; #region 마커 지정 var marker = new MarkerDefault(0); #endregion this.siriusEditorForm1.Marker = marker; }
public MainWindow() { InitializeComponent(); SpiralLab.Core.Initialize(); var siriusEditorForm = (siriusEditor.Child as SiriusEditorForm); //펜 집합 기능 사용 siriusEditorForm.EnablePens = true; var doc = new DocumentDefault(); siriusEditorForm.Document = doc; #region RTC 초기화 //var rtc = new RtcVirtual(0); //create Rtc for dummy (가상 RTC 카드) var rtc = new Rtc5(0); //create Rtc5 controller //var rtc = new Rtc6(0); //create Rtc6 controller //var rtc = new Rtc6Ethernet(0, "192.168.0.100", "255.255.255.0"); //Rtc6 Ethernet //var rtc = new Rtc6SyncAxis(0, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "syncAxis", "syncAXISConfig.xml")); //Scanlab XLSCAN float fov = 60.0f; ///scanner field of view : 60mm float kfactor = (float)Math.Pow(2, 20) / fov; // k factor (bits/mm) = 2^20 / fov var correctionFile = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "correction", "cor_1to1.ct5"); rtc.Initialize(kfactor, LaserMode.Yag1, correctionFile); // 스캐너 보정 파일 지정 : correction file rtc.CtlFrequency(50 * 1000, 2); // laser frequency : 50KHz, pulse width : 2usec rtc.CtlSpeed(100, 100); // default jump and mark speed : 100mm/s rtc.CtlDelay(10, 100, 200, 200, 0); // scanner and laser delays #endregion siriusEditorForm.Rtc = rtc; #region initialize Laser (virtual) var laser = new LaserVirtual(0, "virtual", 20); // virtual laser source with max 20W power (최대 출력 20W 의 가상 레이저 소스 생성) //var laser = new IPGYLP(0, "IPG YLP", 1, 20); //var laser = new JPTTypeE(0, "JPT Type E", 1, 20); //var laser = new SPIG4(0, "SPI G3/4", 1, 20); //var laser = new PhotonicsIndustryDX(0, "PI", 1, 20); //var laser = new AdvancedOptoWaveFotia(0, "Fotia", 1, 20); //var laser = new CoherentAviaLX(0, "Avia LX", 1, 20); laser.Rtc = rtc; laser.Initialize(); laser.CtlPower(2); #endregion siriusEditorForm.Laser = laser; #region 마커 지정 var marker = new MarkerDefault(0); #endregion siriusEditorForm.Marker = marker; }
private static void DrawByMarker(IDocument doc, IRtc rtc, ILaser laser) { var marker = new MarkerDefault(0); marker.Name = "marker #1"; ///가공 완료 이벤트 핸들러 등록 marker.OnFinished += Marker_OnFinished; /// 마커에 가공 문서(doc)및 rtc, laser 정보를 전달하고 가공 준비를 실시한다. marker.Ready(doc, rtc, laser); /// 하나의 오프셋 정보(0,0및 회전각도 0) 를 추가한다. marker.Offsets.Clear(); marker.Offsets.Add(Offset.Zero); /// 가공을 시작한다. marker.Start(); }
private static void DrawByMarkerWithOffset(IDocument doc, IRtc rtc, ILaser laser) { var marker = new MarkerDefault(0); marker.Name = "marker #2"; marker.OnFinished += Marker_OnFinished; marker.Offsets.Add((-20.0, 20.0, -90)); marker.Offsets.Add((0.0, 20.0, 0.0)); marker.Offsets.Add((20.0, 20.0, 90.0)); marker.Offsets.Add((-20.0, 0.0, -180.0)); marker.Offsets.Add((0.0, 0.0, 0.0)); marker.Offsets.Add((20.0, 0.0f, 180.0)); marker.Offsets.Add((-20.0, -20.0, -270.0)); marker.Offsets.Add((0.0, -20.0, 0.0)); marker.Offsets.Add((20.0, -20.0, 270.0)); marker.Ready(doc, rtc, laser); //layer cloned marker.Start(); }
public FormMain() { InitializeComponent(); SpiralLab.Core.Initialize(); var doc = new DocumentDefault(); siriusEditorForm1.Document = doc; siriusViewerForm1.Document = doc; /// 소스 문서(IDocument) 가 변경될경우 다른 멀티 뷰에 이를 통지하는 이벤트 핸들러 등록 siriusEditorForm1.OnDocumentSourceChanged += SiriusEditorForm1_OnDocumentSourceChanged; siriusViewerForm1.OnDocumentSourceChanged += SiriusEditorForm1_OnDocumentSourceChanged; #region RTC 초기화 //IRtc rtc = new RtcVirtual(0); ///가상 rtc 제어기 생성 IRtc rtc = new RtcGCode(0, "output.txt"); ///가상 rtc 제어기 생성 //IRtc rtc = new Rtc5(0); ///rtc 5 제어기 생성 double fov = 60.0; /// scanner field of view : 60mm double kfactor = Math.Pow(2, 20) / fov; /// k factor (bits/mm) = 2^20 / fov rtc.Initialize(kfactor, LaserMode.Yag1, "cor_1to1.ct5"); /// 스캐너 보정 파일 지정 : correction file rtc.CtlFrequency(50 * 1000, 2); /// laser frequency : 50KHz, pulse width : 2usec rtc.CtlSpeed(100, 100); /// default jump and mark speed : 100mm/s rtc.CtlDelay(10, 100, 200, 200, 0); /// scanner and laser delays #endregion this.siriusEditorForm1.Rtc = rtc; #region 레이저 소스 초기화 ILaser laser = new LaserVirtual(0, "virtual", 20.0f); laser.Initialize(); laser.CtlPower(rtc, 8.0f); #endregion this.siriusEditorForm1.Laser = laser; #region 마커 지정 var marker = new MarkerDefault(0); #endregion this.siriusEditorForm1.Marker = marker; }
private static void DrawByMarkerWithOffset(IDocument doc, IRtc rtc, ILaser laser) { var marker = new MarkerDefault(0); marker.Name = "marker #2"; ///가공 완료 이벤트 핸들러 등록 marker.OnFinished += Marker_OnFinished; /// 9개의 오프셋 정보를 추가한다 marker.Offsets.Clear(); marker.Offsets.Add(new Offset(-20.0f, 20.0f, -90f)); marker.Offsets.Add(new Offset(0.0f, 20.0f, 0.0f)); marker.Offsets.Add(new Offset(20.0f, 20.0f, 90.0f)); marker.Offsets.Add(new Offset(-20.0f, 0.0f, -180.0f)); marker.Offsets.Add(new Offset(0.0f, 0.0f, 0.0f)); marker.Offsets.Add(new Offset(20.0f, 0.0f, 180.0f)); marker.Offsets.Add(new Offset(-20.0f, -20.0f, -270.0f)); marker.Offsets.Add(new Offset(0.0f, -20.0f, 0.0f)); marker.Offsets.Add(new Offset(20.0f, -20.0f, 270.0f)); /// 마커에 가공 문서(doc)및 rtc, laser 정보를 전달하고 가공 준비를 실시한다. marker.Ready(doc, rtc, laser); /// 가공을 시작한다. marker.Start(); }
private bool SiriusLibInit() { // 기본 문서 생성 var doc = new Sirius.DocumentDefault(); this.FormAuto.SiriusViewer.Document = doc; this.FormEditor.SiriusEditor.Document = doc; // 소스 문서(IDocument) 가 변경될경우 다른 멀티 뷰에 이를 통지하는 이벤트 핸들러 등록 this.FormEditor.SiriusEditor.OnDocumentSourceChanged += SiriusEditorForm_OnDocumentSourceChanged; bool success = true; #region RTC 초기화 uint i = 0; //var rtcCounts = NativeMethods.ReadIni<int>(Program.ConfigFileName, "RTC", "COUNTS"); //for (uint i = 0; i < rtcCounts; i++) //{ var rtcTypeName = NativeMethods.ReadIni <string>(ConfigFileName, $"RTC{i}", "TYPE"); Type rtcType = Type.GetType(rtcTypeName.Trim()); if (null == rtcType) { var mb = new Default.MessageBoxOk(); mb.ShowDialog("Critical", $"Can't create rtc instance : {rtcType.ToString()} at {ConfigFileName}"); success &= false; } var rtc = Activator.CreateInstance(rtcType) as IRtc; var rtcName = NativeMethods.ReadIni <string>(ConfigFileName, $"RTC{i}", "NAME"); rtc.Name = rtcName; rtc.Index = i; var kFactor = NativeMethods.ReadIni <float>(ConfigFileName, $"RTC{i}", "KFACTOR"); var ct5FileName = NativeMethods.ReadIni <string>(ConfigFileName, $"RTC{i}", "CORRECTION"); var laserModeTypeName = NativeMethods.ReadIni <string>(ConfigFileName, $"RTC{i}", "LASERMODE"); LaserMode laserMode = (LaserMode)Enum.Parse(typeof(LaserMode), laserModeTypeName.Trim()); success &= rtc.Initialize(kFactor, laserMode, ct5FileName); rtc.CtlFrequency(50 * 1000, 2); // laser frequency : 50KHz, pulse width : 2usec rtc.CtlSpeed(100, 100); // default jump and mark speed : 100mm/s rtc.CtlDelay(10, 100, 200, 200, 0); // scanner and laser delays this.FormEditor.SiriusEditor.Rtc = rtc; //} #endregion #region 레이저 소스 초기화 //var laserCounts = NativeMethods.ReadIni<int>(Program.ConfigFileName, "LASER", "COUNTS"); //for (uint i = 0; i < laserCounts; i++) //{ var laserTypeName = NativeMethods.ReadIni <string>(ConfigFileName, $"LASER{i}", "TYPE"); Type laserType = Type.GetType(laserTypeName.Trim()); if (null == laserType) { var mb = new Default.MessageBoxOk(); mb.ShowDialog("Critical", $"Can't create laser instance : {laserType.ToString()} at {ConfigFileName}"); success &= false; } var laser = Activator.CreateInstance(laserType) as ILaser; //ILaser laser = new Sirius.LaserVirtual(0, "virtual", 20.0f); var laserName = NativeMethods.ReadIni <string>(ConfigFileName, $"LASER{i}", "NAME"); laser.Rtc = rtc; laser.Index = i; laser.Name = laserName; var maxPower = NativeMethods.ReadIni <float>(ConfigFileName, $"LASER{i}", "MAXPOWER"); laser.MaxPowerWatt = maxPower; success &= laser.Initialize(); var powerControl = laser as IPowerControl; if (null != powerControl) { success &= powerControl.CtlPower(10); } this.FormEditor.SiriusEditor.Laser = laser; //} this.FormEditor.SiriusEditor.Laser = laser; #endregion #region 마커 지정 var marker = new MarkerDefault(0); this.FormEditor.SiriusEditor.Marker = marker; #endregion return(success); }
public FormMain() { InitializeComponent(); SpiralLab.Core.Initialize(); //Rtc 2개 생성 var rtc1 = new RtcVirtual(0, "output1.txt"); rtc1.Initialize(1000, LaserMode.Yag1, null); var rtc2 = new RtcVirtual(1, "output2.txt"); rtc2.Initialize(1000, LaserMode.Yag1, null); //Laser 2개 생성 var laser1 = new LaserVirtual(0, "Virtual Laser1", 20); laser1.Initialize(); var laser2 = new LaserVirtual(1, "Virtual Laser2", 20); laser2.Initialize(); //Marker 2개 생성 var marker1 = new MarkerDefault(0); var marker2 = new MarkerDefault(1); //두개의 문서 생성 var doc1 = new DocumentDefault(); var doc2 = new DocumentDefault(); //뷰어에 문서 소스 설정 this.formViewer = new FormViewer(); this.formViewer.Viewer1.Document = doc1; this.formViewer.Viewer1.AliasName = "Left Viewer"; this.formViewer.Viewer2.Document = doc2; this.formViewer.Viewer2.AliasName = "Right Viewer"; //에디터 1에 문서 소스 설정 this.formEditor1 = new FormEditor(); this.formEditor1.Editor.Document = doc1; this.formEditor1.Editor.AliasName = "Left Editor"; //에디터 2에 문서 소스 설정 this.formEditor2 = new FormEditor(); this.formEditor2.Editor.Document = doc2; this.formEditor2.Editor.AliasName = "Right Editor"; //소스 문서(IDocument) 가 변경될경우 다른 멀티 뷰에 이를 통지가능하도록 이벤트 핸들러 등록 this.formViewer.Viewer1.OnDocumentSourceChanged += Viewer1_OnDocumentSourceChanged; this.formEditor1.Editor.OnDocumentSourceChanged += Viewer1_OnDocumentSourceChanged; this.formViewer.Viewer2.OnDocumentSourceChanged += Viewer2_OnDocumentSourceChanged; this.formEditor2.Editor.OnDocumentSourceChanged += Viewer2_OnDocumentSourceChanged; // 뷰어1 와 하드웨어 연결 this.formViewer.Viewer1.Rtc = rtc1; this.formViewer.Viewer1.Laser = laser1; this.formViewer.Viewer1.Marker = marker1; //뷰어2 와 하드웨어 연결 this.formViewer.Viewer2.Rtc = rtc2; this.formViewer.Viewer2.Laser = laser2; this.formViewer.Viewer2.Marker = marker2; // 에디터1 와 하드웨어 연결 this.formEditor1.Editor.Rtc = rtc1; this.formEditor1.Editor.Laser = laser1; this.formEditor1.Editor.Marker = marker1; //에디터1 와 하드웨어 연결 this.formEditor2.Editor.Rtc = rtc2; this.formEditor2.Editor.Laser = laser2; this.formEditor2.Editor.Marker = marker2; // 뷰어를 초기화면에 출력 SwitchForm(panel3, this.formViewer); }
public FormMain() { InitializeComponent(); SpiralLab.Core.Initialize(); //Rtc 제어기 객체 2개 생성 var rtc1 = new RtcVirtual(0, "output1.txt"); var rtc2 = new RtcVirtual(1, "output2.txt"); //var rtc = new Rtc5(0); //create Rtc5 controller //var rtc = new Rtc6(0); //create Rtc6 controller //var rtc = new Rtc6Ethernet(0, "192.168.0.100", "255.255.255.0"); //실험적인 상태 (Scanlab Rtc6 Ethernet 제어기) //var rtc = new Rtc6SyncAxis(0, Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "syncAxis", "syncAXISConfig.xml")); //실험적인 상태 (Scanlab XLSCAN 솔류션) var correctionFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "correction", "cor_1to1.ct5"); rtc1.Initialize(1000, LaserMode.Yag1, correctionFile); rtc2.Initialize(1000, LaserMode.Yag1, correctionFile); //Laser 소스 객체 2개 생성 var laser1 = new LaserVirtual(0, "virtual", 20); // virtual laser source with max 20W power (최대 출력 20W 의 가상 레이저 소스 생성) //var laser1 = new IPGYLP(0, "IPG YLP", 1, 20); //var laser1 = new JPTTypeE(0, "JPT Type E", 1, 20); //var laser1 = new SPIG4(0, "SPI G3/4", 1, 20); //var laser1 = new PhotonicsIndustryDX(0, "PI", 1, 20); //var laser1 = new AdvancedOptoWaveFotia(0, "Fotia", 1, 20); //var laser1 = new CoherentAviaLX(0, "Avia LX", 1, 20); laser1.Rtc = rtc1; laser1.Initialize(); laser1.CtlPower(2); var laser2 = new LaserVirtual(0, "virtual", 20); // virtual laser source with max 20W power (최대 출력 20W 의 가상 레이저 소스 생성) //var laser2 = new IPGYLP(0, "IPG YLP", 2, 20); //var laser2 = new JPTTypeE(0, "JPT Type E", 2, 20); //var laser2 = new SPIG4(0, "SPI G3/4", 2, 20); //var laser2 = new PhotonicsIndustryDX(0, "PI", 2, 20); //var laser2 = new AdvancedOptoWaveFotia(0, "Fotia", 2, 20); //var laser2 = new CoherentAviaLX(0, "Avia LX", 2, 20); laser2.Rtc = rtc2; laser2.Initialize(); laser2.CtlPower(2); //Marker 2개 생성 var marker1 = new MarkerDefault(0); var marker2 = new MarkerDefault(1); //두개의 문서 생성 var doc1 = new DocumentDefault(); var doc2 = new DocumentDefault(); //뷰어에 문서 소스 설정 this.formViewer = new FormViewer(); this.formViewer.Viewer1.Document = doc1; this.formViewer.Viewer1.AliasName = "Left Viewer"; this.formViewer.Viewer2.Document = doc2; this.formViewer.Viewer2.AliasName = "Right Viewer"; //에디터 1에 문서 소스 설정 this.formEditor1 = new FormEditor(); this.formEditor1.Editor.Document = doc1; this.formEditor1.Editor.AliasName = "Left Editor"; //에디터 2에 문서 소스 설정 this.formEditor2 = new FormEditor(); this.formEditor2.Editor.Document = doc2; this.formEditor2.Editor.AliasName = "Right Editor"; //소스 문서(IDocument) 가 변경될경우 다른 멀티 뷰에 이를 통지가능하도록 이벤트 핸들러 등록 this.formEditor1.Editor.OnDocumentSourceChanged += Editor1_OnDocumentSourceChanged; this.formEditor2.Editor.OnDocumentSourceChanged += Editor2_OnDocumentSourceChanged; // 기본 펜 개체 생성 var pen1 = new PenDefault(); doc1.Action.ActEntityAdd(pen1); var pen2 = new PenDefault(); doc2.Action.ActEntityAdd(pen2); // 에디터1 와 하드웨어 연결 this.formEditor1.Editor.Rtc = rtc1; this.formEditor1.Editor.Laser = laser1; this.formEditor1.Editor.Marker = marker1; //에디터1 와 하드웨어 연결 this.formEditor2.Editor.Rtc = rtc2; this.formEditor2.Editor.Laser = laser2; this.formEditor2.Editor.Marker = marker2; // 뷰어를 초기화면에 출력 SwitchForm(panel3, this.formViewer); }
public FormMain() { InitializeComponent(); SpiralLab.Core.Initialize(); //Rtc 2개 생성 var rtc1 = new RtcVirtual(0, "output1.txt"); var rtc2 = new RtcVirtual(1, "output2.txt"); //var rtc = new Rtc5(0); ///create Rtc5 controller //var rtc = new Rtc6(0); ///create Rtc6 controller //var rtc = new Rtc6Ethernet(0, "192.168.0.200"); ///create Rtc6 ethernet controller //var rtc = new Rtc53D(0); ///create Rtc5 + 3D option controller //var rtc = new Rtc63D(0); ///create Rtc5 + 3D option controller //var rtc = new Rtc5DualHead(0); ///create Rtc5 + Dual head option controller //var rtc = new Rtc5MOTF(0); ///create Rtc5 + MOTF option controller //var rtc = new Rtc6MOTF(0); ///create Rtc6 + MOTF option controller //var rtc = new Rtc6SyncAxis(0); //var rtc = new Rtc6SyncAxis(0, "syncAXISConfig.xml"); ///create Rtc6 + XL-SCAN (ACS+SYNCAXIS) option controller var correctionFile = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "correction", "cor_1to1.ct5"); rtc1.Initialize(1000, LaserMode.Yag1, correctionFile); rtc2.Initialize(1000, LaserMode.Yag1, correctionFile); //Laser 2개 생성 var laser1 = new LaserVirtual(0, "Virtual Laser1", 20); laser1.Initialize(); var laser2 = new LaserVirtual(1, "Virtual Laser2", 20); laser2.Initialize(); //Marker 2개 생성 var marker1 = new MarkerDefault(0); var marker2 = new MarkerDefault(1); //두개의 문서 생성 var doc1 = new DocumentDefault(); var doc2 = new DocumentDefault(); //뷰어에 문서 소스 설정 this.formViewer = new FormViewer(); this.formViewer.Viewer1.Document = doc1; this.formViewer.Viewer1.AliasName = "Left Viewer"; this.formViewer.Viewer2.Document = doc2; this.formViewer.Viewer2.AliasName = "Right Viewer"; //에디터 1에 문서 소스 설정 this.formEditor1 = new FormEditor(); this.formEditor1.Editor.Document = doc1; this.formEditor1.Editor.AliasName = "Left Editor"; //에디터 2에 문서 소스 설정 this.formEditor2 = new FormEditor(); this.formEditor2.Editor.Document = doc2; this.formEditor2.Editor.AliasName = "Right Editor"; //소스 문서(IDocument) 가 변경될경우 다른 멀티 뷰에 이를 통지가능하도록 이벤트 핸들러 등록 this.formEditor1.Editor.OnDocumentSourceChanged += Editor1_OnDocumentSourceChanged; this.formEditor2.Editor.OnDocumentSourceChanged += Editor2_OnDocumentSourceChanged; // 에디터1 와 하드웨어 연결 this.formEditor1.Editor.Rtc = rtc1; this.formEditor1.Editor.Laser = laser1; this.formEditor1.Editor.Marker = marker1; //에디터1 와 하드웨어 연결 this.formEditor2.Editor.Rtc = rtc2; this.formEditor2.Editor.Laser = laser2; this.formEditor2.Editor.Marker = marker2; // 뷰어를 초기화면에 출력 SwitchForm(panel3, this.formViewer); }