コード例 #1
8
		public CSimpleInteraction(Inventor.Application oApplication)
		{
			
			mApplication = oApplication;
			
			//Initialize events
			mInteractionEvents = mApplication.CommandManager.CreateInteractionEvents();
			mSelectEvents = mInteractionEvents.SelectEvents;
			
			//Set event handler VB.Net Style
			mSelectEvents.OnSelect += new Inventor.SelectEventsSink_OnSelectEventHandler(this.mSelectEvents_OnSelect);
			mInteractionEvents.OnTerminate += new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.mInteractionEvents_OnTerminate);
			
			//Clear filter and set new ones if needed
			mSelectEvents.ClearSelectionFilter();
			
			//Always Disable mouse move if not needed for performances
			mSelectEvents.MouseMoveEnabled = false;
			mSelectEvents.Enabled = true;
			mSelectEvents.SingleSelectEnabled = true;
			
			//Remember to Start/Stop the interaction event
			mInteractionEvents.Start();
			
		}
コード例 #2
0
        /////////////////////////////////////////////////////////////
        // Use: Clear all selection filters
        //
        /////////////////////////////////////////////////////////////
        public void ClearSelectionFilters()
        {
            _PreSelectFilters.Clear();

            if (_SelectEvents != null)
            {
                _SelectEvents.ClearSelectionFilter();
            }
        }
コード例 #3
0
        //------------------------------------------------------------------------------


        public void Interactive_Selection(Inventor.Application application)
        {
            m_interactionEvents = application.CommandManager.CreateInteractionEvents();

            //设置提示
            m_interactionEvents.StatusBarText = "Select an cylinder face.";

            //连接到相关选择事件
            m_selectEvents = m_interactionEvents.SelectEvents;

            //清除过滤器并重新定义圆柱面可选择
            m_selectEvents.ClearSelectionFilter();
            m_selectEvents.AddSelectionFilter(SelectionFilterEnum.kPartFaceCylindricalFilter);

            //单个选择使能
            m_selectEvents.Enabled             = true;
            m_selectEvents.SingleSelectEnabled = true;

            m_selectEvents.MouseMoveEnabled = false;

            //设置委托
            m_Select_OnSelect_Delegate         = new Inventor.SelectEventsSink_OnSelectEventHandler(this.m_SelectEvents_OnSelect);
            m_selectEvents.OnSelect           += m_Select_OnSelect_Delegate;
            m_interaction_OnTerminate_Delegate = new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.m_InteractionEvent_Onterminate);
            m_interactionEvents.OnTerminate   += m_interaction_OnTerminate_Delegate;

            //启动选择进程
            m_interactionEvents.Start();
        }
コード例 #4
0
        public CSimpleInteraction(Inventor.Application oApplication)
        {
            mApplication = oApplication;

            //Initialize events
            mInteractionEvents = mApplication.CommandManager.CreateInteractionEvents();
            mSelectEvents      = mInteractionEvents.SelectEvents;

            //Set event handler VB.Net Style
            mSelectEvents.OnSelect         += new Inventor.SelectEventsSink_OnSelectEventHandler(this.mSelectEvents_OnSelect);
            mInteractionEvents.OnTerminate += new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.mInteractionEvents_OnTerminate);

            //Clear filter and set new ones if needed
            mSelectEvents.ClearSelectionFilter();

            //Always Disable mouse move if not needed for performances
            mSelectEvents.MouseMoveEnabled    = false;
            mSelectEvents.Enabled             = true;
            mSelectEvents.SingleSelectEnabled = true;

            //Remember to Start/Stop the interaction event
            mInteractionEvents.Start();
        }
コード例 #5
0
        private void m_buttonDef_OnExecute(NameValueMap context)
        {
            if (m_dialog != null)
            {
                m_dialog.Focus();
                return;
            }

            m_interaction = m_inventorApplication.CommandManager.CreateInteractionEvents();
            m_interaction.StatusBarText = "Select the face to add tabs to";
            m_selects = m_interaction.SelectEvents;
            m_selects.ClearSelectionFilter();
            m_selects.AddSelectionFilter(SelectionFilterEnum.kPartFacePlanarFilter);
            //m_selects.SingleSelectEnabled = true;
            m_selects.MouseMoveEnabled = false; // recommended for performance if not used
            m_selects.Enabled          = true;  // ???
            // no idea what these event sinks are and why we need them...
            m_selects.OnSelect        += new Inventor.SelectEventsSink_OnSelectEventHandler(this.SelectEvents_OnSelect);
            m_interaction.OnTerminate += new Inventor.InteractionEventsSink_OnTerminateEventHandler(this.M_interaction_OnTerminate);



            // TODO: only do this once per document!
            // TODO: why doesn't it work at all??!?!
            m_browser_events = m_inventorApplication.ActiveDocument.BrowserPanes.BrowserPanesEvents;
            m_browser_events.OnBrowserNodeActivate  += new Inventor.BrowserPanesSink_OnBrowserNodeActivateEventHandler(this.BrowserPanesEvents_OnBrowserNodeActivate);
            m_browser_events.OnBrowserNodeLabelEdit += new Inventor.BrowserPanesSink_OnBrowserNodeLabelEditEventHandler(M_browser_events_OnBrowserNodeLabelEdit);

            m_dialog = new LaserTabForm(m_form_state);

            m_dialog.Show(new InventorMainFrame(m_inventorApplication.MainFrameHWND));
            m_dialog.FormClosed      += M_dialog_FormClosed;
            m_dialog.button_ok.Click += Button_ok_Click;

            m_interaction.Start();
        }
コード例 #6
0
 /////////////////////////////////////////////////////////////
 // Use:
 //
 /////////////////////////////////////////////////////////////
 public void Reset()
 {
     _SelectEvents.ResetSelections();
     _SelectEvents.ClearSelectionFilter();
 }