Михаил_ЛМГТ Posted November 17, 2022 Report Share Posted November 17, 2022 Добрый день. Не получается задать радиус, точнее вызвать команду с клавиатуры, при сопряжении. Д - пробел, ничего не дает. В контекстном меню по правой кнопке подсвечена буква раДиус, в командах - раДиУс. Quote Link to comment Share on other sites More sharing options...
Boroda888 Posted November 17, 2022 Report Share Posted November 17, 2022 У 1 Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted November 17, 2022 Author Report Share Posted November 17, 2022 ять как же я так. 3 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 17, 2022 Report Share Posted November 17, 2022 А в ком строке вообще квест.. полИлиНия раДиУс нанозатейниКИ 2 Quote Link to comment Share on other sites More sharing options...
yum Posted November 17, 2022 Report Share Posted November 17, 2022 Знаем. Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted November 17, 2022 Author Report Share Posted November 17, 2022 То что У сделали это хорошо, даже правильно. Но с подсказками надо поработать. Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 17, 2022 Report Share Posted November 17, 2022 (edited) 30 минут назад, yum сказал: Знаем. а то что FILLET не позволяет задать нулевой радиус? Укажите радиус сопряжения <10>: 0 Значение должно быть положительным. /чего эт так решили? давно ноль стал отрицательным? ---------------------- хорошо хоть FILLETRAD можно =0 Edited November 17, 2022 by doctorraz Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 17, 2022 Report Share Posted November 17, 2022 приходится извращаться так))) (defun c:СР () ;;Смыкание линий: (setvar 'FILLETRAD 0) (command "_fillet" pause ) (princ) ) ;_ end defun 1 Quote Link to comment Share on other sites More sharing options...
yum Posted November 17, 2022 Report Share Posted November 17, 2022 И это знаем. Не спрашивайте... 2 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 17, 2022 Report Share Posted November 17, 2022 4 минуты назад, yum сказал: Не спрашивайте... Все жэж рискну... Отчего не чините? Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted November 17, 2022 Author Report Share Posted November 17, 2022 1 час назад, doctorraz сказал: а то что FILLET не позволяет задать нулевой радиус? а вот это вообще подстава. Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 17, 2022 Report Share Posted November 17, 2022 37 минут назад, Михаил_ЛМГТ сказал: это вообще подстава. выше предложил, как ноль вернуть.. ложечки нашлись но осадочек остался 1 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 18, 2022 Report Share Posted November 18, 2022 так будет правильно (defun c:СР ( / filletrad_old) ;;Смыкание линий: (setq filletrad_old (getvar 'FILLETRAD)) (setvar 'FILLETRAD 0) (command "_fillet" pause ) (setvar 'FILLETRAD filletrad_old) (princ) ) ;_ end defun ----------- кстати CHAMFERA CHAMFERB CHAMFERC CHAMFERD то же не может быть ноль 1 Quote Link to comment Share on other sites More sharing options...
Kreator Posted November 20, 2022 Report Share Posted November 20, 2022 В 17.11.2022 в 16:16, doctorraz сказал: Значение должно быть положительным. /чего эт так решили? давно ноль стал отрицательным? 0 - он не отрицательный (>=0) и не положительный (<=0), он равный нулю (=0) Видимо, вам нужно получить соединения непересекающихся отрезков? Так-то фаска и скругление нулевого размера смысла не имеет. 1 Quote Link to comment Share on other sites More sharing options...
Михаил_ЛМГТ Posted November 22, 2022 Author Report Share Posted November 22, 2022 В 20.11.2022 в 23:08, Kreator сказал: 0 - он не отрицательный (>=0) и не положительный (<=0), он равный нулю (=0) Видимо, вам нужно получить соединения непересекающихся отрезков? Так-то фаска и скругление нулевого размера смысла не имеет. так-то да, но если уже "скругленную" полилинию хочу соединить без скругления или фаски? Разбивать и соединять? 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 22, 2022 Report Share Posted November 22, 2022 3 минуты назад, Михаил_ЛМГТ сказал: Разбивать и соединять? Сбросить в ноль сиспеременную.. Зы это нано, по простому тут не нуно))) 1 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted November 28, 2022 Report Share Posted November 28, 2022 В 22.11.2022 в 10:27, Михаил_ЛМГТ сказал: так-то да, но если уже "скругленную" полилинию хочу соединить без скругления или фаски? Разбивать и соединять? Вообще-то, операция скругления необратима (ну кроме разных вариаций UNDO). При скруглении и фаске между двумя сегментами происходит добавление одной вершины и перемещение другой с соответствующим изменением кривизны в каждой из вершин. При обратной операции определить, получена вершина в результате "скругления" или просто установлена пользователем, нет возможности. А конкретно по сабжу, 0 должен программой приниматься в обработку. Иное - это издевательство над здравым смыслом. 2 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 28, 2022 Report Share Posted November 28, 2022 5 минут назад, EdwardSt сказал: 0 должен программой приниматься в обработку офф выше написали ноль не положительное число нана умеет только положительное логичножэж хорошо хоть через sysvariable дает поменять Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted November 28, 2022 Report Share Posted November 28, 2022 1 минуту назад, doctorraz сказал: офф выше написали ноль не положительное число Да видел я это. Ну так поименовать в "неотрицательные" - делов то! А если серьезно, то терминологию всегда можно подтянуть. А вот к реализации функционала нужно относиться вдумчиво, с заботой о пользователе. Конечно, 0 при скруглении и фаске, - бессмысленная операция. С точки зрения программиста выдать сообщение о необходимости положительного значения, в общем-то, верное. Но можно лишний раз пользователя ткнуть носом просто предупредить что, при таком значении объект НИКАК не изменится (а изменится лишь значение соответствующей переменной) и завершить работу функции. Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 28, 2022 Report Share Posted November 28, 2022 2 минуты назад, EdwardSt сказал: Конечно, 0 при скруглении и фаске, - бессмысленная операция. Да ладно.. Свести в одну точку два непарралельных отрезка или собрать в полилинию весьма востребованно, сопряжение с нулевым радиусом 2 Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted November 28, 2022 Report Share Posted November 28, 2022 1 минуту назад, doctorraz сказал: Свести в одну точку... Точно. Этот кейс из вида упустил. Т.к. обычно использовал эту функцию для полилиний. А вот для них размер 0, действительно, смысла не имеет. Quote Link to comment Share on other sites More sharing options...
MCAD Posted November 28, 2022 Report Share Posted November 28, 2022 53 минуты назад, EdwardSt сказал: А конкретно по сабжу, 0 должен программой приниматься в обработку. Иное - это издевательство над здравым смыслом. Так было же (есть) но пользователю не понравилось: 1 Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 28, 2022 Report Share Posted November 28, 2022 30 минут назад, EdwardSt сказал: вот для них размер 0, действительно, смысла не имеет Да ладно, по быстрому две полилинии соединить Quote Link to comment Share on other sites More sharing options...
doctorraz Posted November 28, 2022 Report Share Posted November 28, 2022 23 минуты назад, MCAD сказал: Так было же (есть) spmfillet и fillet живут каждый своей жизнью(((( spmfillet про FILLETRAD ничего не знает(( Quote Link to comment Share on other sites More sharing options...
EdwardSt Posted November 28, 2022 Report Share Posted November 28, 2022 15 минут назад, MCAD сказал: Так было же (есть) но пользователю не понравилось: Данное видео более наглядно показывает нелепость ограничения, связанная с недопустимостью 0. Получается, что в диалоговом режиме все же имеется возможность ввести значение 0. В командном режиме радиус 0 задать невозможно, но при этом можно подтвердить ранее введенный (через диалог, либо через установку переменной) 0. Даже интересно, как это программистом удалось. Походу, сделана проверка ввода на положительность, но дальнейший алгоритм "проглатывает" и 0 тоже. Не исключаю, что отрицательные значения тоже сработают (математика все-таки), но тут уже и диалог, и бездиалог упираются синхронно. Кстати, совершенно адекватно отрабатывается ситуация с 0 для полилинии, выбранной в качестве объекта целиком, а и именно ничего не делается. Если в качестве объектов указываются отдельные сегменты полилинии, то естественным образом удаляются все промежуточные вершины и вычисляется фаска только для указанных сегментов. 8 минут назад, doctorraz сказал: spmfillet про FILLETRAD ничего не знает(( интересное кино... Т.е., имеем идентичные функции fillet и spmfillet (доступен только в СПДС). Только параметры для первой хранятся стандартным образом, а для второй - где-то в другом месте. По-видимому, есть рациональное объяснение, зачем этот баян. В общем, по итогу остается только одно замечание-пожелание: в бездиалоговом режиме сделать допустимыми неотрицательные значения (включая 0) для указания радиуса и фаски. В диалоге это уже реализовано. 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.