예제 #1
0
        private void CreateBends_Click(object sender, EventArgs e)
        {
            CreateBends.Enabled = false;
            CreateBoxWithCustomRadius.Enabled = false;

            if (bentPlate != null)
            {
                bentPlate.Delete();
                bentPlate = null;
            }

            if (bottomPlate != null && sidePlate1 != null && sidePlate2 != null && sidePlate3 != null && sidePlate4 != null)
            {
                var bottomFacesEnum = bottomPlate.GetSolid().GetFaceEnumerator();
                while (bottomFacesEnum.MoveNext())
                {
                    if (bottomFacesEnum.Current.Normal.Y > 0)
                    {
                        var plateBottomFace = GetPlateBottomFace(sidePlate2.GetSolid().GetFaceEnumerator());
                        CreateBend(bottomPlate, bottomFacesEnum.Current, sidePlate2, plateBottomFace);
                    }
                    else if (bottomFacesEnum.Current.Normal.Y < 0)
                    {
                        var plateBottomFace = GetPlateBottomFace(sidePlate4.GetSolid().GetFaceEnumerator());
                        CreateBend(bottomPlate, bottomFacesEnum.Current, sidePlate4, plateBottomFace);
                    }
                    if (bottomFacesEnum.Current.Normal.X > 0)
                    {
                        var plateBottomFace = GetPlateBottomFace(sidePlate3.GetSolid().GetFaceEnumerator());
                        CreateBend(bottomPlate, bottomFacesEnum.Current, sidePlate3, plateBottomFace);
                    }
                    else if (bottomFacesEnum.Current.Normal.X < 0)
                    {
                        var plateBottomFace = GetPlateBottomFace(sidePlate1.GetSolid().GetFaceEnumerator());
                        CreateBend(bottomPlate, bottomFacesEnum.Current, sidePlate1, plateBottomFace);
                    }
                }

                model.CommitChanges();
            }
        }