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

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


lucky beggar

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

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

Например, при: int(0 -  "Длина куба"/"Ширина панели") (См. сообщение #8). Там нет ни какого сравнения, т.к. для решения текущей задачи, достаточно округлить значение "Длина куба"/"Ширина панели" в большую сторону, и вычесть два, т.е.: ABS(int(0 - "Длина куба"/"Ширина панели")) - 2

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


кажись дошло до меня. Автор желает округления в большую сторону, так что ли? Тогда конечно всё верно.

Ссылка на сообщение
Поделиться на других сайтах
Автор желает округления в большую сторону, так что ли?

По крайней мере, его (автора) данное решение вполне устроило. :smile:  

Ссылка на сообщение
Поделиться на других сайтах
А я не понял Вашего вопроса...
ABS(int(0 - 10,1/2)) - 2 = 4

0- 10.1/2=-5.05 , int(-5.05)=-5, abc(-5)=5, 5-2=3

Как вы получили 4 ?

P.S.   int(-5.05)=-5, т.к. -5>-5,05

Ссылка на сообщение
Поделиться на других сайтах
0- 10.1/2=-5.05 , int(-5.05)=-5, abc(-5)=5, 5-2=3 Как вы получили 4 ?

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

int(10.1/2) = 5

int(0-10.1/2) = -6

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

Ещё раз большое всем спасибо за помощь,Хочу отписаться что у меня получилось, уравнение записал в таком виде: int(длина куба/ширина панели) то есть 0- я не стал писать (честно говоря так и не понял, зачем это надо?) дальше -2 тоже убрал, получилось что панели раскладываются по всей длине остаётся только остаток меньше целой ширины панели, что бы закрыть этот остаток я взял панель привязал её сопряжениями к концу массива (при помощи справочной геометрии, используя такое же уравнение) затем создал новую конфигурацию панели, сделал там вытянутый вырез привязал его при помощи внешних ссылок к крайней кромке куба. И всё заработало как надо, изменяешь длину куба пересчитывается кол-во массива а остаток закрывается обрезной панелью. Но есть один момент, когда длина куба кратна ширине панели то соответственно остатка нет, и с обрезной панелью беда(( Вот если бы Вы подсказали как этот момент обойти, я был бы Вам, ну очень признателен

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

Уважаемый lucky beggar, давайте попробуем рассмотреть на конкретных примерах.

Возьмем в качестве примера куб с размерами ("A") 949.9мм, 1000мм и 1050.1мм, а ширину панели ("B") 50мм

 

Рассмотрим уравнение: int ("A" / "B")

int (949.9 / 50) = 18

int (1000 / 50) = 20

int (1050.1 / 50) = 21

 

Рассмотрим уравнение: ABS (int (0 - "A" / "B"))

ABS (int (0 - 949.9 / 50)) = 19

ABS (int (0 - 1000 / 50)) = 20

ABS (int (0 - 1050.1 / 50)) = 22

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

Ещё раз большое всем спасибо за помощь,Хочу отписаться что у меня получилось, уравнение записал в таком виде: int(длина куба/ширина панели) то есть 0- я не стал писать (честно говоря так и не понял, зачем это надо?) дальше -2 тоже убрал, получилось что панели раскладываются по всей длине остаётся только остаток меньше целой ширины панели, что бы закрыть этот остаток я взял панель привязал её сопряжениями к концу массива (при помощи справочной геометрии, используя такое же уравнение) затем создал новую конфигурацию панели, сделал там вытянутый вырез привязал его при помощи внешних ссылок к крайней кромке куба. И всё заработало как надо, изменяешь длину куба пересчитывается кол-во массива а остаток закрывается обрезной панелью. Но есть один момент, когда длина куба кратна ширине панели то соответственно остатка нет, и с обрезной панелью беда(( Вот если бы Вы подсказали как этот момент обойти, я был бы Вам, ну очень признателен

if использовать. мой пример Вы пробовали?

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

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

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

Вдруг кому будет нужно и он наткнется на эту тему. Как в уравнениях солида именно округлять до целого, а не просто тупо отбрасывать дробную часть, т.е. как сделать, чтобы 1.95 округлялось до 2, а не до 1 (что делает int). Без всяких if. Итак. У нас есть дробное положительное число А (например размер). Записываем уравнение  =int(A)+int(2*(A-int(A))) -второе слагаемое дает 0 при дробной части <0.5 и 1 если больше или равно.

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

как сделать, чтобы 1.95 округлялось до 2, а не до 1 (что делает int). Без всяких if. Итак. У нас есть дробное положительное число А (например размер). Записываем уравнение  =int(A)+int(2*(A-int(A))) -второе слагаемое дает 0 при дробной части <0.5 и 1 если больше или равно.

Шибко мудрёно, возможно для вашей задачи подойдёт =Round(1.95) (если не мешают некоторые особенности этой функции):

https://cccp3d.ru/topic/6071-сделай-свою-работу-в-solidworks-эффективнее/?do=findComment&comment=873536

https://cccp3d.ru/topic/10358-скрытые-возможности-sw/?do=findComment&comment=1003119

https://cccp3d.ru/topic/6071-сделай-свою-работу-в-solidworks-эффективнее/?do=findComment&comment=873556

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • clavr
      все так и было до 2024 версии. размеры не импортировались. теперь вот в 2024 так нельзя. может где-то в настройках поменять что нужно? все перерыл, пока не нашел
    • arsenev
      Первый свободный номер инструмента   int list $toolnumblist = extract(folder('TOOL'), 'Tool.Number.Value') int $newToolNumb = 1 while member( $toolnumblist, $newToolNumb) {     $newToolNumb = $newToolNumb + 1 } Message Info 'Первый свободный номер инструмента - ' + $newToolNumb     Инструменты с повторяющимися номерами   int list $toolnumbers = extract(folder('tool'),'Number.Value') int $i = remove_duplicates($toolnumbers) string $op = '' foreach $n in $toolnumbers {     string list $names = extract(filter(folder('tool'),'this.Number.Value == "' + $n + '"'),'Name')     if size($names) > 1 {         $op = $op + 'Инструменты с повторяющимся номером T ' + $n + CRLF         foreach $name in $names {             $op = $op + $name + CRLF         }         $op = $op + CRLF     } } message info $op     Удаление выбранного   Макрос, который проверяет тип объекта, а затем позволяет выбрать один и удалять выбранные части. Я связал это с ctrl+d.   string list $rootTypes = {'toolpath','featureset','pattern','boundary','model'} string list $selectedTypes = {} foreach $rt in $rootTypes {     if entity_exists(entity($rt,'')) {         entity $ent = entity($rt,'')         if number_selected($ent.RootType, $ent.Name) > 0 {             int $i = add_last($selectedTypes,$rt)         }     } } if size($selectedTypes) <= 0 {     return } int $index = -1 if size($selectedTypes) == 1 {     $index = 0 } else {     $index = input choice $selectedTypes 'Wich Type to remove?' } if $index != -1 {     String $cmd = 'DELETE ' + $selectedTypes[$index] + ' "' + entity($selectedTypes[$index],'').Name + '" SELECTED'         DoCommand $cmd }
    • PETR_1
      Можно переназначить правую и центральную (колесо) кнопки с помощью бесплатной программы X-Mouse Button Control (есть портабельная версия). Это переназначение будет работать только для компаса.
    • Kelny
      Может изменяемый вами размер импортирован из модели?  Обычно переносилось удержанием левой кнопки мыши, а если сделать двойной клик, то нужно потом выбрать новый объект уже без удержания кнопок мыши.
    • Kelny
      Отключить галочки режима большой сборки. Инструменты-Параметры...-Настройки пользователя-Сборки
    • brigval
      Если не прописали, значит считается, что производственный процесс их изготовления гарантирует качество, достаточное для присвоения литеры. Можно и так посмотреть.   Между прочим, пред вынесением Решения о присвоении литеры проходит "испытания" весь комплект  КД. Разрешат вам не предъявлять часть КД на проверку? Спросите у НК.   И все-таки, если есть Решение о присвоении литеры, надо прочитать, что там сказано. Как сформулировано. Возможно, это снимет все вопросы.
    • cepr
      Есть в Компасе возможность построения зубчатого колеса с углом профиля не 20гр., а 25гр?
    • shishov32
      В ТУ не прописали про испытания КМЧ и упаковки, отсюда все пошло. 
    • clavr
      подскажите: как в солиде 2024 в чертеже перепривязать точку размера к другому элементу? раньше достаточно было выделить размер, точку привязке и удерживая ПКМ перенести к другому элементу. теперь это не работает   По справке сделать не получается( просто быстрые привязке не подсвечиваются https://help.solidworks.com/2024/russian/SolidWorks/sldworks/c_moving_dimension_leadersOH.htm  
    • BSV1
      КМЧ бывают разные. Если КМЧ состоит из одних стандартных болтов, например, то может испытания и не требуются. Если же КМЧ состоит из изделий собственной разработки, то почему их не надо испытывать? Что касается упаковки, то есть ГОСты на тару. Например: 80071.pdf ГОСТ Р 53775-2010 Упаковка. Испытание на штабелирование при статической нагрузке ГОСТ 18211-2018. Упаковка транспортная. Метод испытания на сжатие  gost-9142-2014.pdf  Есть еще испытания изделий в упаковке, которые подразумевают, в том числе, и испытание самой упаковки. Проверяться изделия в упаковке могут на транспортную тряску, удары, падения, климат. При этом упаковка должна обеспечить сохранность изделия. Есть еще вопросы консервации. Как же без испытаний?   Странный у вас нормоконтролер.    
×
×
  • Создать...