Пример #1
0
        public void SelectionFilterOnCreate()
        {
            var ctx = Context.Current;

            var body = TestGeomGenerator.CreateImprint().Body;

            body.Translate(new Vec(10, 10, 0));
            ctx.WorkspaceController.Selection.SelectEntity(body);
            ctx.ViewportController.ZoomFitAll();

            var tool = new CreateImprintTool(body);

            Assert.That(ctx.WorkspaceController.StartTool(tool));

            ctx.MoveTo(90, 250);
            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SelectionFilterOnCreate1"));

            ctx.MoveTo(200, 277);
            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "SelectionFilterOnCreate2"));
        }
Пример #2
0
        public void SketchPropertyPanels()
        {
            var ctx        = Context.Current;
            var propPanels = ctx.EnablePropertyPanels();

            var body = TestGeomGenerator.CreateBox().Body;

            body.Translate(new Vec(10, 10, 0));
            ctx.WorkspaceController.Selection.SelectEntity(body);
            ctx.ViewportController.ZoomFitAll();

            var tool = new CreateImprintTool(body);

            Assert.That(ctx.WorkspaceController.StartTool(tool));
            ctx.SelectAt(90, 250);
            Assert.IsInstanceOf <SketchEditorTool>(ctx.WorkspaceController.CurrentTool);

            // Body, BodyShape, Imprint, Sketch, SketchPoints, SketchSegments, SketchConstraints
            Assert.AreEqual(7, propPanels.Count);
        }
Пример #3
0
        public void ImprintReselectTargetFace()
        {
            var ctx  = Context.Current;
            var body = TestGeomGenerator.CreateBox().Body;

            body.Translate(new Vec(10, 10, 0));
            ctx.WorkspaceController.Selection.SelectEntity(body);
            ctx.ViewportController.ZoomFitAll();

            // Build imprint
            var tool = new CreateImprintTool(body);

            Assume.That(ctx.WorkspaceController.StartTool(tool));
            ctx.SelectAt(90, 250);
            var sketchTool = ctx.WorkspaceController.CurrentTool as SketchEditorTool;

            Assume.That(sketchTool != null);

            Assert.Multiple(() =>
            {
                sketchTool.StartSegmentCreation <SketchSegmentCircleCreator>();
                ctx.SelectAt(250, 250);
                ctx.SelectAt(150, 250);
                sketchTool.Stop();
                ctx.MoveTo(250, 250);
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "ReselectTargetFace1"));

                // Start reselection, then cancel it
                ctx.WorkspaceController.StartTool(new CreateImprintTool(body.Shape as Imprint));
                ctx.MoveTo(300, 250);
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "ReselectTargetFace2"));
                ctx.WorkspaceController.CancelTool(ctx.WorkspaceController.CurrentTool, true);
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "ReselectTargetFace4"));

                // Start reselection, perform
                ctx.WorkspaceController.StartTool(new CreateImprintTool(body.Shape as Imprint));
                ctx.SelectAt(300, 250);
                AssertHelper.IsSameViewport(@Path.Combine(_BasePath, "ReselectTargetFace3"));
                Assert.IsNull(ctx.WorkspaceController.CurrentTool);
            });
        }
Пример #4
0
        public void CreateImprint()
        {
            var ctx = Context.Current;

            var body = TestGeomGenerator.CreateBox().Body;

            body.Translate(new Vec(10, 10, 0));
            ctx.WorkspaceController.Selection.SelectEntity(body);
            ctx.ViewportController.ZoomFitAll();

            var tool = new CreateImprintTool(body);

            Assert.That(ctx.WorkspaceController.StartTool(tool));

            ctx.MoveTo(90, 250);
            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "Create1"));

            ctx.SelectAt(90, 250);
            AssertHelper.IsSameViewport(Path.Combine(_BasePath, "Create2"));
            Assert.That(ctx.WorkspaceController.CurrentTool, Is.TypeOf(typeof(SketchEditorTool)));
        }
Пример #5
0
        public void CreateSketchOnBoundFace()
        {
            var ctx = Context.Current;

            var box  = Box.Create(10, 20, 2);
            var body = Body.Create(box);

            body.Position = new Pnt(5, 5, 0);
            var flange = FlangeSheet.Create(body, new SubshapeReference(SubshapeType.Face, box.Guid, 2), 45);

            flange.Reverse = true;

            ctx.WorkspaceController.Selection.SelectEntity(body);
            ctx.ViewportController.ZoomFitAll();

            var createImprintTool = new CreateImprintTool(body, Imprint.ImprintMode.Cutout);

            Assert.That(ctx.WorkspaceController.StartTool(createImprintTool));
            Assert.That(createImprintTool, Is.Not.Null);

            Assert.Multiple(() =>
            {
                ctx.MoveTo(180, 180);
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "CreateSketchOnBoundFace01"), 1.0);

                ctx.SelectAt(180, 180);
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "CreateSketchOnBoundFace02"), 1.0);
                var sketchEditTool = ctx.WorkspaceController.CurrentTool as SketchEditorTool;
                Assert.That(sketchEditTool, Is.Not.Null);

                sketchEditTool.StartSegmentCreation <SketchSegmentCircleCreator>();
                ctx.ClickAt(250, 250); // Center point
                ctx.ClickAt(200, 250); // Rim point
                AssertHelper.IsSameViewport(Path.Combine(_BasePath, "CreateSketchOnBoundFace03"), 1.0);
            });
        }