Fire Notification After Adding a Mate Example (C#)
This example shows how to fire a post-notify event when adding mates.
// ******************************************************************************
//
// Preconditions:
// (1)
Specified assembly document exists.
// (2)
The Tools > Options > Stop VSTA
debugger on macro exit
// check
box is not selected.
// (2)
Run this macro in debug mode (press F5).
// (3)
Interactively add a mate between two entities
// (Insert > Mate). For example, add
a lock mate
// between
the plate and cup.
//
// Postconditions:
// (1)
A mate is added between the selected entities.
// (2)
A message box informing you of a new mate being
// added
to the assembly is displayed. Check the
// taskbar
for the message box.
// (3)
Close the message box.
// (4)
Close the document.
//
// NOTE:
Because this assembly document is used by
// a
SOLIDWORKS online tutorial, do not save
// any
changes when closing the document.
//
// (5)
Stop the macro by clicking Debug >
Stop Debugging.
//
// ******************************************************************************
using SolidWorks.Interop.sldworks;
using SolidWorks.Interop.swconst;
using System;
using System.Windows.Forms;
using System.Collections;
namespace AddMatePostNotifyAssemblyDocCSharp.csproj
{
public
partial class SolidWorksMacro
{
public
AssemblyDoc swAssem;
public
void Main()
{
ModelDoc2
swModel;
int
errors = 0;
int
warnings = 0;
Hashtable
openAssem;
swModel
= (ModelDoc2)swApp.OpenDoc6("C:\\Program
Files\\SOLIDWORKS Corp\\SOLIDWORKS\\samples\\tutorial\\api\\toaster_scene.sldasm",
(int)swDocumentTypes_e.swDocASSEMBLY, (int)swOpenDocOptions_e.swOpenDocOptions_Silent,
"", ref errors, ref warnings);
//Set
up events
swAssem
= (AssemblyDoc)swModel;
openAssem
= new Hashtable();
AttachEventHandlers();
}
///
<summary>
///
The SldWorks
swApp variable is pre-assigned for you.
///
</summary>
public
SldWorks swApp;
public
void AttachEventHandlers()
{
AttachSWEvents();
}
public
void AttachSWEvents()
{
swAssem.AddMatePostNotify
+= this.swAssem_AddMatePostNotify;
}
public
int swAssem_AddMatePostNotify()
//Send
message after user adds a mate
{
MessageBox.Show("A
mate has been added to the assembly.");
return
1;
}
}
}