Пример #1
0
        /////////////////////////////////////////////////////////////
        // Use: OnPreSelect Handler.
        //
        /////////////////////////////////////////////////////////////
        private void SelectEvents_OnPreSelect(
            ref object PreSelectEntity,
            out bool DoHighlight,
            ref ObjectCollection MorePreSelectEntities,
            SelectionDeviceEnum SelectionDevice,
            Point ModelPosition,
            Point2d ViewPosition,
            View View)
        {
            if (_PreSelectFilters.Count != 0 &&
                !_PreSelectFilters.Contains(
                    AdnInteractionManager.GetInventorType(PreSelectEntity)))
            {
                DoHighlight = false;
                return;
            }

            DoHighlight = true;
        }
Пример #2
0
        private void OnSelect(ObjectsEnumerator JustSelectedEntities, SelectionDeviceEnum SelectionDevice, Point ModelPosition, Point2d ViewPosition, View View)
        {
            if (JustSelectedEntities.Count == 0)
            {
                return;
            }

            SurfaceGraphicsFace face = JustSelectedEntities[1] as SurfaceGraphicsFace;

            if (null != face)
            {
                mSelectedFace = face;
            }

            if (mRadius < 0.0001)
            {
                CalculateRadius();
            }
            mSelectEvents.ResetSelections();
        }
Пример #3
0
        static void SelectEvents_OnSelect(
            ObjectsEnumerator JustSelectedEntities, 
            SelectionDeviceEnum SelectionDevice, 
            Point ModelPosition, 
            Point2d ViewPosition, 
            View View)
        {
            VertexSelectEffect effect = new VertexSelectEffect(
                _clientGraphicsMng,
                ModelPosition, 
                0.01, 
                0.8);

            RenderStyles styles =
                AdnInventorUtilities.GetProperty(
                    AdnInventorUtilities.InventorApplication.ActiveDocument, 
                    "RenderStyles") as RenderStyles;

            effect.GraphicsNode.RenderStyle = styles["Glass (Limo Tint)"];

            _clientGraphicsMng.DrawDynamicGraphics(effect);
        }
Пример #4
0
        void select_OnPreSelect(ref object PreSelectEntity, out bool DoHighlight, ref ObjectCollection MorePreSelectEntities, SelectionDeviceEnum SelectionDevice, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View)
        {
            DoHighlight = true;

            //���õ������ѡ�Ķ�������ã�����ǰ�涨��Ĺ�����������֪���ö���һ����һ����
            Edge edge;
            edge = (Edge)PreSelectEntity;

            //ȷ���Ƿ�����ñ����в����ӵı�
            EdgeCollection edges;
            edges = edge.TangentiallyConnectedEdges;
            if (edges.Count > 1)
            {
                //�������������ߵĶ��󼯺�
                MorePreSelectEntities = ThisApplication.TransientObjects.CreateObjectCollection(null);

                for (int i = 1; i <= edges.Count; i++)
                {
                    MorePreSelectEntities.Add(edges[i]);
                }
            }
        }
Пример #5
0
        static void SelectEvents_OnSelect(
            ObjectsEnumerator JustSelectedEntities,
            SelectionDeviceEnum SelectionDevice,
            Point ModelPosition,
            Point2d ViewPosition,
            View View)
        {
            VertexSelectEffect effect = new VertexSelectEffect(
                _clientGraphicsMng,
                ModelPosition,
                0.01,
                0.8);

            RenderStyles styles =
                AdnInventorUtilities.GetProperty(
                    AdnInventorUtilities.InventorApplication.ActiveDocument,
                    "RenderStyles") as RenderStyles;

            effect.GraphicsNode.RenderStyle = styles["Glass (Limo Tint)"];

            _clientGraphicsMng.DrawDynamicGraphics(effect);
        }
Пример #6
0
        public override void OnSelect(ObjectsEnumerator justSelectedEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, Inventor.View view)
        {
            int nomb = justSelectedEntities.Count;

            if (nomb > 0)
            {
                object selectedEntity = justSelectedEntities[1];

                if (m_editNetForm.checkBoxChoose.Checked)
                {
                    m_selectFace = (Face)selectedEntity;

                    m_editNetForm.checkBoxChoose.Checked = false;
                }

                this.GetSelectiFeature(m_selectFace, ref m_selectiFeature);

                m_selectEvents.AddToSelectedEntities(m_selectiFeature);

                DisableInteraction();

                UpdateCommandStatus();
            }
        }
Пример #7
0
        /////////////////////////////////////////////////////////////
        // use: OnUnselect ThreadFeature Handler.
        //
        /////////////////////////////////////////////////////////////
        void SelectEvents_OnUnSelect(
            ObjectsEnumerator UnSelectedEntities,
            SelectionDeviceEnum SelectionDevice,
            Point ModelPosition,
            Point2d ViewPosition,
            Inventor.View View)
        {
            foreach (System.Object obj in UnSelectedEntities)
            {
                foreach (ListViewItem item in lvFeatures.Items)
                {
                    if (item.Tag == obj)
                    {
                        item.Remove();
                        break;
                    }
                }
            }

            if (_InteractionManager.SelectedEntities.Count == 0)
            {
                bOk.Enabled = false;
            }
        }
Пример #8
0
        public override void OnSelect(ObjectsEnumerator justSelectedEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, Inventor.View view)
        {
            int nomb = justSelectedEntities.Count;

            if (nomb > 0)
            {
                object selectedEntity = justSelectedEntities[1];

                if (m_editCavityLibrary.checkBoxFace.Checked)
                {
                    m_withThisFace = (Face)selectedEntity;

                    m_editCavityLibrary.checkBoxFace.Checked = false;

                    m_mouseFlag = true;
                }
            }

            m_selectEvents.AddToSelectedEntities(m_withThisFace);

            DisableInteraction();

            UpdateCommandStatus();
        }
Пример #9
0
        /////////////////////////////////////////////////////////////
        // Use: OnSelect ThreadFeature Handler.
        //
        /////////////////////////////////////////////////////////////
        void SelectEvents_OnSelect(
            ObjectsEnumerator JustSelectedEntities,
            SelectionDeviceEnum SelectionDevice,
            Point ModelPosition,
            Point2d ViewPosition,
            Inventor.View View)
        {
            foreach (System.Object obj in JustSelectedEntities)
            {
                PartFeature feature = obj as PartFeature;

                ThreadFeature thread = obj as ThreadFeature;

                ThreadInfo threadInfo = thread.ThreadInfo;

                Face threadedFace = thread.ThreadedFace[1];


                if (feature.Suppressed)
                {
                    continue;
                }

                if (thread.ThreadInfoType == ThreadTypeEnum.kTaperedThread &&
                    threadedFace.SurfaceType != SurfaceTypeEnum.kConeSurface)
                {
                    DialogResult res = MessageBox.Show(
                        "Threaded face surface type is not cone surface but it is applied" +
                        System.Environment.NewLine +
                        "with tapered thread. ThreadModeler cannot modelize this thread.",
                        "Invalid Surface Type",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);
                    continue;
                }

                string iMateName = string.Empty;

                if (Toolkit.HasiMate(threadedFace,
                                     out iMateName))
                {
                    DialogResult res = MessageBox.Show(
                        "Threaded face or one of its edge has" +
                        " iMate associated to it." +
                        System.Environment.NewLine +
                        "Please delete iMate " + iMateName +
                        " before modelizing this thread.",
                        "Invalid iMate",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);

                    continue;
                }

                double pitch = ThreadWorker.GetThreadPitch(threadInfo);

                string pitchStr =
                    ThreadWorker.GetThreadPitchStr(threadInfo,
                                                   (Document)_Document);

                string minStr =
                    _Document.UnitsOfMeasure.GetStringFromValue(
                        ThreadWorker.ThresholdPitchCm,
                        UnitsTypeEnum.kDefaultDisplayLengthUnits);

                if (pitch < ThreadWorker.ThresholdPitchCm)
                {
                    DialogResult res = MessageBox.Show(
                        "Selected thread pitch " +
                        "is too small (" + pitchStr + ")." +
                        System.Environment.NewLine +
                        "The minimum thread pitch that can " +
                        "be modelized is " + minStr + " .",
                        "Invalid Thread Pitch",
                        MessageBoxButtons.OK,
                        MessageBoxIcon.Error);

                    continue;
                }

                ListViewItem item =
                    lvFeatures.Items.Add(feature.Name);

                item.Tag = feature;

                item.SubItems.Add(pitchStr);

                item.SubItems.Add(ThreadWorker.GetThreadTypeStr(
                                      feature));

                item.SubItems.Add(
                    ThreadWorker.GetThreadedFaceTypeStr(
                        threadedFace));
            }

            _selecSetPopulated = (lvFeatures.Items.Count != 0);

            bOk.Enabled = ValidateOkButton();
        }
Пример #10
0
 private void selectEvts(ObjectsEnumerator JustSelectedEntities, SelectionDeviceEnum SelectionDevice, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View)
 {
     selEvts.AddToSelectedEntities(JustSelectedEntities[1]);
 }
Пример #11
0
        private void UserInputEvents_OnSelect(ObjectsEnumerator JustSelectedEntities,
                                              ref ObjectCollection MoreSelectedEntities, SelectionDeviceEnum SelectionDevice, Point ModelPosition,
                                              Point2d ViewPosition, Inventor.View View)
        {
            if (JustSelectedEntities.Count > 0)
            {
                var selectedEntity = JustSelectedEntities[1];
                selectedEntity = SelectionInfoSelector.GetSelectionInfo(selectedEntity);

                selectionPropertyGrid.SelectedObject = selectedEntity;
            }
        }
Пример #12
0
 private void OnUserInputPreSelect(ref object PreSelectEntity, out bool DoHighlight, ref ObjectCollection MorePreSelectEntities, SelectionDeviceEnum SelectionDevice, Point ModelPosition, Point2d ViewPosition, View View)
 {
     if (PreSelectEntity is SurfaceGraphicsFace)
     {
         DoHighlight = true;
     }
     else
     {
         DoHighlight = false;
     }
 }
 /// <summary>
 /// This is the Event handler for the right click menu.
 /// I'm merely adding an Esc control to the top of the context menu in order
 /// to give the user the ability to intuitively exit the command. There's a code sample in
 /// the API help that prints out all the ControlDefinitions inside Inventor. I used that to 
 /// find the aptly named "Done" command to call from the ControlDefinitions collection.
 /// </summary>
 /// <param name="SelectionDevice"></param>
 /// <param name="AdditionalInfo"></param>
 /// <param name="CommandBar"></param>
 protected virtual void UserInputEvents_OnContextMenu(SelectionDeviceEnum SelectionDevice, NameValueMap AdditionalInfo,
     CommandBar CommandBar)
 {
     ButtonDefinition _escapeControl = (ButtonDefinition)_inventorApplication.CommandManager.ControlDefinitions["Done"];
     CommandBar.Controls.AddButton(ButtonDefinition: _escapeControl);
     int lastControl = CommandBar.Controls.Count;
     CommandBar.Controls[lastControl].Delete();
 }
Пример #14
0
 //-----------------------------------------------------------------------------
 public void OnUnSelect(ObjectsEnumerator unSelectedEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, View view)
 {
     // Not implemented
 }
Пример #15
0
 /////////////////////////////////////////////////////////////
 // Use: OnUnSelect Handler.
 //
 /////////////////////////////////////////////////////////////
 void SelectEvents_OnUnSelect(
     ObjectsEnumerator UnSelectedEntities,
     SelectionDeviceEnum SelectionDevice,
     Point ModelPosition,
     Point2d ViewPosition,
     View View)
 {
     foreach (System.Object unselectedObj in
         UnSelectedEntities)
     {
         if (_SelectedEntities.Contains(unselectedObj))
         {
             _SelectedEntities.Remove(unselectedObj);
         }
     }
 }
Пример #16
0
        /////////////////////////////////////////////////////////////
        // Use: OnSelect Handler.
        //
        /////////////////////////////////////////////////////////////
        private void SelectEvents_OnSelect(
            ObjectsEnumerator JustSelectedEntities,
            SelectionDeviceEnum SelectionDevice,
            Point ModelPosition,
            Point2d ViewPosition,
            View View)
        {
            if (JustSelectedEntities.Count != 0)
            {
                System.Object selectedObj = JustSelectedEntities[1];

                _SelectedEntities.Add(selectedObj);
            }
        }
Пример #17
0
        /////////////////////////////////////////////////////////////
        // Use: OnPreSelect Handler.
        //
        /////////////////////////////////////////////////////////////
        private void SelectEvents_OnPreSelect(
            ref object PreSelectEntity,
            out bool DoHighlight,
            ref ObjectCollection MorePreSelectEntities,
            SelectionDeviceEnum SelectionDevice,
            Point ModelPosition,
            Point2d ViewPosition,
            View View)
        {
            if (_PreSelectFilters.Count != 0 &&
                !_PreSelectFilters.Contains(
                    AdnInteractionManager.GetInventorType(PreSelectEntity)))
            {
                DoHighlight = false;
                return;
            }

            DoHighlight = true;
        }
Пример #18
0
        private void UserInputEvents_OnLinearMarkingMenu(ObjectsEnumerator SelectedEntities, SelectionDeviceEnum SelectionDevice,
                                                         CommandControls LinearMenu, NameValueMap AdditionalInfo)
        {
            var control = _inventorApplication.CommandManager.ControlDefinitions["VaultFindInBrowser"];

            if (SelectedEntities.Count == 1 && SelectedEntities[1] is ComponentOccurrence)
            {
                LinearMenu.AddButton((ButtonDefinition)control);
            }
        }
Пример #19
0
        public override void OnSelect(ObjectsEnumerator justSelectedEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, Inventor.View view)
        {
            int nombSelectedEntities = justSelectedEntities.Count;

            if (nombSelectedEntities > 0)
            {
                object selectedEntity = justSelectedEntities[1];

                if (m_connectCmdDlg.checkBoxCav.Checked)
                {
                    m_thisSurface = (ExtrudeFeature )selectedEntity;
                    m_connectCmdDlg.checkBoxCav.Checked = false;

                    //获取所选IFeature的位置和直径,并显示
                    GetiFeature(m_thisSurface, ref m_thisCav);
                    if (m_thisCav != null)
                    {
                        ClearUCS();
                        ShowUCS();

                        try
                        {
                            GetiFeatureData(m_thisCav, ref m_Xposition, ref m_Yposition, ref m_Dia);        //显示位置
                            ShowLocation(m_Xposition, m_Yposition);

                            m_connectCmdDlg.groupBox3.Enabled     = true;
                            m_connectCmdDlg.checkBoxToCav.Checked = true;
                            ShowDia(m_Dia);     //显示直径
                        }
                        catch (System.Exception ex)
                        {
                            MessageBox.Show("发生错误! " + ex.ToString());
                            return;
                        }
                    }
                    else
                    {
                        MessageBox.Show("未选中元件,请重新选择!");
                        return;
                    }

                    m_connectToSurface = null;
                    EnableInteraction();
                }

                if (m_connectCmdDlg.checkBoxToCav.Checked && (selectedEntity != m_thisSurface))
                {
                    m_connectToSurface = (ExtrudeFeature)selectedEntity;
                    m_connectCmdDlg.checkBoxToCav.Checked = false;

                    GetiFeature(m_connectToSurface, ref m_connectToCav);
                    GetPortInformation(m_connectToSurface, ref m_portNumber, ref m_portIndex);
                    try
                    {
                        ResetComboBox(m_portNumber, m_portIndex);
                    }
                    catch (System.Exception ex)
                    {
                        MessageBox.Show("获取port时发生错误! " + ex.ToString());
                        return;
                    }

                    DisableInteraction();
                    m_selectEvents.Enabled = false;
                }
            }
        }
Пример #20
0
        //-----------------------------------------------------------------------------
        //------------ Implementation of SelectEvents callbacks
        //-----------------------------------------------------------------------------
        public override void OnPreSelect(object preSelectEntity, out bool doHighlight, ObjectCollection morePreSelectEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, Inventor.View view)
        {
            doHighlight = false;

            if (preSelectEntity is ExtrudeFeature)
            {
                ExtrudeFeature preSelectFeature = (ExtrudeFeature)preSelectEntity;

                if (preSelectFeature.Faces[1].SurfaceType == SurfaceTypeEnum.kCylinderSurface)
                {
                    doHighlight = true;
                }
            }
        }
Пример #21
0
 private void select(ObjectsEnumerator JustSelectedEntities, SelectionDeviceEnum SelectionDevice, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View)
 {
 }
Пример #22
0
 //******************************************************************************
 //               Implementation of Interaction Events sink method
 //******************************************************************************
 //-----------------------------------------------------------------------------
 //               Implementation of Select Events sink method
 //-----------------------------------------------------------------------------
 virtual public void OnPreSelect(object preSelectEntity, out bool doHighlight, ObjectCollection morePreSelectEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, View view)
 {
     doHighlight = false;
 }
Пример #23
0
        public override void OnPreSelect(object preSelectEntity, out bool doHighlight, ObjectCollection morePreSelectEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, Inventor.View view)
        {
            doHighlight = false;

            if (preSelectEntity is Face)
            {
                Face preSelectFace = (Face)preSelectEntity;

                if (preSelectFace.SurfaceType == SurfaceTypeEnum.kCylinderSurface)
                {
                    PartDocument oPartDoc = (PartDocument)m_inventorApplication.ActiveDocument;

                    iFeatures oiFeatures = oPartDoc.ComponentDefinition.Features.iFeatures;

                    foreach (iFeature oiFeature in oiFeatures)
                    {
                        Faces oFaces;
                        oFaces = oiFeature.Faces;
                        foreach (Face oFace in oFaces)
                        {
                            if (oFace == preSelectFace)
                            {
                                doHighlight = true;
                                break;
                            }
                        }
                    }
                }
            }
        }
Пример #24
0
        public override void OnPreSelect(object preSelectEntity, out bool doHighlight, ObjectCollection morePreSelectEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, Inventor.View view)
        {
            doHighlight = false;

            if (preSelectEntity is Face)
            {
                doHighlight = true;
            }
        }
Пример #25
0
        //////////////////////////////////////////////////////////////////////////////////////////////
        // First selection will be a planar face or workplane used as slicing plane
        // Subsequent selections will be graphic node, so we switch nodes visibility 
        //   to reverse the normal of slicing plane
        //
        //////////////////////////////////////////////////////////////////////////////////////////////
        void SelectEvents_OnSelect(
            ObjectsEnumerator JustSelectedEntities, 
            SelectionDeviceEnum SelectionDevice, 
            Point ModelPosition, 
            Point2d ViewPosition, 
            View View)
        {
            if (JustSelectedEntities[1] is GraphicsNode)
            {
                SwitchNodesVisibility();
                return;
            }

            _interactionManager.ClearSelectionFilters();

            SetModelVisibility(false);

            switch (AdnInventorUtilities.InvApplication.ActiveDocument.DocumentType)
            { 
                case DocumentTypeEnum.kAssemblyDocumentObject:

                    foreach (ComponentOccurrence occurrence in _compDef.Occurrences)
                    {
                        occurrence.Visible = false;
                    }
                    break;

                case DocumentTypeEnum.kPartDocumentObject:

                    foreach (KeyValuePair<SurfaceBody, SurfaceBody> pair in _surfaceBodies)
                    {
                        pair.Key.Visible = false;
                    }
                    break;

                default:
                    return;
            }

            Plane plane1 = AdnInventorUtilities.GetPlane(JustSelectedEntities[1]);

            _nodes1 = CreateSlicedNodes(plane1, false);

            Vector normal2 = plane1.Normal.AsVector();
            normal2.ScaleBy(-1.0);

            Plane plane2 = 
                AdnInventorUtilities.InvApplication.TransientGeometry.CreatePlane(
                    plane1.RootPoint, 
                    normal2);

            _nodes2 = CreateSlicedNodes(plane2, true);

            _clientGraphicsMng.UpdateView();
        }
Пример #26
0
        void select_OnSelect(ObjectsEnumerator JustSelectedEntities, SelectionDeviceEnum SelectionDevice, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View)
        {
            //������ѡ�ߵij���
            int i;
            double length = 0.0;
            for (i = 0; i < JustSelectedEntities.Count; i++)
            {
                //��Ϊ�Ѿ�����������Ϊѡ��ߣ����Խ����ص�ͼԪָ��ΪEdge�����ǰ�ȫ��
                Edge edge;
                edge = (Edge)JustSelectedEntities[i];

                //ȷ����ǰ�ߵij���
                double min;
                double max;
                edge.Evaluator.GetParamExtents(out min, out max);

                double singleLength;
                edge.Evaluator.GetLengthAtParam(min, max, out singleLength);

                //���㼯�������бߵij���
                length = length + singleLength;
            }

            //��ʾ�ߵij��Ⱥ�����
            txtLength.Text = string.Format("{0} cm", length);
            txtEdgeCount.Text = string.Format("{0}", JustSelectedEntities.Count);
        }
Пример #27
0
        /// <summary>
        /// Allows the user to see if they have already added a collision component in select mode.
        /// </summary>
        /// <param name="PreSelectEntity"></param>
        /// <param name="DoHighlight"></param>
        /// <param name="MorePreSelectEntities"></param>
        /// <param name="SelectionDevice"></param>
        /// <param name="ModelPosition"></param>
        /// <param name="ViewPosition"></param>
        /// <param name="View"></param>
        void selectEvents_OnPreSelect(ref object PreSelectEntity, out bool DoHighlight, ref ObjectCollection MorePreSelectEntities, SelectionDeviceEnum SelectionDevice, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View)
        {
            DoHighlight = true;

            if (PreSelectEntity is ComponentOccurrence)
            {
                ComponentOccurrence componentOccurrence = (ComponentOccurrence)PreSelectEntity;

                if (CollisionObjectsView.Nodes.Find(componentOccurrence.Name, true).Length > 0)
                {
                    CollisionObjectsView.Invoke(new Action(() =>
                    {
                        CollisionObjectsView.SelectedNode = CollisionObjectsView.Nodes.Find(componentOccurrence.Name, true)[0];
                        CollisionObjectsView.SelectedNode.EnsureVisible();
                    }));
                }
            }
        }
Пример #28
0
        //------------------------------------------------------------------------------


        //------------------Implementation of Select Events sink method-----------------
        //------------------------------------------------------------------------------
        public void SelectEvents_OnSelect(ObjectsEnumerator justSelectedEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, View view)
        {
            //not implemented
            m_parentCmd.OnSelect(justSelectedEntities, selectionDevice, modelPosition, viewPosition, view);
        }
Пример #29
0
        //////////////////////////////////////////////////////////////////////////////////////////////
        // SelectEvent lets the user pick up vertex or workpoint
        //
        //////////////////////////////////////////////////////////////////////////////////////////////
        void SelectEvents_OnSelect(ObjectsEnumerator JustSelectedEntities,
           SelectionDeviceEnum SelectionDevice,
           Point ModelPosition,
           Point2d ViewPosition,
           View View)
        {
            switch (_mode)
            {
                case ModeEnum.kPoint1:
                    {
                        _point1 = ModelPosition;
                        _mode = ModeEnum.kPoint2;
                        _interactionManager.InteractionEvents.StatusBarText = "Select dimension second point: ";
                        break;
                    }
                case ModeEnum.kPoint2:
                    {
                        _point2 = ModelPosition;

                        Vector normal = View.Camera.Eye.VectorTo(View.Camera.Target);

                        _dimData = DrawDimension(_point1, _point2, ModelPosition, normal);

                        _clientGraphicsMng.UpdateView();


                        _interactionManager.InteractionEvents.StatusBarText = "Select dimension text position: ";

                        _interactionManager.MouseEvents.MouseMoveEnabled = true;

                        _interactionManager.SelectEvents.OnSelect -=
                            new SelectEventsSink_OnSelectEventHandler(SelectEvents_OnSelect);

                        _interactionManager.MouseEvents.OnMouseDown +=
                            new MouseEventsSink_OnMouseDownEventHandler(MouseEvents_OnMouseDown);

                        _interactionManager.MouseEvents.OnMouseMove +=
                            new MouseEventsSink_OnMouseMoveEventHandler(MouseEvents_OnMouseMove);

                        _mode = ModeEnum.kDimText;

                        break;
                    }
 
                default:
                    break;
            }
        }
Пример #30
0
        //////////////////////////////////////////////////////////////////////////////////////////////
        // 
        //
        //////////////////////////////////////////////////////////////////////////////////////////////
        void SelectEvents_OnSelect(
            ObjectsEnumerator JustSelectedEntities, 
            SelectionDeviceEnum SelectionDevice, 
            Point ModelPosition, 
            Point2d ViewPosition, 
            View View)
        {
            switch (_mode)
            {
                case SelectModeEnum.kPlaneSelect:
                    {
                        _plane = AdnInventorUtilities.GetPlane(JustSelectedEntities[1]);

                        _interactionManager.MouseEvents.MouseMoveEnabled = true;

                        _interactionManager.ClearSelectionFilters();

                        _interactionManager.AddSelectionFilter(SelectionFilterEnum.kPartVertexFilter);
                        _interactionManager.AddSelectionFilter(SelectionFilterEnum.kWorkPointFilter);

                        _interactionManager.InteractionEvents.StatusBarText = "Select center: ";

                        _mode = SelectModeEnum.kCenterSelect;

                        break;
                    }
                case SelectModeEnum.kCenterSelect:
                    {
                        _center = AdnInventorUtilities.GetPoint(JustSelectedEntities[1]);

                        Circle circle = AdnInventorUtilities.InvApplication.TransientGeometry.CreateCircle(
                            _center,
                            _plane.Normal,
                            0.001);

                        _curveGraph = _clientGraphicsMng.DrawCurve(circle);

                        _curveGraph.LineWeight = 0.5;

                        _interactionManager.InteractionEvents.StatusBarText = "Select radius: ";

                        _interactionManager.MouseEvents.OnMouseMove +=
                            new MouseEventsSink_OnMouseMoveEventHandler(MouseEvents_OnMouseMove);

                        _interactionManager.SelectEvents.OnSelect -=
                           new SelectEventsSink_OnSelectEventHandler(SelectEvents_OnSelect);

                        _mode = SelectModeEnum.kRadiusSelect;

                        break;
                    }
                default:
                    break;
            }
        }
Пример #31
0
 //-----------------------------------------------------------------------------
 public void SelectEvents_OnPreSelect(ref object preSelectEntity, out bool doHighlight, ref ObjectCollection morePreSelectEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, View view)
 {
     m_parentCmd.OnPreSelect(preSelectEntity, out doHighlight, morePreSelectEntities, selectionDevice, modelPosition, viewPosition, view);
 }
Пример #32
0
 //-----------------------------------------------------------------------------
 public void SelectEvents_OnUnSelect(ObjectsEnumerator unSelectedEntities, SelectionDeviceEnum selectionDevice, Point modelPosition, Point2d viewPosition, View view)
 {
     m_parentCmd.OnUnSelect(unSelectedEntities, selectionDevice, modelPosition, viewPosition, view);
 }
Пример #33
0
 private void select(ObjectsEnumerator JustSelectedEntities, SelectionDeviceEnum SelectionDevice, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View)
 {
     insPt = ModelPosition;
     face  = (Face)JustSelectedEntities[1];
     flag  = false;
 }