Перейти к публикации

Округление массы


Konstruktor77

Рекомендованные сообщения

Здравствуйте, подскажите пожайлуста, как организовать округление массы изделия по следующему алгоритму:

1. для изделий с массой менее 100 кг - округлять массу в большую сторону до целого значения (например, если получается 86,23 кг, то масса принимается 87 кг);

2. для изделий с массой от 100 кг до 1000 кг - округлять массу в большую сторону до значения, кратного 5 (например, если получается 241,72 кг, то масса принимается 245 кг);

3. для изделий с массой более 1000 кг - округлять массу в большую сторону до значения, кратного 10 (например, если получается 1332,17 кг, то масса принимается 1340 кг).

Ссылка на сообщение
Поделиться на других сайтах


Пример уравнения ( в модели):

IF PRO_MP_MASS<100

MASS=ceil(PRO_MP_MASS)

ENDIF

IF PRO_MP_MASS>=100 & PRO_MP_MASS<1000

MASS=5*ceil(PRO_MP_MASS/5)

ENDIF

IF PRO_MP_MASS>=1000

MASS=10*ceil(PRO_MP_MASS/10)

ENDIF

Если это нужно для чертежа, то лучше и правильнее эти условия написать в уравнениях региона основной надписи (естественно параметры будут немножко другие).

IF mdl_generic_PRO_MP_MASS<100

MASS=ceil(mdl_generic_PRO_MP_MASS)

ENDIF

IF mdl_generic_PRO_MP_MASS>=100 & mdl_generic_PRO_MP_MASS<1000

MASS=5*ceil(mdl_generic_PRO_MP_MASS/5)

ENDIF

IF mdl_generic_PRO_MP_MASS>=1000

MASS=10*ceil(mdl_generic_PRO_MP_MASS/10)

ENDIF

Ссылка на сообщение
Поделиться на других сайтах
  • 1 год спустя...

Делюсь своими уравнениями округления массы, вдруг кому пригодиться, или есть замечания.

Пользуюсь для отчётов в чертежах.

По умолчанию настройка отображения трех знаков после запятой "default_dec_places 3"

Что делают уравнения. Округляют значение по принципу выявления целой и дробной части и записи их в определённый формат, отличается тем что после запятой остаётся только необходимое количество символов.

Условия

Если значение меньше 1 то записать так как есть.

Например mdl_param_value = 0,089 тогда MASS = 0,089

Если значение больше или равно 1 но меньше 10 округляем до двух знаков после запятой.

Например mdl_param_value = 11,192 тогда MASS = 11,19.

Выявляем дробную часть:

Z100=11,192-floor(11,192)=0,192

Далее идёт проверка на значение дробной части:

Если дробная часть < 0,05 то MASSA будет равна только целой части, дробная часть слишком мала.

Если дробная часть => 0,05 но <= 0,1 то MASSA будет равна целая часть + 1

Если дробная часть > 0,1 то MASSA будет равна целая часть + дробная часть * 100

Если дробная часть = 0 (Значение изначально целочисленное) то MASSA будет равна целой части

Если значение больше или равно 10 но меньше 100 округляем до одного знака после запятой.

Если значение больше или равно 100 округляем до целого.

Сами уравнения:

/* Округление массы

IF mdl_param_value<1

MASSA=mdl_param_value

ENDIF



IF 1<=mdl_param_value & mdl_param_value<10

Z100=mdl_param_value-floor(mdl_param_value)

IF Z100 < 0.05

MASSA=itos(mdl_param_value)

ENDIF

IF 0.05 <= Z100 & Z100 <= 0.1

MASSA=itos(floor(mdl_param_value))+","+"1"

ENDIF

IF Z100 > 0.1

MASSA=itos(floor(mdl_param_value))+","+itos(z100*100)

ENDIF

IF Z100 == 0

MASSA=itos(mdl_param_value)

ENDIF

ENDIF



IF 10<=mdl_param_value & mdl_param_value<100

Z10=mdl_param_value-floor(mdl_param_value)

IF Z10 < 0.05

MASSA=itos(mdl_param_value)

ENDIF

IF 0.05 <= Z10 & Z10 <= 0.1

MASSA=itos(floor(mdl_param_value))+","+"1"

ENDIF

IF Z10 > 0.1

MASSA=itos(floor(mdl_param_value))+","+itos(z10*10)

ENDIF

IF Z10 == 0

MASSA=itos(mdl_param_value)

ENDIF

ENDIF



IF 100<=mdl_param_value

MASSA=itos(mdl_param_value)

ENDIF
Ссылка на сообщение
Поделиться на других сайтах

А как у вас масса в граммах реализована в этих уравнениях?

Округления до 1 знака в принципе достаточно. Что-то у вас очень много уравнений.

У меня так:

IF MDL_GENERIC_PRO_MP_MASS > 1

МАССА=MDL_GENERIC_PRO_MP_MASS

GR=""

ENDIF

IF MDL_GENERIC_PRO_MP_MASS < 0.1

МАССА=MDL_GENERIC_PRO_MP_MASS*1000

GR=" г"

ENDIF

IF MDL_GENERIC_PRO_MP_MASS == 0

МАССА=MDL_GENERIC_PRO_MP_MASS

GR="Пересчитай массу"

ENDIF

IF (MDL_GENERIC_PRO_MP_MASS >= 0.1) & (MDL_GENERIC_PRO_MP_MASS < 1)

МАССА=MDL_GENERIC_PRO_MP_MASS

IF (MDL_GENERIC_PRO_MP_MASS*10-FLOOR(MDL_GENERIC_PRO_MP_MASS*10))>=0.5

МАССА=MDL_GENERIC_PRO_MP_MASS-0.1

ENDIF

GR=ITOS(MDL_GENERIC_PRO_MP_MASS*100)

GR=EXTRACT(GR,2,1)

ENDIF

Ссылка на сообщение
Поделиться на других сайтах
  • 10 лет спустя...

Добрый день. Подскажите, как в Creo в чертеже изменить единицы измерения массы. В моделе в кг, а в чертеже высвечиваются в г.

Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, Jenny сказал:

Что это значит?)

ничего запрещённого

Ссылка на сообщение
Поделиться на других сайтах
2 hours ago, maxx2000 said:

ничего запрещённого

Ох сразу отлегло) 

Так по вопросу получается ответа не увидела) 

Ссылка на сообщение
Поделиться на других сайтах

не знаешь что такое форматка в Крео?  Шаблон оформления документа

Ссылка на сообщение
Поделиться на других сайтах
23 hours ago, maxx2000 said:

не знаешь что такое форматка в Крео?  Шаблон оформления документа

Я поняла. Но не понимаю при чем тут шаблон оформления документа. Обычный чертеж для ескд. Все табличные данные заполнены. Но стандартно идет обозначение в кг. В общем уже разобралась с уравнениями в чертеже.

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • mr_Voden
      @radii Пробуй.   post_29.05.24_13.42.rar
    • Killerchik
      Скорее догадки исходя из моих знаний о возможностях Фанука и примеров реализации функции поджима на различных станках. В этом разделе бал тема с разбором программ поджима, где-то в течении последнего года.
    • Stanislav
      Мне просто это выслали на отъеби... для просчета цены. Когда я поинтересовался нужны ли им действительно такие радиусы в углах 0,4мм сказали нет. Когда запросил чертеж с указанием шероховатостей и допусков, разговор был окончен. Ну бросили на шару модель, типа ,скажите за сколько сделаете вдруг за 50 000р сделаете, а если говно получиться то мы скажем что нас не устраивает.     Так как я пишу проги в основном для машиностроения, а там все круглое и квадратное, криволинейных поверхностей нет, то я решил потренироваться. И как я выше уже писал в NX не так то просто изменить радиусы скругления в модели (например на 0,5) на литейных формах, не так просто все удалить и нанести новые. Короче проще попросить конструктора на исходной модели поправить и выслать заново STEP.   Стенки там реально вертикальные в модели. Ну может их устроит, я не литейщик, может пластмассовая деталь вынется после охлаждения. А если они были бы с наклоном то радиусной фрезой катать их пришлось бы ЗЕТЛЕВОЛОМ или по УПРАВЛЯЮЩИМ ПОВЕРХНОСТЯМ.  В общем по времени стоЯть эта деталь на станке будет не мало, соответственно и стОить.    Эрозия есть, только без ЧПУ.  Стоит кокой-то    зеленый уродец. 
    • Srgwell
      Нет, там майн,майн по умолчанию стоит
    • Leon
      @Srgwell Метод запускаемый проверьте.
    • Srgwell
      Такое дело. Я не почувствовал новые изменения по одной причине. Самая последняя версия, которая запускалась это 4.4.1. Все последующие при запуске не реагируют ни как. Тут даже до создания ini не доходило. Судя по количеству байтов менялся только Коперник.swp. Естественно лишние старые файлы перед запуском удалял. Ну может у других все хорошо. Или они просто не пробуют другие версии. SW 2023 sp3.0
    • Александр1979
      https://m.youtube.com/watch?v=YJFnfXLcSEY
    • HornedOwl
      И я этим вопросом задавался... но как я  понял, гравитацией заливаем только в стакан, а дальше якобы работает поршень Повторюсь: я могу ошибаться, не сам эту методу придумал...
    • ART
      Какое отношение имеет гравитация к литью под давлением.
    • HornedOwl
      Если бы я сам знал... не спрашивал.   Я немного по-другому делаю анализ: У меня деталь вместе с литниковой системой и заливочным стаканом!  В начальных установка - в материалах есть температура формы   Далее выбираю: Литниковые точки и Задание поршня (в котором задаю параметры движения поршня)   Затем в Параметрах заливки - выбираю: Гравитационное литье (струя): выбираю напор и диаметр струи   А далее на расчет....   И сколько бы я не делал, лишь с повышением температуры формы, деталь проливается полностью.    Вот пример когда температура формы 180гр. - одни недоливы А вот отливка в натуре     Мой вариант это не руководство к исполнению, он может быть не верным. Как Вы правильно подметили: симуляция - одно, а анализу данных никто не учил. Методу подсмотрел: "Моделирование литейных технологий В СКМ ЛП LVMFlow - И.А. Пугачев"
×
×
  • Создать...