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

Условия в уравнениях


lucky beggar

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

Добрый день! У меня такая проблема: Есть деталь в виде куба длиной одной стороны 10000мм, теперь я создаю сборку, вставляю этот куб и еще одну деталь(плита) шириной 1000мм и создаю массив (плиты) и мне необходимо что бы плиты покрывали всю сторону куба, тут вроде бы просто для этого захожу в уравнения и для кол-ва массива задаю ("длина куба"/"Ширина плиты"-1) проблема в том что длина куба не всегда кратна ширине плиты. Вопрос: как в уравнение задать условие если "Длина куба"/"Ширина панели"=Целое число то -2, если  "Длина куба"/"Ширина панели"=Число с запитой то -1?

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


Вопрос: как в уравнение задать условие если "Длина куба"/"Ширина панели"=Целое число то -2, если  "Длина куба"/"Ширина панели"=Число с запитой то -1?

Можно изначально возвращать только наименьшее целое число, и вычитать 2.

 

Например: int("Длина куба"/"Ширина панели") - 2

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

Если не хватает мат. возможностей солида, то всю "лабуду" можно делать в экселе, и притянуть ее в модель

Ссылка на сообщение
Поделиться на других сайтах
Если не хватает мат. возможностей солида, то всю "лабуду" можно делать в экселе, и притянуть ее в модель

В данном случае, это лишнее.

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

А так нельзя?

 

x = Длина/Ширина

ix = int(ix)

 

t= if ( "x" - "ix" = 0 , "ix" - 2 , "ix" - 1 )

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

Можно, только бессмысленно. Функция int не округляет, а возвращает ближайшее меньшее целое число.

Например: int(1) = 1, int(1,99) = 1

Ссылка на сообщение
Поделиться на других сайтах
Например: int("Длина куба"/"Ширина панели") - 2

Мне кажется, что я неверно понял задачу (и соответственно решил неверно)... :blush:

Может так: ABS(int(0 - "Длина куба"/"Ширина панели")) - 2 ?

 

Например: ABS(int(0 - 10/2)) - 2 = 3; ABS(int(0 - 10,1/2)) - 2 = 4

Ссылка на сообщение
Поделиться на других сайтах
Функция int не округляет, а возвращает ближайшее меньшее целое число. Например: int(1) = 1, int(1,99) = 1

Да в это-то и вся загвоздка, мне надо автоматом разложить панели по всей длине куба а последнею я обрезаю (в конфигурации) то есть если в уравнение получается число 16,97 то оно округляется до 17 и тогда всё нормально, то есть вот этот остаток 0,97 закрывается одной обрезной панелью, а вот если число получается например 16,3 то оно округляется до 16 и тогда не хватает 1,3 панели. Мне нужно добиться что бы при изменении длины куба всё автоматом раскладывалось 

Ссылка на сообщение
Поделиться на других сайтах
то есть если в уравнение получается число 16,97 то оно округляется до 17 и тогда всё нормально, то есть вот этот остаток 0,97 закрывается одной обрезной панелью, а вот если число получается например 16,3 то оно округляется до 16 и тогда не хватает 1,3 панели 

См. сообщение #8.

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

 

ix = int(ix)
 

Навреное ix = int(x)

?

 

сорри! Конечно  ix = int(x)

 

"ч"= некое_число

"с"=int("ч")

 

округлённое = if ( "ч" - "с" > 0.5 , "с" + 1 , "с" )

округлит как надо

Ссылка на сообщение
Поделиться на других сайтах
Может так: ABS(int(0 - "Длина куба"/"Ширина панели")) - 2 ?

Да оно. Ура!!!!!!!!!!!!!! 

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

 

Например: int("Длина куба"/"Ширина панели") - 2

Мне кажется, что я неверно понял задачу (и соответственно решил неверно)... :blush:

Может так: ABS(int(0 - "Длина куба"/"Ширина панели")) - 2 ?

 

Например: ABS(int(0 - 10/2)) - 2 = 3; ABS(int(0 - 10,1/2)) - 2 = 4

 

abc() не обязательно. Мы с нулём сравниваем

 

Ссылка на сообщение
Поделиться на других сайтах
abc() не обязательно. Мы с нулём сравниваем

Т.е. Вас устроит отрицательное число?

Ссылка на сообщение
Поделиться на других сайтах
Может так: ABS(int(0 - "Длина куба"/"Ширина панели")) - 2

не до конца попнял логику.. и зачем 0-.. может просто минус подствлять, без нуля?

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

А я не понял Вашего вопроса...

Основная идея ABS(int(0-"значение")) - округление до целого числа, в большую сторону.

 

и зачем 0-.. может просто минус подствлять, без нуля?

Можно и так.

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

 

abc() не обязательно. Мы с нулём сравниваем

Т.е. Вас устроит отрицательное число?

 

В случае с размерами SW разве смогут быть отрицательные числа?

Ссылка на сообщение
Поделиться на других сайтах
В случае с размерами SW разве смогут быть отрицательные числа?

В результате будет отрицательное число. Именно по этой причине, убрав функцию ABS, Вы получите предупреждение об ошибке.

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

каким образом здесь:

 

"ч"= некое число как величина размера. имхо оно всегда >0

"с"=int("ч")

округлённое = if ( "ч" - "с" > 0.5 , "с" + 1 , "с" )

 

получится отрицательное число?

 

 

При каких "ч" может быть отрицательное "ч"-int("ч")?

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • ddm
      изготовить по чертежу с последующим покрытием,цинкование ,по 1000 шт каждой позиции ,предложение отправить на почту qwer463@yandex.ru
    • sklide008
      И еще можно ли задать горчие клавиши на кнопки открыть, скрыть и тд?
    • sklide008
      Подскажите, пожалуйста, в инвенторе есть такой пункт упорядочи по алфавиту дерево. Здесь найти такого не могу, пытался treesorter ставить но он добавляет просто в папку а не сортирует в дереве. Есть ли такой макрос чтобы все детали в дереве по порядку и алфавиту шли?
    • stanislavz
      Есть станок с данным контроллером. Все работает. Недавно была проблема с передачей данных - установил запасной контроллер. А запасной контроллер сказал нет работе. Проблема была в программе компьютера для передачи данных. Грустно, досадно, контроллер был куплен как рабочий. Как бы и не горит, но необходимо поправить. Плата управления с процессором mc68020, память hm628128-10. Память буферным питанием от 3 батареек + 0,5 Фарада на плате как буфер для замены батареек на 1 сутки. Лежало долго, без батареек. Симптомы: После первого включения, в памяти были и программы и параметры (0 странность). Честно, удивило. Но - система жутко тормозит, отклик на нажатие кнопки 3-5 секунд. В таком режиме сумел закачать машинные параметры под свой станок. Но это заняло час.. 4 строки и ждет секунд 10 итд. Есть видео. Перекинул с рабочего контроллера, БП, плату плц, ээпром плц - все то же. Проверил осциллографом кварцы живые , частота есть, амплитуда хорошая. 1 странность - после манипуляций по замене батарейки, старые записи из памяти исчезли. Ничего не коротнул. Возможно 0,5 Ф был не заряжен. Там тоже необходимы сутки для зарядки. Но как оно было запечатоно до этого - мистика. 2 странность. Если плата лежит ночь без питания, только с буфером - потом 2-3 минуты работает хорошо. 3 аналогично работает 2-3 минуты если питание отключить и очистить питание памяти (выпаял 0,5 Ф буфер с платы) Проверка памяти на старте есть. Проходит хорошо. На зависает, на холодную пайку не похоже. Шевелил / двигал все. Да и не виснет, именно тормозит. При том если оставить на час - тоже все стабильно плохо. Если набрать быстро 5 символей- экран сразу пуст, но после задержки символы будут на экране. Заказал второй процессор и память. 10 штук. Подавал прямо 5 вольт на память - все так же. Токи потребления между плохой и хорошей платой смогу проверит.    
    • brigval
    • Ветерок
      "увеличение оптимизации". Оптимизацию невозможно ни увеличить, ни уменьшить.
    • gudstartup
      @boomeeeer может от страны зависит
    • david1920
      нет время нет заниматься да и информации новой нет Это я на других станках делал
    • gudstartup
      @david1920 имеется ввиду платы на системах с сертификацией опций фалом oprminf старые в расчет не принимаются вы свой 18i восстановили?
    • gudstartup
      очень даже спрашивают как обязательную информацию для проверки вашей компании налоговый идентификатор должен быть указан. на myfanuc не спрашивают а вот на портале к сожалению просто так не зарегаться. 
×
×
  • Создать...