Inventor .NET Addin Wizard (InventorNetAddinWizard) provides kinds of Event Handler Wizards to help automatically and intelligently generate start code for even handlers and register them in a chosen Inventor addin server class when applicable.
The Inventor .NET Triad Events wizard is one of them. After a source file name is given and the Add button pressed, the event wizard Welcome page, Event Chosen page, Naming Convention and Addin Server chosen page, and Summary page will show up one after another.
If all events are chosen and other settings are like above, the even handler class will look like this:
using System;
using System.Text;
using System.Linq;
using System.Xml;
using System.Reflection;
using System.ComponentModel;
using System.Collections;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Windows.Forms;
using System.IO;
using Microsoft.Win32;
using System.Runtime.InteropServices;
using Inventor;
namespace InventorNetAddinCS4
{
public class TriadEventHanlder1
{
private TriadEvents mEventsObj;
public TriadEventHanlder1(TriadEvents obj)
{
mEventsObj = obj;
}
public void Register()
{
mEventsObj.OnTerminate += TriadEvents_OnTerminate_Handler;
mEventsObj.OnStartSequence += TriadEvents_OnStartSequence_Handler;
mEventsObj.OnStartMove += TriadEvents_OnStartMove_Handler;
mEventsObj.OnSegmentSelectionChange += TriadEvents_OnSegmentSelectionChange_Handler;
mEventsObj.OnMoveTriadOnlyToggle += TriadEvents_OnMoveTriadOnlyToggle_Handler;
mEventsObj.OnMove += TriadEvents_OnMove_Handler;
mEventsObj.OnEndSequence += TriadEvents_OnEndSequence_Handler;
mEventsObj.OnEndMove += TriadEvents_OnEndMove_Handler;
mEventsObj.OnActivate += TriadEvents_OnActivate_Handler;
}
public void UnRegister()
{
mEventsObj.OnTerminate -= TriadEvents_OnTerminate_Handler;
mEventsObj.OnStartSequence -= TriadEvents_OnStartSequence_Handler;
mEventsObj.OnStartMove -= TriadEvents_OnStartMove_Handler;
mEventsObj.OnSegmentSelectionChange -= TriadEvents_OnSegmentSelectionChange_Handler;
mEventsObj.OnMoveTriadOnlyToggle -= TriadEvents_OnMoveTriadOnlyToggle_Handler;
mEventsObj.OnMove -= TriadEvents_OnMove_Handler;
mEventsObj.OnEndSequence -= TriadEvents_OnEndSequence_Handler;
mEventsObj.OnEndMove -= TriadEvents_OnEndMove_Handler;
mEventsObj.OnActivate -= TriadEvents_OnActivate_Handler;
}
public void TriadEvents_OnActivate_Handler(NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnActivate");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
public void TriadEvents_OnEndMove_Handler(TriadSegmentEnum SelectedTriadSegment, ShiftStateEnum ShiftKeys, Matrix CoordinateSystem, NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnEndMove");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
public void TriadEvents_OnEndSequence_Handler(bool Cancelled, Matrix CoordinateSystem, NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnEndSequence");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
public void TriadEvents_OnMove_Handler(TriadSegmentEnum SelectedTriadSegment, ShiftStateEnum ShiftKeys, Matrix CoordinateSystem, NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnMove");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
public void TriadEvents_OnMoveTriadOnlyToggle_Handler(bool MoveTriadOnly, EventTimingEnum BeforeOrAfter, NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnMoveTriadOnlyToggle");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
public void TriadEvents_OnSegmentSelectionChange_Handler(TriadSegmentEnum SelectedTriadSegment, EventTimingEnum BeforeOrAfter, NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnSegmentSelectionChange");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
public void TriadEvents_OnStartMove_Handler(TriadSegmentEnum SelectedTriadSegment, ShiftStateEnum ShiftKeys, Matrix CoordinateSystem, NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnStartMove");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
public void TriadEvents_OnStartSequence_Handler(Matrix CoordinateSystem, NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnStartSequence");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
public void TriadEvents_OnTerminate_Handler(bool Cancelled, NameValueMap Context, out HandlingCodeEnum HandlingCode)
{
MessageBox.Show("OnTerminate");
HandlingCode = HandlingCodeEnum.kEventHandled;
}
}
}
The leading edge Inventor .NET Addin Wizard (InventorNetAddinWizard) can be found and downloaded from the A Wizard for Inventor .NET Addin page.
Posted by: |