Нетто Vs Брутто
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Нетто Vs Брутто
Добрый день.
Подскажите не могу решить проблему.
на данный момент я для заказчика делаю вес абсолютно все в брутто (ниже вы видите код в шаблоне спецификации)
этот шаблон прописывали для другого завода с такими данными: что при подсчете массы непрямоугольных листовых деталей вписывающихся в прямоугольник до 0,2 м2, массу вычисляют пл площади этого прямоугольника, а для всех остальных - по фактической площади.
в текле нет параметра площадь одной плоскости детали, есть только общая площадь (или площадь покраски)
и ребята прописали код который вы видите ниже с использованием площади покраски.
Сейчас заказчик мне говорит что теперь брутто не надо, надо нетто, и указывает на временную инструкцию по Мельниковой в который написано что все детали толщиной более 12мм считаются по фактической площади
пункт вроде 12.18 страница 28.
окунувшись в шаблон я увидел что привязки делаи по толщине в нем нет, соответсвенно 2 детали к примеру 0,18 м2 и 0,22 м2 одна считается по брутто другая по нетто не смотря естественно на то что они из 16 мм толщины.
подскажите как решить данную проблему
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 4400 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT_GROSS"),0.1)
endif
endif
Подскажите не могу решить проблему.
на данный момент я для заказчика делаю вес абсолютно все в брутто (ниже вы видите код в шаблоне спецификации)
этот шаблон прописывали для другого завода с такими данными: что при подсчете массы непрямоугольных листовых деталей вписывающихся в прямоугольник до 0,2 м2, массу вычисляют пл площади этого прямоугольника, а для всех остальных - по фактической площади.
в текле нет параметра площадь одной плоскости детали, есть только общая площадь (или площадь покраски)
и ребята прописали код который вы видите ниже с использованием площади покраски.
Сейчас заказчик мне говорит что теперь брутто не надо, надо нетто, и указывает на временную инструкцию по Мельниковой в который написано что все детали толщиной более 12мм считаются по фактической площади
пункт вроде 12.18 страница 28.
окунувшись в шаблон я увидел что привязки делаи по толщине в нем нет, соответсвенно 2 детали к примеру 0,18 м2 и 0,22 м2 одна считается по брутто другая по нетто не смотря естественно на то что они из 16 мм толщины.
подскажите как решить данную проблему
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 4400 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT_GROSS"),0.1)
endif
endif
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
Также добавлю, в прямоугольной детали есть вырезы под болты (опорная пластина колонны), почему текла данные детали считает по нетто, ведь по сути масса должна проходить как брутто
-
Montag
- Сообщения: 65
- Зарегистрирован: 14 фев 2017, 09:07
Re: Нетто Vs Брутто
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 4400 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT_GROSS"),0.1)
endif
странное условие. в любом случае вы получите WEIGHT_GROSS
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT_GROSS"),0.1)
endif
странное условие. в любом случае вы получите WEIGHT_GROSS
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
Вы правы, в последнем случает должен стоять просто WEIGHT.
я на скорую руку изменил код предназначеный для нетто
я на скорую руку изменил код предназначеный для нетто
-
Montag
- Сообщения: 65
- Зарегистрирован: 14 фев 2017, 09:07
Re: Нетто Vs Брутто
Надо добавить условие на проверку тощины.подскажите как решить данную проблему
if GetValue("PLATE_THICKNESS") > 12.0
...
else
...
endif
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
правильно ли я изменил данный код?
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then (здесь уменьшил в 2 раза, чтобы соответвовало временной инструкции т.е. считалось от 0,1 м2)
round(GetValue("WEIGHT_GROSS"),0.1)
else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT"),0.1)
endif
endif
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then (здесь уменьшил в 2 раза, чтобы соответвовало временной инструкции т.е. считалось от 0,1 м2)
round(GetValue("WEIGHT_GROSS"),0.1)
else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT"),0.1)
endif
endif
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
я просто думаю, надо бы как нибудь объединить 2 условия чтобы и площадь была меньше 0,1 и толщина присутствовала во втором условии.
при таком коде они будут работать отдельно, думаю будет конфликт.
можно ли прописывать код в таком виде
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 and if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
при таком коде они будут работать отдельно, думаю будет конфликт.
можно ли прописывать код в таком виде
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 and if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
-
Montag
- Сообщения: 65
- Зарегистрирован: 14 фев 2017, 09:07
Re: Нетто Vs Брутто
надо тестить .. Вместо GetValue("AREA") лучше использовать GetValue("AREA_PLAN"), тогда не прийдется делить на 2. https://teklastructures.support.tekla.c ... /area_plan . PLATE_THICKNESS надо протестить на пластине созданной контрплейтом и балкой. Данный параметр может вести себя по разному. И в конце еще один endif нужен)Villcommen писал(а): 14 июл 2019, 10:56 правильно ли я изменил данный код?
if GetValue("WEIGHT_GROSS") < 0.1 then
"0.1"
else
if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then (здесь уменьшил в 2 раза, чтобы соответвовало временной инструкции т.е. считалось от 0,1 м2)
round(GetValue("WEIGHT_GROSS"),0.1)
else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1)
else
round(GetValue("WEIGHT"),0.1)
endif
endif
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
Спасибо, буду проверять, обязательно отпишусь.
вообще я как понимаю этот вопрос уже давно должен был быть решен, просто у меня нет информации по этому коду, ввиду того что на заводе уже был разработан данный шаблон, соответственно все много лет по нему работали и никогда проблем не возникало, до этого заказчика -))
вообще я как понимаю этот вопрос уже давно должен был быть решен, просто у меня нет информации по этому коду, ввиду того что на заводе уже был разработан данный шаблон, соответственно все много лет по нему работали и никогда проблем не возникало, до этого заказчика -))
-
Montag
- Сообщения: 65
- Зарегистрирован: 14 фев 2017, 09:07
Re: Нетто Vs Брутто
Вот список всех переменых которые можно получить в шаблоне
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then
round(GetValue("WEIGHT_GROSS"),0.1) else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1) else
round(GetValue("WEIGHT"),0.1)
endif
endif
все таки прописать 3 условия не получается, выдает 0.
видимо проблемы и иерархией
вообще получается третьим условием должно быть что если толщина пластины больше 12 но площадь покраски меньше 2200 то брать нетто.
не могу понять какой функцией объединить эти два условия
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then
round(GetValue("WEIGHT_GROSS"),0.1) else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1) else
round(GetValue("WEIGHT"),0.1)
endif
endif
все таки прописать 3 условия не получается, выдает 0.
видимо проблемы и иерархией
вообще получается третьим условием должно быть что если толщина пластины больше 12 но площадь покраски меньше 2200 то брать нетто.
не могу понять какой функцией объединить эти два условия
-
meart
- Сообщения: 494
- Зарегистрирован: 04 мар 2013, 18:09
Re: Нетто Vs Брутто
Как-то так?Villcommen писал(а): 16 июл 2019, 10:16 if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then
round(GetValue("WEIGHT_GROSS"),0.1) else
if GetValue("PLATE_THICKNESS") < 12.0 then
round(GetValue("WEIGHT_GROSS"),0.1) else
round(GetValue("WEIGHT"),0.1)
endif
endif
все таки прописать 3 условия не получается, выдает 0.
видимо проблемы и иерархией
вообще получается третьим условием должно быть что если толщина пластины больше 12 но площадь покраски меньше 2200 то брать нетто.
не могу понять какой функцией объединить эти два условия
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
извините, не понял вопрос
- vladimir_a
- Сообщения: 699
- Зарегистрирован: 07 дек 2011, 21:22
Re: Нетто Vs Брутто
if (GetValue("AREA")<=200000 && GetValue("PROFILE.WIDTH")<=12)then
round(GetValue("WEIGHT_GROSS"),0.1)
else
для условия площадь детали менее 0,1 м2 толщина 12 и менее
round(GetValue("WEIGHT_GROSS"),0.1)
else
для условия площадь детали менее 0,1 м2 толщина 12 и менее
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
На данный момент код выглядит так:
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then round(GetValue("WEIGHT_GROSS"),0.1)
else if (int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 & GetValue("PLATE_THICKNESS")=>12) then round(GetValue("WEIGHT"),0.1)
else round(GetValue("WEIGHT"),0.1)
endif
endif
endif
результат пока тот же т.е. не подходящий
на деталь площадью покраски менее 2200 и толщиной детали более 12 мм выдает брутто, т.е. 3-е условие не выполняет.
PROFILE.WIDTH пробовал результат тот же
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 then round(GetValue("WEIGHT_GROSS"),0.1)
else if (int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200 & GetValue("PLATE_THICKNESS")=>12) then round(GetValue("WEIGHT"),0.1)
else round(GetValue("WEIGHT"),0.1)
endif
endif
endif
результат пока тот же т.е. не подходящий
на деталь площадью покраски менее 2200 и толщиной детали более 12 мм выдает брутто, т.е. 3-е условие не выполняет.
PROFILE.WIDTH пробовал результат тот же
-
meart
- Сообщения: 494
- Зарегистрирован: 04 мар 2013, 18:09
Re: Нетто Vs Брутто
Всё правильно. По вашей формуле так и должно быть.Villcommen писал(а): 16 июл 2019, 14:54 на деталь площадью покраски менее 2200 и толщиной детали более 12 мм выдает брутто, т.е. 3-е условие не выполняет.
попробуйте так:
Код: Выделить всё
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1" else
if (int(format(GetValue("AREA"), "Area", "cm2", 1)) <= 2200) && (GetValue("PLATE_THICKNESS") <=12) then round(GetValue("WEIGHT_GROSS"),0.1) else
round(GetValue("WEIGHT"),0.1)
endif
endif
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
Вроде все в вашей формуле правильно, только у меня почему то все равно выдает брутто на пластину толщиной 16 мм и площадью 1900 см2.
может у меня руки не оттуда растут -)
может у меня руки не оттуда растут -)
-
meart
- Сообщения: 494
- Зарегистрирован: 04 мар 2013, 18:09
Re: Нетто Vs Брутто
проверьте параметр GetValue("PLATE_THICKNESS").. скорее всего там нет толщины пластины.Villcommen писал(а): 16 июл 2019, 16:19 Вроде все в вашей формуле правильно, только у меня почему то все равно выдает брутто на пластину толщиной 16 мм и площадью 1900 см2.
может у меня руки не оттуда растут -)
«Есть только две бесконечные вещи: Вселенная и глупость. Хотя насчет Вселенной я не вполне уверен.» А. Эйнштейн
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
подскажите где его можно проверить, если в расширенных параметрах, то такого я не нашел, если в свойствах детали то и там его нет.
при моделировании пластины она обозначается как PL10 и т.д..
может в это дело?
при моделировании пластины она обозначается как PL10 и т.д..
может в это дело?
- vladimir_a
- Сообщения: 699
- Зарегистрирован: 07 дек 2011, 21:22
Re: Нетто Vs Брутто
в моем сообщении все ведь прописано
-
Montag
- Сообщения: 65
- Зарегистрирован: 14 фев 2017, 09:07
Re: Нетто Vs Брутто
Лучше сделать одну переменную для получения веса пластины, вторую для веса всех остальных деталей(которые не пластина) и третью типа строка выводить в таблицу в которой проверяем тип профиля и в зависимости от профиля выводим нужный вес
w_pl =
w_other =
w_str =
w_pl =
Код: Выделить всё
if GetValue("WEIGHT_GROSS") < 0.1 then
0.1
else
if (GetValue("AREA_PLAN") <= 0.2) && (GetValue("WIDTH") <= 12.0) then
GetValue("WEIGHT_GROSS")
else
GetValue("WEIGHT")
endif
endif
Код: Выделить всё
GetValue("WEIGHT")
Код: Выделить всё
format(
if GetValue("PROFILE_TYPE") == "B" then
GetFieldFormula("w_pl")
else
GetFieldFormula("w_other")
endif
, "Weight", "kg", 1)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
Montag
- Сообщения: 65
- Зарегистрирован: 14 фев 2017, 09:07
Re: Нетто Vs Брутто
PROFILE.PLATE_THICKNESS не работает по чему-то.. можно тогда использовать WIDTH
-
Villcommen
- Сообщения: 28
- Зарегистрирован: 10 янв 2017, 11:14
Re: Нетто Vs Брутто
в моем сообщении все ведь прописаноvladimir_a писал(а): 16 июл 2019, 13:26 if (GetValue("AREA")<=200000 && GetValue("PROFILE.WIDTH")<=12)then
round(GetValue("WEIGHT_GROSS"),0.1)
else
для условия площадь детали менее 0,1 м2 толщина 12 и менее
[/quote]
Да все заработало, единственное надо указать <12 мм, т.к. от 12 должно уже в нетто уходить. Спасибо вам большое
вот готовый код:
if GetValue("WEIGHT_GROSS") < 0.1 then "0.1"
else if (GetValue("AREA")<=200000 && GetValue("PROFILE.WIDTH")<12) then round(GetValue("WEIGHT_GROSS"),0.1)
else round(GetValue("WEIGHT"),0.1)
endif
endif

