Exemple #1
0
 /// <summary>
 /// Метод для отрисовки эскиза внешнего обода в КОМПАС-3D
 /// </summary>
 /// <param name="rimsDoc">эскиз</param>
 /// <param name="BearingWidth">Ширина подшипника</param>
 /// <param name="InnerRimDiam">Диаметр внутреннего обода</param>
 /// <param name="OuterRimDiam">Диаметр внешнего обода</param>
 /// <param name="RimsThickness">Толщина подшипника</param>
 /// <param name="BallDiam">Диаметр шарика</param>
 private static void DrawOuterRim(ksDocument2D rimsDoc, double BearingWidth, double InnerRimDiam,
                                  double OuterRimDiam, double RimsThickness, double BallDiam,
                                  RollingElementForm rollingElementForm, double BearingAxis, double GutterDepth, double GutterWidth)
 {
     rimsDoc.ksLineSeg(-BearingWidth / 2, OuterRimDiam / 2, BearingWidth / 2, OuterRimDiam / 2, 1);
     rimsDoc.ksLineSeg(-BearingWidth / 2, OuterRimDiam / 2, -BearingWidth / 2, OuterRimDiam / 2 - RimsThickness, 1);
     rimsDoc.ksLineSeg(BearingWidth / 2, OuterRimDiam / 2, BearingWidth / 2, OuterRimDiam / 2 - RimsThickness, 1);
     if (rollingElementForm is RollingElementForm.Ball)
     {
         rimsDoc.ksLineSeg(-BearingWidth / 2, OuterRimDiam / 2 - RimsThickness,
                           -GutterWidth, OuterRimDiam / 2 - RimsThickness, 1);
         rimsDoc.ksLineSeg(BearingWidth / 2, OuterRimDiam / 2 - RimsThickness,
                           GutterWidth, OuterRimDiam / 2 - RimsThickness, 1);
         rimsDoc.ksArcBy3Points(-GutterWidth, OuterRimDiam / 2 - RimsThickness,
                                0, OuterRimDiam / 2 - RimsThickness + GutterDepth, GutterWidth, OuterRimDiam / 2 - RimsThickness, 1);
     }
     else
     {
         rimsDoc.ksLineSeg(-BearingWidth / 2, OuterRimDiam / 2 - RimsThickness,
                           -GutterWidth, OuterRimDiam / 2 - RimsThickness, 1);
         rimsDoc.ksLineSeg(BearingWidth / 2, OuterRimDiam / 2 - RimsThickness,
                           GutterWidth, OuterRimDiam / 2 - RimsThickness, 1);
         rimsDoc.ksLineSeg(-GutterWidth, OuterRimDiam / 2 - RimsThickness,
                           -GutterWidth, OuterRimDiam / 2 - RimsThickness + GutterDepth, 1);
         rimsDoc.ksLineSeg(GutterWidth, OuterRimDiam / 2 - RimsThickness,
                           GutterWidth, OuterRimDiam / 2 - RimsThickness + GutterDepth, 1);
         rimsDoc.ksLineSeg(-GutterWidth, OuterRimDiam / 2 - RimsThickness + GutterDepth,
                           GutterWidth, OuterRimDiam / 2 - RimsThickness + GutterDepth, 1);
     }
 }
 public void TestBearingNegativeParams(RollingElementForm rollingElementForm, double bearingWidth,
                                       double innerRimDiam, double outerRimDiam, double rimsThickness, double rollingElementDiam)
 {
     NUnit.Framework.Assert.That(() =>
     {
         new BearingParametrs(rollingElementForm, bearingWidth, innerRimDiam, outerRimDiam, rimsThickness, rollingElementDiam);
     }, Throws.TypeOf(typeof(ArgumentException)));
 }
Exemple #3
0
 /// <summary>
 /// Метод для отрисовки эскиза элемена качения в КОМПАС-3D
 /// </summary>
 /// <param name="ballDoc">эскиз</param>
 /// <param name="BearingWidth">Ширина подшипника</param>
 /// <param name="InnerRimDiam">Диаметр внутреннего обода</param>
 /// <param name="OuterRimDiam">Диаметр внешнего обода</param>
 /// <param name="RimsThickness">Толщина подшипника</param>
 /// <param name="BallDiam">Диаметр шарика</param>
 private static void DrawBalls(ksDocument2D ballDoc, double BearingWidth, double InnerRimDiam,
                               double OuterRimDiam, double RimsThickness, double BallDiam,
                               RollingElementForm rollingElementForm, double BearingAxis, double GutterDepth, double GutterWidth)
 {
     if (rollingElementForm is RollingElementForm.Ball)
     {
         ballDoc.ksArcByAngle(0, BearingAxis, BallDiam / 2, -90, 90, 1, 1);
         ballDoc.ksLineSeg(0, 0, 0, 1, 3);
     }
     else
     {
         ballDoc.ksLineSeg(-GutterWidth, BearingAxis, -GutterWidth, BearingAxis - BallDiam / 2, 1);
         ballDoc.ksLineSeg(-GutterWidth, BearingAxis - BallDiam / 2, GutterWidth,
                           BearingAxis - BallDiam / 2, 1);
         ballDoc.ksLineSeg(GutterWidth, BearingAxis - BallDiam / 2, GutterWidth, BearingAxis, 1);
         ballDoc.ksLineSeg(-GutterWidth, BearingAxis, GutterWidth, BearingAxis, 3);
     }
 }
Exemple #4
0
        /// <summary>
        /// Построение детали
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BuildBearingButton(object sender, EventArgs e)
        {
            ValidateTextFields();
            if (_errorList.Count != 0)
            {
                return;
            }
            _errorList.Clear();

            RollingElementForm rollingElementForm = RollingElementForm.Ball;

            if (RollingElementBall.Checked)
            {
                rollingElementForm = RollingElementForm.Ball;
            }
            if (RollingElementCylinder.Checked)
            {
                rollingElementForm = RollingElementForm.Cylinder;
            }

            double bearingWidth  = Convert.ToDouble(bearingWidthBox.Text);
            double innerRimDiam  = Convert.ToDouble(innerRimDiamBox.Text);
            double outerRimDiam  = Convert.ToDouble(outerRimDiamBox.Text);
            double rimsThickness = Convert.ToDouble(rimsThicknessBox.Text);
            double ballDiam      = Convert.ToDouble(rollingElementDiam.Text);

            BearingParametrs bearing = null;

            try
            {
                bearing = new BearingParametrs(rollingElementForm, bearingWidth, innerRimDiam, outerRimDiam, rimsThickness, ballDiam);
            }
            catch (ArgumentException exception)
            {
                _errorList.Add(exception.Message);
                ShowErrors();
                return;
            }
            _kompas3D.BuildBearing(bearing);
        }
Exemple #5
0
 /// <summary>
 /// Метод для отрисовки эскиза внутреннего обода в КОМПАС-3D
 /// </summary>
 /// <param name="rimsDoc">эскиз</param>
 /// <param name="BearingWidth">Ширина подшипника</param>
 /// <param name="InnerRimDiam">Диаметр внутреннего обода</param>
 /// <param name="OuterRimDiam">Диаметр внешнего обода</param>
 /// <param name="RimsThickness">Толщина подшипника</param>
 /// <param name="BallDiam">Диаметр шарика</param>
 private static void DrawInnerRim(ksDocument2D rimsDoc, double BearingWidth, double InnerRimDiam,
                                  double OuterRimDiam, double RimsThickness, double RollingElementDiam,
                                  RollingElementForm rollingElementForm, double BearingAxis, double GutterDepth, double GutterWidth)
 {
     //ось вращения
     rimsDoc.ksLineSeg(-BearingWidth / 2, 0, BearingWidth / 2, 0, 3);
     //основание
     rimsDoc.ksLineSeg(-BearingWidth / 2, InnerRimDiam / 2, BearingWidth / 2, InnerRimDiam / 2, 1);
     //левая грань
     rimsDoc.ksLineSeg(-BearingWidth / 2, InnerRimDiam / 2, -BearingWidth / 2, RimsThickness + InnerRimDiam / 2, 1);
     //правая грань
     rimsDoc.ksLineSeg(BearingWidth / 2, InnerRimDiam / 2, BearingWidth / 2, RimsThickness + InnerRimDiam / 2, 1);
     if (rollingElementForm is RollingElementForm.Ball)
     {
         //левая верхняя
         rimsDoc.ksLineSeg(-BearingWidth / 2, RimsThickness + InnerRimDiam / 2,
                           -GutterWidth, RimsThickness + InnerRimDiam / 2, 1);
         //правая верхняя
         rimsDoc.ksLineSeg(BearingWidth / 2, RimsThickness + InnerRimDiam / 2,
                           GutterWidth, RimsThickness + InnerRimDiam / 2, 1);
         // желоб
         rimsDoc.ksArcBy3Points(-GutterWidth, RimsThickness + InnerRimDiam / 2,
                                0, RimsThickness + InnerRimDiam / 2 - GutterDepth, GutterWidth, RimsThickness + InnerRimDiam / 2, 1);
     }
     else
     {
         rimsDoc.ksLineSeg(-BearingWidth / 2, RimsThickness + InnerRimDiam / 2,
                           -GutterWidth, RimsThickness + InnerRimDiam / 2, 1);
         rimsDoc.ksLineSeg(BearingWidth / 2, RimsThickness + InnerRimDiam / 2,
                           GutterWidth, RimsThickness + InnerRimDiam / 2, 1);
         rimsDoc.ksLineSeg(-GutterWidth, RimsThickness + InnerRimDiam / 2,
                           -GutterWidth, RimsThickness + InnerRimDiam / 2 - GutterDepth, 1);
         rimsDoc.ksLineSeg(GutterWidth, RimsThickness + InnerRimDiam / 2,
                           GutterWidth, RimsThickness + InnerRimDiam / 2 - GutterDepth, 1);
         rimsDoc.ksLineSeg(-GutterWidth, RimsThickness + InnerRimDiam / 2 - GutterDepth,
                           GutterWidth, RimsThickness + InnerRimDiam / 2 - GutterDepth, 1);
     }
 }
 public void TestBearingParamsRightProp(RollingElementForm rollingElementForm, double bearingWidth,
                                        double innerRimDiam, double outerRimDiam, double rimsThickness, double rollingElementDiam)
 {
     var unused = new BearingParametrs(rollingElementForm, bearingWidth, innerRimDiam, outerRimDiam, rimsThickness, rollingElementDiam);
 }