コード例 #1
0
ファイル: SawingTechProcess.cs プロジェクト: airmay/CAM
        public static void ConfigureParamsView(ParamsView view)
        {
            var sawingModesView = new SawingModesView();

            view.AddMachine(CAM.MachineType.Donatoni, CAM.MachineType.ScemaLogic)
            .AddMaterial()
            .AddParam(nameof(Thickness))
            .AddIndent()
            .AddTool()
            .AddParam(nameof(Frequency))
            .AddParam(nameof(PenetrationFeed))
            .AddParam(nameof(ZSafety))
            .AddIndent()
            .AddAcadObject(message: "Выберите объекты распиловки",
                           allowedTypes: $"{AcadObjectNames.Line},{AcadObjectNames.Arc},{AcadObjectNames.Lwpolyline}",
                           afterSelect: ids => view.GetParams <SawingTechProcess>().CreateExtraObjects(ids)
                           )
            .AddIndent()
            .AddComboBox("Режимы", new[] { "Отрезок", "Кривая" }, SetSawingModes)
            .AddControl(sawingModesView, 6);

            void SetSawingModes(int index) =>
            sawingModesView.sawingModesBindingSource.DataSource = index == 0
                    ? view.GetParams <SawingTechProcess>().SawingTechProcessParams.SawingLineModes
                    : view.GetParams <SawingTechProcess>().SawingTechProcessParams.SawingCurveModes;
        }
コード例 #2
0
ファイル: SawingTechOperation.cs プロジェクト: airmay/CAM
        public static void ConfigureParamsView(ParamsView view)
        {
            var sawingModesView = new SawingModesView();

            view.BindingSource.DataSourceChanged += (s, e) => sawingModesView.sawingModesBindingSource.DataSource = view.GetParams <SawingTechOperation>().SawingModes;

            view.AddParam(nameof(IsExactlyBegin), "Начало точно")
            .AddParam(nameof(IsExactlyEnd), "Конец точно")
            .AddParam(nameof(AngleA))
            .AddParam(nameof(Departure))
            .AddIndent()
            .AddAcadObject(message: "Выберите объект",
                           allowedTypes: $"{AcadObjectNames.Line},{AcadObjectNames.Arc},{AcadObjectNames.Lwpolyline}",
                           afterSelect: ids =>
            {
                var operation            = view.GetParams <SawingTechOperation>();
                operation.ProcessingArea = null;
                var border = ((SawingTechProcess)operation.TechProcess).CreateExtraObjects(ids[0])[0];
                operation.SetFromBorder(border);
                view.ResetControls();
                sawingModesView.sawingModesBindingSource.DataSource = operation.SawingModes;
            }
                           )
            .AddText("Режимы")
            .AddControl(sawingModesView, 6);
        }