public override bool Equals(object obj) { if (Object.ReferenceEquals(obj, null)) { return(false); } if (Object.ReferenceEquals(this, obj)) { return(true); } азмерCОтклонениями размер = ( азмерCОтклонениями)obj; if (номинальныйРазмер != размер.номинальныйРазмер) { return(false); } if (нижнееОтклонение != размер.нижнееОтклонение) { return(false); } if (верхнееОтклонение != размер.верхнееОтклонение) { return(false); } return(true); }
public static decimal ВычислитьРазмерСкобыПРизнош(азмерCОтклонениями размерОтверстия) { int квалитет; int номерИнтервала; ПроверитьРазмерОтверстияИНайтиКвалитетИНомерИнтервала(размерОтверстия, out квалитет, out номерИнтервала); decimal размерПробкиПРизнош = размерОтверстия.НаибольшийПредельныйРазмер() + Y1(квалитет, номерИнтервала) - Al1(квалитет, номерИнтервала); return(размерПробкиПРизнош); }
private static void ПроверитьРазмерОтверстияИНайтиКвалитетИНомерИнтервала(азмерCОтклонениями размерОтверстия, out int квалитет, out int номерИнтервала) { ПроверитьНоминальныйРазмерОтверстия(размерОтверстия.НоминальныйРазмер); квалитет = ТаблицаДопусков.НайтиБлижайшийКвалитет(размерОтверстия); ПроверитьКвалитет(квалитет); if (квалитет == 17) { квалитет = 16; } номерИнтервала = НайтиНомерИнтервала(размерОтверстия.НаименьшийПредельныйРазмер()); }
public static азмерCОтклонениями ВычислитьРазмерСкобыНЕ(азмерCОтклонениями размерОтверстия, bool округлять = true) { int квалитет; int номерИнтервала; ПроверитьРазмерОтверстияИНайтиКвалитетИНомерИнтервала(размерОтверстия, out квалитет, out номерИнтервала); decimal номинальныйРазмер = (размерОтверстия.НаименьшийПредельныйРазмер() + Al1(квалитет, номерИнтервала) - H1(квалитет, номерИнтервала) / 2); decimal нижнееОтклонение = H1(квалитет, номерИнтервала); decimal верхнееОтклонение = 0; if (округлять) { номинальныйРазмер = ОкруглитьРазмерДоПоловиныМикрометраВМеньшуюСторону(номинальныйРазмер); } return(new азмерCОтклонениями(номинальныйРазмер, нижнееОтклонение, верхнееОтклонение)); }
public static int НайтиБлижайшийКвалитет(азмерCОтклонениями размерCОтклонениями) { return(НайтиБлижайшийКвалитет(размерCОтклонениями.НоминальныйРазмер, размерCОтклонениями.Допуск())); }
public static int НайтиКвалитетТочноИлиСтроже(азмерCОтклонениями размерCОтклонениями) { return(НайтиКвалитетТочноИлиСтроже(размерCОтклонениями.НоминальныйРазмер, размерCОтклонениями.Допуск())); }