public void AxisChange() { var sketch = new Sketch(); sketch.Points.Add(0, new Pnt2d(-20, 20)); sketch.Points.Add(1, new Pnt2d(20, 20)); sketch.Points.Add(2, new Pnt2d(20, 10)); sketch.Points.Add(3, new Pnt2d(-20, 10)); sketch.Segments.Add(0, new SketchSegmentLine(0, 1)); sketch.Segments.Add(1, new SketchSegmentLine(1, 2)); sketch.Segments.Add(2, new SketchSegmentLine(2, 3)); sketch.Segments.Add(3, new SketchSegmentLine(3, 0)); var shape = Revolve.Create(Body.Create(sketch)); Assert.IsNotNull(shape); shape.Axis = Revolve.RevolveAxis.WorldX; Assert.IsTrue(shape.Make(Shape.MakeFlags.None)); AssertHelper.IsSameModel(shape, Path.Combine(_BasePath, "AxisChange")); shape.Axis = Revolve.RevolveAxis.WorldY; Assert.IsFalse(shape.Make(Shape.MakeFlags.None)); shape.Axis = Revolve.RevolveAxis.WorldX; Assert.IsTrue(shape.Make(Shape.MakeFlags.None)); AssertHelper.IsSameModel(shape, Path.Combine(_BasePath, "AxisChange")); }
public override void UpdateRealVariables() { foreach (GameObject subLine in lines) { Line lCode = subLine.GetComponent <Line>(); if (lCode.tag == "revolve") { Revolve controller = controllingObject.GetComponent <Revolve>(); controller.revolving = bool.Parse(lCode.GetSubText()); } } }
//-------------------------------------------------------------------------------------------------- void UpdateFromShape() { switch (Revolve.Axis) { case Revolve.RevolveAxis.WorldX: Frame = 0; Axis = 0; break; case Revolve.RevolveAxis.WorldY: Frame = 0; Axis = 1; break; case Revolve.RevolveAxis.WorldZ: Frame = 0; Axis = 2; break; case Revolve.RevolveAxis.LocalX: Frame = 1; Axis = 0; break; case Revolve.RevolveAxis.LocalY: Frame = 1; Axis = 1; break; case Revolve.RevolveAxis.LocalZ: Frame = 1; Axis = 2; break; } _OffsetX = Revolve.Offset.X; _OffsetY = Revolve.Offset.Y; _OffsetZ = Revolve.Offset.Z; RaisePropertyChanged(nameof(OffsetX)); RaisePropertyChanged(nameof(OffsetY)); RaisePropertyChanged(nameof(OffsetZ)); if ((_AxisHintLine == null) && (Revolve.IsVisible)) { _AxisHintLine = new HintLine(WorkspaceController, HintStyle.WorkingAxis); } if (_AxisHintLine != null) { if (!Revolve.IsVisible) { _AxisHintLine.Remove(); _AxisHintLine = null; } else { var computeAxis = Revolve.ComputeAxis(); if (computeAxis != null) { _AxisHintLine.Set(computeAxis.Value.Transformed(Revolve.GetTransformation())); } } } }
public void OpenContour() { var sketch = new Sketch(); sketch.Points.Add(0, new Pnt2d(-20, 20)); sketch.Points.Add(1, new Pnt2d(20, 20)); sketch.Points.Add(2, new Pnt2d(20, 10)); sketch.Points.Add(3, new Pnt2d(-20, 10)); sketch.Segments.Add(0, new SketchSegmentLine(0, 1)); sketch.Segments.Add(1, new SketchSegmentLine(1, 2)); sketch.Segments.Add(2, new SketchSegmentLine(2, 3)); var shape = Revolve.Create(Body.Create(sketch)); shape.Axis = Revolve.RevolveAxis.WorldX; Assert.IsFalse(shape.Make(Shape.MakeFlags.None)); }
Revolve CreateRevolve(SketchType sketchType) { var sketch = new Sketch(); var body = TestGeomGenerator.CreateBody(sketch, new Pnt(10, 0, 0), new XYZ(45, 0, 0)); sketch.Points.Add(0, new Pnt2d(0, 30)); sketch.Points.Add(1, new Pnt2d(20, 30)); sketch.Segments.Add(0, new SketchSegmentLine(0, 1)); sketch.Points.Add(2, new Pnt2d(30, 0)); sketch.Points.Add(3, new Pnt2d(30, 20)); sketch.Segments.Add(1, new SketchSegmentArc(1, 2, 3)); sketch.Points.Add(4, new Pnt2d(10, 0)); sketch.Points.Add(5, new Pnt2d(0, -20)); sketch.Segments.Add(2, new SketchSegmentBezier(2, 4, 5)); sketch.Segments.Add(3, new SketchSegmentLine(5, 0)); if (sketchType == SketchType.MultiCurve) { sketch.Points.Add(6, new Pnt2d(5, 10)); sketch.Points.Add(7, new Pnt2d(10, 0)); sketch.Points.Add(8, new Pnt2d(5, -10)); sketch.Segments.Add(4, new SketchSegmentLine(6, 7)); sketch.Segments.Add(5, new SketchSegmentLine(7, 8)); sketch.Segments.Add(6, new SketchSegmentLine(8, 6)); AssertHelper.IsSameModel2D(sketch, Path.Combine(_BasePath, "SketchMultiCurve")); } else { AssertHelper.IsSameModel2D(sketch, Path.Combine(_BasePath, "Sketch")); } return(Revolve.Create(body)); }