11-01-2024
06:34 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
11-01-2024
06:34 AM
It's under InventorApplication.CommandManager.ControlDefinitions["command name"].Enabled. InventorApplication is your field/property for the Application object. The command name is the internal name you used in AddButtonDefinition. Here's a C# example. This goes in your ApplicationAddinServer implementation.
private void UserInterfaceEvents_OnEnvironmentChange(Inventor.Environment environment, EnvironmentStateEnum environmentState, EventTimingEnum beforeOrAfter, NameValueMap context, out HandlingCodeEnum handlingCode)
{
if ((environmentState == EnvironmentStateEnum.kActivateEnvironmentState || environmentState == EnvironmentStateEnum.kResumeEnvironmentState) && beforeOrAfter == EventTimingEnum.kAfter)
{
switch (environment.InternalName)
{
case "AMxAssemblyEnvironment":
case "AMxWeldmentEnvironment":
InventorApplication.CommandManager.ControlDefinitions["myAddin:myAssemblyCmdBtn"].Enabled = true;
InventorApplication.CommandManager.ControlDefinitions["myAddin:myPartCmdBtn"].Enabled = false;
break;
case "PMxPartEnvironment":
case "MBxSheetMetalEnvironment":
InventorApplication.CommandManager.ControlDefinitions["myAddin:myAssemblyCmdBtn"].Enabled = false;
InventorApplication.CommandManager.ControlDefinitions["myAddin:myPartCmdBtn"].Enabled = true;
break;
case "FWxMainFrameEnvironment":
case "DLxDrawingEnvironment":
case "DXxPresentationEnvironment":
default:
InventorApplication.CommandManager.ControlDefinitions["myAddin:myAssemblyCmdBtn"].Enabled = false;
InventorApplication.CommandManager.ControlDefinitions["myAddin:myPartCmdBtn"].Enabled = false;
}
}
handlingCode = HandlingCodeEnum.kEventNotHandled;
}