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

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


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 пользователей

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




  • Сообщения

    • mrVladimir
      @gudstartup @Viktor2004 спасибо Вам за такое участие.  Я вот тоже в maintenance manual заглянул (наконец-то ). А вот фраза "при замене FROM/SRAM необходимо ..." (под пунктом 3 во вложении) не подразумевает, что появление ps5523 произойдет только если мы решим на нашей чпу поменять именно FROM/SRAM. А при замене других печатных плат (в том числе и материнской ) необходимо только как написано в пункте 2 восстановить данные памяти SRAM и, при необходимости, файлы пользователя. Нет?
    • maxx2000
      @davidovka это же очевидно. Вдруг нужного размера не окажется  как в анекдоте  
    • davidovka
      А для чего и сотни исполнений в таблице и гибкость одновременно?
    • ak762
      в СВ есть встроенный калькулятор для расчета балок при различных сценариях нагружения если ваш профиль монорельса совпадает с предопределенными профилями то можно прикинуть поведение монорелься без анализа на картинке 2 расчета двутавровой балки в качестве теста    
    • Viktor2004
      @mrVladimir не спешите отчаиваться. Вопрос спорный Я завел новую тему в которой мы это выясним  
    • Viktor2004
      Уважаемые специалисты. У кого был опыт замены фануковских плат? Именно на ЧПУ. Пожалуйста напишите какое ЧПУ и какую плату меняли И результат. Подошла или не подошла  
    • gudstartup
      @mrVladimir к сожалению с вашей платой все не так просто вам придется приобрести ее клон то есть она должна быть подготовлена продавцом и в нее должен быть записан серийный номер вашей старой платы он на штрихкоде а так готовить умеют не все или готовьтесь к сертификации опций также есть еще один аппаратный вариант но не каждый будет на новую плату м\сх перепаивать с риском превратить ее в кирпич.   если бы у вас был отдельный модуль процессора то вы бы просто переставили его в новую плату и все а с этой платой из-за ее не модульности намучаешься
    • SAPRonOff
      в окне состава изделия снять замочки у колонки позиция, тогда генератор колонки состава изделия не будет им присваивать свои значения автоматически, а запомнит то - что вы поставили или стояло до изменений проекта: 
    • Kelny
      Смотреть надо процедуру main, почти в самом конце: Слева от этих строк на сером поле ставите красные точки (клик мышкой) и запускаете макрос, когда макрос дойдёт до обозначенных строк можно будет наводить мышку на перменные, например, sPathName и смотреть значения, что бы определить где сбой: Для продолжения выполнения макроса нажимаем зелёный треугольничек (как кнопка Play).      
    • edifer5
      мне бы тоже было интересно,есть ли какой то способ вытащить модель из .cgd?
×
×
  • Создать...