/// <summary> /// Method that reacts to the click event by the user to instantiate the rectangle. This method starts /// the ChangeProcessor which encapsulates the drawing of the rectangle into one undo/redo mechanism. /// </summary> /// <param name="button"></param> /// <param name="shiftKeys"></param> /// <param name="modelPosition"></param> /// <param name="viewPosition"></param> /// <param name="view"></param> protected void OnMouseClick_LockTheRectangle(MouseButtonEnum button, ShiftStateEnum shiftKeys, Point modelPosition, Point2d viewPosition, Inventor.View view) { try { if (button == MouseButtonEnum.kLeftMouseButton) { _mouseEvents.MouseMoveEnabled = false; if (_mouseEvents.PointInferences.Count > 0) { _inferredFinalPositionPoint = _mouseEvents.PointInferences[1]; } _finalPosition = modelPosition; _changeProcessor.Connect(); ResetRectangle(); _rectangleButton.ButtonPressed = false; } } catch (Exception e) { MessageBox.Show(e.ToString()); } }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseDown event, creates and start drawing the line graphics // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) { return; } _lineGraph = _clientGraphicsMng.DrawLine( AdnInventorUtilities.ToArray(ModelPosition), AdnInventorUtilities.ToArray(ModelPosition), null); _interactionManager.MouseEvents.MouseMoveEnabled = true; _interactionManager.MouseEvents.OnMouseDown -= new MouseEventsSink_OnMouseDownEventHandler(MouseEvents_OnMouseDown); _interactionManager.MouseEvents.OnMouseMove += new MouseEventsSink_OnMouseMoveEventHandler(MouseEvents_OnMouseMove); }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseDown Event: we create symbol in the sheet graphics by using SetGraphicsSource(sheet) // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) { return; } // Define symbol inputs: center, normal, radius Point center = ModelPosition; UnitVector normal = _Tg.CreateUnitVector(0, 0, 1); double radius = _sheet.Width / 30; // Add new symbol to the sheet graphics... _clientGraphicsMng.SetGraphicsSource(_sheet); DrawSymbol(normal, center, radius); _clientGraphicsMng.UpdateView(); _clientGraphicsMng.SetGraphicsSource( _interactionManager.InteractionEvents); _symbolNode = null; }
private void OnMouseMove(MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Point ModelPosition, Point2d ViewPosition, View View) { if (Button == MouseButtonEnum.kLeftMouseButton && mMouseDown == true && null != mSelectedFace) { mCurPos.X = ModelPosition.X; mCurPos.Y = ModelPosition.Y; mCurPos.Z = ModelPosition.Z; double[] del = { mCurPos.X - mLastPos.X, mCurPos.Y - mLastPos.Y, mCurPos.Z - mLastPos.Z }; if (Math.Abs(del[0]) > 0.0001 || Math.Abs(del[1]) > 0.0001 || Math.Abs(del[2]) > 0.0001) { int layer = -1, direction = -1, clockwise = -1; GetLayer(del, ref layer, ref direction, ref clockwise); if (null != OnPlayEvent) { OnPlayEvent(layer, direction, clockwise); } mSelectedFace = null; } mLastPos.X = mCurPos.X; mLastPos.Y = mCurPos.Y; mLastPos.Z = mCurPos.Z; } }
////////////////////////////////////////////////////////////////////////////////////////////// // // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) { return; } if (_lineStripGraph == null) { double[] front = AdnInventorUtilities.ToArray(ModelPosition); double[] back = AdnInventorUtilities.ToArray(ModelPosition); double[] combined = front.Concat(back).ToArray(); _rd = new Random(); _lineStripGraph = _clientGraphicsMng.DrawLineStrip( combined, null); _lineStripGraph.ColorBinding = ColorBindingEnum.kPerItemColors; int id = _clientGraphicsMng.WorkingGraphics.GetDataSetFreeId(); _lineStripGraph.ColorSet = _clientGraphicsMng.WorkingGraphics.GraphicsDataSets.CreateColorSet(id); _lineStripGraph.ColorSet.Add( _lineStripGraph.ColorSet.Count + 1, (byte)_rd.Next(0, 255), (byte)_rd.Next(0, 255), (byte)_rd.Next(0, 255)); _lineStripGraph.LineWeight = 5; _interactionManager.MouseEvents.MouseMoveEnabled = true; _interactionManager.MouseEvents.OnMouseMove += new MouseEventsSink_OnMouseMoveEventHandler(MouseEvents_OnMouseMove); } else { _lineStripGraph.CoordinateSet.Add( _lineStripGraph.CoordinateSet.Count + 1, ModelPosition); _lineStripGraph.ColorSet.Add( _lineStripGraph.ColorSet.Count + 1, (byte)_rd.Next(0, 255), (byte)_rd.Next(0, 255), (byte)_rd.Next(0, 255)); } }
private void OnMouseDown(MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Point ModelPosition, Point2d ViewPosition, View View) { if (Button == MouseButtonEnum.kLeftMouseButton) { mMouseDown = true; mLastPos = mInventorApp.TransientGeometry.CreatePoint(ModelPosition.X, ModelPosition.Y, ModelPosition.Z); mCurPos = mInventorApp.TransientGeometry.CreatePoint(ModelPosition.X, ModelPosition.Y, ModelPosition.Z); } }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseMove events we update end point of the graphic line with current mouse position // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseMove( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { _lineGraph.CoordinateSet[2] = ModelPosition; _clientGraphicsMng.UpdateView(); }
private void OnMouseUp(MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Point ModelPosition, Point2d ViewPosition, View View) { if (Button == MouseButtonEnum.kLeftMouseButton) { mMouseDown = false; mSelectedFace = null; mCurPos.PutPointData(new double[] { 0, 0, 0 }); mLastPos.PutPointData(new double[] { 0, 0, 0 }); mRadius = 0; } }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseMove event we update the position of our dimension lines and text // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseMove( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { Vector normal = View.Camera.Eye.VectorTo(View.Camera.Target); UpdateDimension(_dimData, ModelPosition, normal); _clientGraphicsMng.UpdateView(); }
private void mouseClick(MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button == MouseButtonEnum.kLeftMouseButton && pt1 == null) { pt = ModelPosition; pt1 = ViewPosition; pt1.X = pt.X; pt1.Y = pt.Y; interEvts.StatusBarText = "Вторая точка выноски:"; objs.Add(pt1); if (selEvts.SelectedEntities.Count != 0) { dcs = (Inventor.DrawingCurveSegment)selEvts.SelectedEntities[1]; } dc = dcs.Parent; } else if (Button == MouseButtonEnum.kLeftMouseButton && pt2 == null) { try { pt2 = ViewPosition; pt2.X = ModelPosition.X; pt2.Y = ModelPosition.Y; objs.Add(pt2); interEvts.Stop(); obj = dc.ModelGeometry; try { compOcc = ((Inventor.FaceProxy)obj).ContainingOccurrence; } catch (Exception) { try { compOcc = ((Inventor.EdgeProxy)obj).ContainingOccurrence; } catch (Exception ex1) { MessageBox.Show(ex1.ToString()); } } gInt = m_DrwDoc.ActiveSheet.CreateGeometryIntent(dc); objs.Add(gInt); ball = m_DrwDoc.ActiveSheet.Balloons.Add(objs); ball.BalloonValueSets.Add(m_AsmDoc.ComponentDefinition.Occurrences[1]); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } }
public override void OnMouseUp(MouseButtonEnum button, ShiftStateEnum shiftKeys, Point modelPosition, Point2d viewPosition, Inventor.View view) { if ((m_withThisFace != null) && m_mouseFlag == true) { m_Point = ProjectPoint(modelPosition); m_editCavityLibrary.tby.Text = (GetDistanceBtwPointandLine(m_Point, m_UCS.XAxis) * 10.0).ToString("F2"); m_editCavityLibrary.tbx.Text = (GetDistanceBtwPointandLine(m_Point, m_UCS.YAxis) * 10.0).ToString("F2"); UpdateCommandStatus(); m_mouseFlag = false; m_editCavityLibrary.btninsertsure.Enabled = true; m_selectEvents.Enabled = false; } }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseMove event we update the 3rd vertex of our triangle graphics with current position // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseMove( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { //Retrieve coordinates and update the 3rd vextex of our graphics triangle _triangleGraph.CoordinateSet[3] = ModelPosition; //Update active view to see result _interactionEvents.InteractionGraphics.UpdateOverlayGraphics( AdnInventorUtilities.InvApplication.ActiveView); }
/// <summary> /// This method reacts to the Mouse Move event and calls a method to reposition the points that make /// up the rectangle and also subscribes to the mouse click event for when the rectangle is to be /// instantiated by the user. /// </summary> /// <param name="button"></param> /// <param name="shiftKeys"></param> /// <param name="modelPosition"></param> /// <param name="viewPosition"></param> /// <param name="view"></param> protected void OnMouseMove_DragCornerOfRectangle(MouseButtonEnum button, ShiftStateEnum shiftKeys, Point modelPosition, Point2d viewPosition, Inventor.View view) { AdjustRectanglePosition(modelPosition); if (_onMouseClick_Delegate == null) { _onMouseClick_Delegate = new MouseEventsSink_OnMouseClickEventHandler(OnMouseClick_LockTheRectangle); _mouseEvents.OnMouseClick += _onMouseClick_Delegate; _userInputEvents_OnContextMenuDelegate += new UserInputEventsSink_OnContextMenuEventHandler(UserInputEvents_OnContextMenu); _userInputEvents.OnContextMenu += _userInputEvents_OnContextMenuDelegate; } }
////////////////////////////////////////////////////////////////////////////////////////////// // // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseMove( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { Matrix transfo = _compGraph.Parent.Transformation; Vector Tx = AdnInventorUtilities.InvApplication.TransientGeometry.CreateVector( ModelPosition.X, ModelPosition.Y, ModelPosition.Z); transfo.SetTranslation(Tx, false); _compGraph.Parent.Transformation = transfo; _clientGraphicsMng.UpdateView(); }
public override void OnMouseUp(MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Point ModelPosition, Point2d ViewPosition, View View) { SelectSet oSelectSet; oSelectSet = m_inventorApplication.ActiveDocument.SelectSet; if ((oSelectSet.Count == 1) && (oSelectSet[1].Type == (int)ObjectTypeEnum.kWorkPointObject)) { FixedWorkPointDef oWPDef; oWPDef = m_workPoint.Definition; Inventor.Point oProjectedPoint; this.ProjectPoint(ModelPosition, oWPDef.Point, out oProjectedPoint); //Reposition the fixed work point oWPDef.Point = oProjectedPoint; m_inventorApplication.ActiveDocument.Update(); m_interactionEvents.Stop(); } }
private void mouseClick(MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button == MouseButtonEnum.kLeftMouseButton) { if (pt1 == null) { //m_View = (DrawingView)View; pt = ModelPosition; pt1 = ViewPosition; pt1.X = pt.X; pt1.Y = pt.Y; interEvts.StatusBarText = "Вторая точка разрыва:"; } else { pt = ModelPosition; pt2 = ViewPosition; pt2.X = pt.X; pt2.Y = pt.Y; interEvts.Stop(); try { if (horizont) { oBreak = m_View.BreakOperations.Add(BreakOrientationEnum.kHorizontalBreakOrientation, pt1, pt2, BreakStyleEnum.kRectangularBreakStyle, num, gap, 1, false); } else { oBreak = m_View.BreakOperations.Add(BreakOrientationEnum.kVerticalBreakOrientation, pt1, pt2, BreakStyleEnum.kRectangularBreakStyle, num, gap, 1, false); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); mouseEvts.OnMouseClick -= new MouseEventsSink_OnMouseClickEventHandler(mouseClick); } } } }
public override void OnDrag(DragStateEnum DragState, ShiftStateEnum ShiftKeys, Point ModelPosition, Point2d ViewPosition, View View, NameValueMap AdditionalInfo, out HandlingCodeEnum HandlingCode) { SelectSet oSelectSet; oSelectSet = m_inventorApplication.ActiveDocument.SelectSet; if (DragState == DragStateEnum.kDragStateDragHandlerSelection) { if (oSelectSet.Count == 1 && oSelectSet[1].Type == (int)ObjectTypeEnum.kWorkPointObject) { m_workPoint = oSelectSet[1]; if (m_workPoint.DefinitionType == WorkPointDefinitionEnum.kFixedWorkPoint) { HandlingCode = HandlingCodeEnum.kEventCanceled; this.StartInteraction(); m_interactionEvents.MouseEvents.MouseMoveEnabled = true; m_interactionGrapgics = m_interactionEvents.InteractionGraphics; m_interactionEvents.SetCursor(CursorTypeEnum.kCursorBuiltInCommonSketchDrag); m_interactionEvents.Start(); } else { base.OnDrag(DragState, ShiftKeys, ModelPosition, ViewPosition, View, AdditionalInfo, out HandlingCode); } } else { base.OnDrag(DragState, ShiftKeys, ModelPosition, ViewPosition, View, AdditionalInfo, out HandlingCode); } } else { base.OnDrag(DragState, ShiftKeys, ModelPosition, ViewPosition, View, AdditionalInfo, out HandlingCode); } }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseDown event we create the client feature that holds the dimension graphics // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) { return; } Vector normal = View.Camera.Eye.VectorTo(View.Camera.Target); CreateClientFeature( _dimData.Point1, _dimData.Point2, ModelPosition, normal); _interactionManager.Terminate(); }
////////////////////////////////////////////////////////////////////////////////////////////// // // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) { return; } InsertAsSurfaceGraphics(_compGraph.Parent.Transformation); _clientGraphicsMng.SetGraphicsSource( _interactionManager.InteractionEvents); ComponentDefinition compDef = AdnInventorUtilities.GetCompDefinition(_componentDocument); _compGraph = _clientGraphicsMng.DrawComponent(compDef); }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseMove Event is used to transform current GraphicsNode moved by the user // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseMove( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (_symbolNode == null) { // Define symbol inputs: center, normal, radius Point center = _Tg.CreatePoint(0, 0, 0); UnitVector normal = _Tg.CreateUnitVector(0, 0, 1); double radius = _sheet.Width / 30; _symbolNode = DrawSymbol(normal, center, radius); } SetNodePosition(_symbolNode, ModelPosition); _clientGraphicsMng.UpdateView(); }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseDown event, creates and start drawing the line graphics // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) return; _lineGraph = _clientGraphicsMng.DrawLine( AdnInventorUtilities.ToArray(ModelPosition), AdnInventorUtilities.ToArray(ModelPosition), null); _interactionManager.MouseEvents.MouseMoveEnabled = true; _interactionManager.MouseEvents.OnMouseDown -= new MouseEventsSink_OnMouseDownEventHandler(MouseEvents_OnMouseDown); _interactionManager.MouseEvents.OnMouseMove += new MouseEventsSink_OnMouseMoveEventHandler(MouseEvents_OnMouseMove); }
////////////////////////////////////////////////////////////////////////////////////////////// // // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseMove( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { Point point = AdnInventorUtilities.ProjectOnPlane(ModelPosition, _plane); double radius = _center.DistanceTo( AdnInventorUtilities.ProjectOnPlane( ModelPosition, _plane)); Circle circle = AdnInventorUtilities.InvApplication.TransientGeometry.CreateCircle( _center, _plane.Normal, radius); _curveGraph.Curve = circle; _clientGraphicsMng.UpdateView(); }
/// <summary> /// When the user clicks on a point in the model, this method runs and creates an interaction graphics rectangle. /// It also subscribes to the Mouse Move event to allow for the size of the rectangle to be driven by the location /// of the mouse on the sketch. Ultimately, this method waits for the next click event, in which case it calls a /// new method to actually create the sketched rectangle. It has separate paths to react to whether it's a part /// sketch or a drawing sketch. /// </summary> /// <param name="button"></param> /// <param name="shiftKeys"></param> /// <param name="modelPosition"></param> /// <param name="viewPosition"></param> /// <param name="view"></param> protected void OnMouseClick_CreateRectangle(MouseButtonEnum button, ShiftStateEnum shiftKeys, Point modelPosition, Point2d viewPosition, Inventor.View view) { try { if (button == MouseButtonEnum.kLeftMouseButton) { _onMouseMove_Delegate = new MouseEventsSink_OnMouseMoveEventHandler(OnMouseMove_DragCornerOfRectangle); _mouseEvents.OnMouseClick -= _onMouseClick_Delegate; _onMouseClick_Delegate = null; _userInputEvents.OnContextMenu -= _userInputEvents_OnContextMenuDelegate; _userInputEvents_OnContextMenuDelegate = null; if (_inventorApplication.ActiveEditObject is PlanarSketch) { _planarSketch = (PlanarSketch)_inventorApplication.ActiveEditObject; if (_mouseEvents.PointInferences.Count > 0) { _inferredOriginPoint = _mouseEvents.PointInferences[1]; switch (_inferredOriginPoint.InferenceType) { case PointInferenceEnum.kPtAtIntersection: _firstSelectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[1]; _firstInferredIntersectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[2]; break; case PointInferenceEnum.kPtOnCurve: _firstSelectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[1]; break; case PointInferenceEnum.kPtOnPt: _firstSelectedSketchEntity = (SketchPoint)_inferredOriginPoint.Entity[1]; _pickedSketchPoint = (SketchPoint)_firstSelectedSketchEntity; _rectangleOriginSketchPoint = _pickedSketchPoint; break; case PointInferenceEnum.kPtAtMidPoint: _firstSelectedSketchEntity = (SketchLine)_inferredOriginPoint.Entity[1]; break; } } _pickedPoint2d = _planarSketch.ModelToSketchSpace(modelPosition); DrawInteractionRectangle(); _mouseEvents.OnMouseMove += _onMouseMove_Delegate; _mouseEvents.MouseMoveEnabled = true; } else if (_inventorApplication.ActiveEditObject is DrawingSketch) { _drawingSketch = (DrawingSketch)_inventorApplication.ActiveEditObject; if (_mouseEvents.PointInferences.Count > 0) { _inferredOriginPoint = _mouseEvents.PointInferences[1]; switch (_inferredOriginPoint.InferenceType) { case PointInferenceEnum.kPtAtIntersection: _firstSelectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[1]; _firstInferredIntersectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[2]; break; case PointInferenceEnum.kPtOnCurve: _firstSelectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[1]; break; case PointInferenceEnum.kPtOnPt: _firstSelectedSketchEntity = (SketchPoint)_inferredOriginPoint.Entity[1]; _pickedSketchPoint = (SketchPoint)_firstSelectedSketchEntity; _rectangleOriginSketchPoint = _pickedSketchPoint; break; case PointInferenceEnum.kPtAtMidPoint: _firstSelectedSketchEntity = (SketchLine)_inferredOriginPoint.Entity[1]; break; } } PointToPoint2d(modelPosition, out _pickedPoint2d); DrawInteractionRectangle(); _mouseEvents.OnMouseMove += _onMouseMove_Delegate; _mouseEvents.MouseMoveEnabled = true; } else { MessageBox.Show("You must be editing a sketch in order to use this tool."); } } } catch (Exception e) { MessageBox.Show(e.ToString()); } }
////////////////////////////////////////////////////////////////////////////////////////////// // // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) return; if (_lineStripGraph == null) { double[] front = AdnInventorUtilities.ToArray(ModelPosition); double[] back = AdnInventorUtilities.ToArray(ModelPosition); double[] combined = front.Concat(back).ToArray(); _rd = new Random(); _lineStripGraph = _clientGraphicsMng.DrawLineStrip( combined, null); _lineStripGraph.ColorBinding = ColorBindingEnum.kPerItemColors; int id = _clientGraphicsMng.WorkingGraphics.GetDataSetFreeId(); _lineStripGraph.ColorSet = _clientGraphicsMng.WorkingGraphics.GraphicsDataSets.CreateColorSet(id); _lineStripGraph.ColorSet.Add( _lineStripGraph.ColorSet.Count + 1, (byte)_rd.Next(0, 255), (byte)_rd.Next(0, 255), (byte)_rd.Next(0, 255)); _lineStripGraph.LineWeight = 5; _interactionManager.MouseEvents.MouseMoveEnabled = true; _interactionManager.MouseEvents.OnMouseMove += new MouseEventsSink_OnMouseMoveEventHandler(MouseEvents_OnMouseMove); } else { _lineStripGraph.CoordinateSet.Add( _lineStripGraph.CoordinateSet.Count + 1, ModelPosition); _lineStripGraph.ColorSet.Add( _lineStripGraph.ColorSet.Count + 1, (byte)_rd.Next(0, 255), (byte)_rd.Next(0, 255), (byte)_rd.Next(0, 255)); } }
////////////////////////////////////////////////////////////////////////////////////////////// // // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseMove( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { int count = _lineStripGraph.CoordinateSet.Count; _lineStripGraph.CoordinateSet[count] = ModelPosition; _clientGraphicsMng.UpdateView(); }
//----------------------------------------------------------------------------- public void MouseEvents_OnMouseLeave(MouseButtonEnum button, ShiftStateEnum shiftKeys, View view) { m_parentCmd.OnMouseLeave(button, shiftKeys, view); }
////////////////////////////////////////////////////////////////////////////////////////////// // // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) return; InsertAsSurfaceGraphics(_compGraph.Parent.Transformation); _clientGraphicsMng.SetGraphicsSource( _interactionManager.InteractionEvents); ComponentDefinition compDef = AdnInventorUtilities.GetCompDefinition(_componentDocument); _compGraph = _clientGraphicsMng.DrawComponent(compDef); }
//****************************************************************************** // Implementation of UserInput Events sink method //****************************************************************************** virtual public void OnDrag(DragStateEnum DragState, ShiftStateEnum ShiftKeys, Point ModelPosition, Point2d ViewPosition, View View, NameValueMap AdditionalInfo, out HandlingCodeEnum HandlingCode) { //not implementation HandlingCode = HandlingCodeEnum.kEventNotHandled; }
//----------------------------------------------------------------------------- virtual public void OnStartMove(TriadSegmentEnum selectedTriadSegment, ShiftStateEnum shiftKeys, Matrix coordinateSystem, NameValueMap context, out HandlingCodeEnum handlingCode) { // Not implemented handlingCode = HandlingCodeEnum.kEventNotHandled; }
private void mouseMove(MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { }
/// <summary> /// When the user clicks on a point in the model, this method runs and creates an interaction graphics rectangle. /// It also subscribes to the Mouse Move event to allow for the size of the rectangle to be driven by the location /// of the mouse on the sketch. Ultimately, this method waits for the next click event, in which case it calls a /// new method to actually create the sketched rectangle. It has separate paths to react to whether it's a part /// sketch or a drawing sketch. /// </summary> /// <param name="button"></param> /// <param name="shiftKeys"></param> /// <param name="modelPosition"></param> /// <param name="viewPosition"></param> /// <param name="view"></param> protected void OnMouseClick_CreateRectangle(MouseButtonEnum button, ShiftStateEnum shiftKeys, Point modelPosition, Point2d viewPosition, Inventor.View view) { try { if (button == MouseButtonEnum.kLeftMouseButton) { _onMouseMove_Delegate = new MouseEventsSink_OnMouseMoveEventHandler(OnMouseMove_DragCornerOfRectangle); _mouseEvents.OnMouseClick -= _onMouseClick_Delegate; _onMouseClick_Delegate = null; _userInputEvents.OnContextMenu -= _userInputEvents_OnContextMenuDelegate; _userInputEvents_OnContextMenuDelegate = null; if (_inventorApplication.ActiveEditObject is PlanarSketch) { _planarSketch = (PlanarSketch)_inventorApplication.ActiveEditObject; if (_mouseEvents.PointInferences.Count > 0) { _inferredOriginPoint = _mouseEvents.PointInferences[1]; switch (_inferredOriginPoint.InferenceType) { case PointInferenceEnum.kPtAtIntersection: _firstSelectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[1]; _firstInferredIntersectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[2]; break; case PointInferenceEnum.kPtOnCurve: _firstSelectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[1]; break; case PointInferenceEnum.kPtOnPt: _firstSelectedSketchEntity = (SketchPoint)_inferredOriginPoint.Entity[1]; _pickedSketchPoint = (SketchPoint)_firstSelectedSketchEntity; _rectangleOriginSketchPoint = _pickedSketchPoint; break; case PointInferenceEnum.kPtAtMidPoint: _firstSelectedSketchEntity = (SketchLine)_inferredOriginPoint.Entity[1]; break; } } _pickedPoint2d = _planarSketch.ModelToSketchSpace(modelPosition); DrawInteractionRectangle(); _mouseEvents.OnMouseMove += _onMouseMove_Delegate; _mouseEvents.MouseMoveEnabled = true; } else if (_inventorApplication.ActiveEditObject is DrawingSketch) { _drawingSketch = (DrawingSketch)_inventorApplication.ActiveEditObject; if (_mouseEvents.PointInferences.Count > 0) { _inferredOriginPoint = _mouseEvents.PointInferences[1]; switch (_inferredOriginPoint.InferenceType) { case PointInferenceEnum.kPtAtIntersection: _firstSelectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[1]; _firstInferredIntersectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[2]; break; case PointInferenceEnum.kPtOnCurve: _firstSelectedSketchEntity = (SketchEntity)_inferredOriginPoint.Entity[1]; break; case PointInferenceEnum.kPtOnPt: _firstSelectedSketchEntity = (SketchPoint)_inferredOriginPoint.Entity[1]; _pickedSketchPoint = (SketchPoint)_firstSelectedSketchEntity; _rectangleOriginSketchPoint = _pickedSketchPoint; break; case PointInferenceEnum.kPtAtMidPoint: _firstSelectedSketchEntity = (SketchLine)_inferredOriginPoint.Entity[1]; break; } } PointToPoint2d(modelPosition, out _pickedPoint2d); DrawInteractionRectangle(); _mouseEvents.OnMouseMove += _onMouseMove_Delegate; _mouseEvents.MouseMoveEnabled = true; } else MessageBox.Show("You must be editing a sketch in order to use this tool."); } } catch (Exception e) { MessageBox.Show(e.ToString()); } }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseDown Event: we create symbol in the sheet graphics by using SetGraphicsSource(sheet) // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) return; // Define symbol inputs: center, normal, radius Point center = ModelPosition; UnitVector normal = _Tg.CreateUnitVector(0, 0, 1); double radius = _sheet.Width / 30; // Add new symbol to the sheet graphics... _clientGraphicsMng.SetGraphicsSource(_sheet); DrawSymbol(normal, center, radius); _clientGraphicsMng.UpdateView(); _clientGraphicsMng.SetGraphicsSource( _interactionManager.InteractionEvents); _symbolNode = null; }
public override void OnMouseUp(MouseButtonEnum button, ShiftStateEnum shiftKeys, Point modelPosition, Point2d viewPosition, Inventor.View view) { AddInformation(); }
//----------------------------------------------------------------------------- virtual public void OnMouseMove(MouseButtonEnum button, ShiftStateEnum shiftKeys, Point modelPosition, Point2d viewPosition, View view) { // Not implemented }
//----------------------------------------------------------------------------- public void TriadEvents_OnStartMove(TriadSegmentEnum selectedTriadSegment, ShiftStateEnum shiftKeys, Matrix coordinateSystem, NameValueMap context, out HandlingCodeEnum handlingCode) { m_parentCmd.OnStartMove(selectedTriadSegment, shiftKeys, coordinateSystem, context, out handlingCode); }
//----------------------------------------------------------------------------- virtual public void OnMouseLeave(MouseButtonEnum button, ShiftStateEnum shiftKeys, View view) { // Not implemented }
////////////////////////////////////////////////////////////////////////////////////////////// // OnMouseDown event we create the client feature that holds the dimension graphics // ////////////////////////////////////////////////////////////////////////////////////////////// void MouseEvents_OnMouseDown( MouseButtonEnum Button, ShiftStateEnum ShiftKeys, Inventor.Point ModelPosition, Point2d ViewPosition, Inventor.View View) { if (Button != MouseButtonEnum.kLeftMouseButton) return; Vector normal = View.Camera.Eye.VectorTo(View.Camera.Target); CreateClientFeature( _dimData.Point1, _dimData.Point2, ModelPosition, normal); _interactionManager.Terminate(); }