private void OnEnvironmentChange(Inventor.Environment environment, EnvironmentStateEnum environmentState, EventTimingEnum beforeOrAfter, NameValueMap context, out HandlingCodeEnum handlingCode)
        {
            try
            {
                var isEnabled = environmentState == EnvironmentStateEnum.kActivateEnvironmentState || environmentState == EnvironmentStateEnum.kResumeEnvironmentState;

                switch (environment.InternalName)
                {
                case "DLxDrawingEnvironment":
                    _createTopAndLeftViewButton.IsEnabled        = isEnabled;
                    _createPartViewsFromAssemblyButton.IsEnabled = isEnabled;
                    _exportPdfButton.IsEnabled = isEnabled;
                    break;

                case "AMxAssemblyEnvironment":
                    _generateSheetMetalDrawingsButton.IsEnabled  = isEnabled;
                    _generateMdfDrawingsButton.IsEnabled         = isEnabled;
                    _generateSubAssemblyDrawingsButton.IsEnabled = isEnabled;
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }

            handlingCode = HandlingCodeEnum.kEventNotHandled;
        }
예제 #2
0
        /// <summary>
        /// Checks to make sure that you are in an assembly document and then readies for environment changing
        /// </summary>
        /// <param name="Environment"></param>
        /// <param name="EnvironmentState"></param>
        /// <param name="BeforeOrAfter"></param>
        /// <param name="Context"></param>
        /// <param name="HandlingCode"></param>
        private void UIEvents_OnEnvironmentChange(Inventor.Environment Environment, EnvironmentStateEnum EnvironmentState, EventTimingEnum BeforeOrAfter, NameValueMap Context, out HandlingCodeEnum HandlingCode)
        {
            if (Environment.Equals(ExporterEnv) && BeforeOrAfter == EventTimingEnum.kBefore)
            {
                if (EnvironmentState == EnvironmentStateEnum.kActivateEnvironmentState)
                {
                    // User may not open documents other than assemblies
                    if (!(Context.Item["Document"] is AssemblyDocument assembly))
                    {
                        MessageBox.Show("Only assemblies can be used with the robot exporter.",
                                        "Invalid Document", MessageBoxButtons.OK);
                        exporterBlocked = true;

                        // Quit the exporter
                        if (Context.Item["Document"] is DrawingDocument drawing)
                        {
                            ForceQuitExporter(drawing);
                        }
                        else if (Context.Item["Document"] is PartDocument part)
                        {
                            ForceQuitExporter(part);
                        }
                        else if (Context.Item["Document"] is PresentationDocument presentation)
                        {
                            ForceQuitExporter(presentation);
                        }
                    }
                    // User may not open multiple documents in the exporter
                    else if (EnvironmentEnabled)
                    {
                        MessageBox.Show("The exporter may only be used in one assembly at a time. " +
                                        "Please finish using the exporter in \"" + AsmDocument.DisplayName + "\" to continue.",
                                        "Too Many Assemblies", MessageBoxButtons.OK);
                        exporterBlocked = true;
                        ForceQuitExporter(assembly);
                    }
                    else
                    {
                        OpeningExporter();
                    }
                }
                else if (EnvironmentState == EnvironmentStateEnum.kTerminateEnvironmentState && EnvironmentEnabled)
                {
                    if (exporterBlocked)
                    {
                        exporterBlocked = false;
                    }
                    else
                    {
                        ClosingExporter();
                    }
                }
            }
예제 #3
0
        private void UserInterfaceEvents_OnEnvironmentChange(Inventor.Environment environment, EnvironmentStateEnum environmentState, EventTimingEnum beforeOrAfter, NameValueMap context, out HandlingCodeEnum handlingCode)
        {
            try
            {
                String envInternalName;
                envInternalName = environment.InternalName;

                if (envInternalName == "PMxPartEnvironment")
                {
                    //enable the button when the part environment is activated or resumed
                    if (environmentState == EnvironmentStateEnum.kActivateEnvironmentState || environmentState == EnvironmentStateEnum.kResumeEnvironmentState)
                    {
                        m_blockFormCmd.ButtonDefinition.Enabled = true;
                    }


                    //disable the button when the part environment is terminated or suspended
                    if (environmentState == EnvironmentStateEnum.kTerminateEnvironmentState || environmentState == EnvironmentStateEnum.kSuspendEnvironmentState)
                    {
                        m_blockFormCmd.ButtonDefinition.Enabled = false;
                    }
                }
            }
            catch (Exception e)
            {
                System.Windows.Forms.MessageBox.Show(e.ToString());
            }
            handlingCode = HandlingCodeEnum.kEventNotHandled;
        }
예제 #4
0
        private void OnEnvironmentChange(Inventor.Environment Environment, EnvironmentStateEnum EnvironmentState, EventTimingEnum BeforeOrAfter, NameValueMap Context, out HandlingCodeEnum HandlingCode)
        {
            if (BeforeOrAfter == EventTimingEnum.kAfter)
            {
                if (Environment.InternalName == Resources.IDC_ENV_INTERNAL_NAME)
                {
                    if (EnvironmentState == EnvironmentStateEnum.kTerminateEnvironmentState)
                    {
                        if (null != FinishClickEvent)
                        {
                            FinishClickEvent();
                        }
                    }
                }
            }
            else
            {
                if (Environment.InternalName == Resources.IDC_ENV_INTERNAL_NAME)
                {
                    if (EnvironmentState == EnvironmentStateEnum.kActivateEnvironmentState)
                    {
                        mEmptyPartDoc = true;
                        PartDocument partDoc = null;
                        if (mInventorApp.ActiveDocumentType != DocumentTypeEnum.kPartDocumentObject)
                        {
                            mEmptyPartDoc = false;
                        }
                        else if (mInventorApp.ActiveDocumentType == DocumentTypeEnum.kPartDocumentObject)
                        {
                            partDoc = mInventorApp.ActiveDocument as PartDocument;
                            if (partDoc.ComponentDefinition.SurfaceBodies.Count != 0 /*&& IsFinishFired== true*/)
                            {
                                mEmptyPartDoc = false;
                            }
                        }
                        if (mEmptyPartDoc == false /* && IsFinishFired==false*/)
                        {
                            MessageBox.Show(Resources.IDC_NOT_A_NEW_PART_DOC, "Rubik's Cube", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                            HandlingCode = HandlingCodeEnum.kEventNotHandled;

                            mPlay.Enabled     = false;
                            mScramble.Enabled = false;
                            mSolve.Enabled    = false;
                            mNext.Enabled     = false;
                        }
                        else if (mEmptyPartDoc == true)
                        {
                            if (null != ActivateClickEvent)
                            {
                                ActivateClickEvent();
                            }

                            mPlay.Enabled     = true;
                            mScramble.Enabled = true;
                            mSolve.Enabled    = true;
                            mNext.Enabled     = true;
                        }
                        else
                        {
                            HandlingCode = HandlingCodeEnum.kEventNotHandled;
                            return;
                        }
                    }
                }
            }
            HandlingCode = HandlingCodeEnum.kEventNotHandled;
        }