Jump to content

задание радиуса в сопряжении с клавиатуры


Recommended Posts

Добрый день.

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

В контекстном меню по правой кнопке подсвечена буква раДиус, в командах - раДиУс. 

радиус.png

Link to comment
Share on other sites

30 минут назад, yum сказал:

Знаем.

а то что FILLET не позволяет задать нулевой радиус?

Укажите радиус сопряжения <10>: 0

Значение должно быть положительным. /чего эт так решили? давно ноль стал отрицательным?

----------------------

хорошо хоть FILLETRAD можно =0

 

 

Edited by doctorraz
Link to comment
Share on other sites

приходится извращаться так)))

(defun c:СР () ;;Смыкание линий:
(setvar 'FILLETRAD  0)
	(command "_fillet" pause ) 
	(princ)
) ;_ end defun

 

  • Haha 1
Link to comment
Share on other sites

37 минут назад, Михаил_ЛМГТ сказал:

это вообще подстава.

выше предложил, как ноль вернуть.. ложечки нашлись но осадочек остался

  • Like 1
  • Haha 1
Link to comment
Share on other sites

так будет правильно

(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

то же не может быть ноль donno.gif.0c4765c9686e053109d073fb107ee42b.gif

  • Like 1
Link to comment
Share on other sites

В 17.11.2022 в 16:16, doctorraz сказал:

Значение должно быть положительным. /чего эт так решили? давно ноль стал отрицательным?

0 - он не отрицательный (>=0) и не положительный (<=0), он равный нулю (=0) :D Видимо, вам нужно получить соединения непересекающихся отрезков? Так-то фаска и скругление нулевого размера смысла не имеет.

  • Confused 1
Link to comment
Share on other sites

В 20.11.2022 в 23:08, Kreator сказал:

0 - он не отрицательный (>=0) и не положительный (<=0), он равный нулю (=0) :D Видимо, вам нужно получить соединения непересекающихся отрезков? Так-то фаска и скругление нулевого размера смысла не имеет.

так-то да, но если уже "скругленную" полилинию хочу соединить без скругления или фаски? Разбивать и соединять?

  • Like 1
Link to comment
Share on other sites

3 минуты назад, Михаил_ЛМГТ сказал:

Разбивать и соединять?

Сбросить в ноль сиспеременную..

Зы это нано, по простому тут не нуно)))

  • Haha 1
Link to comment
Share on other sites

В 22.11.2022 в 10:27, Михаил_ЛМГТ сказал:

так-то да, но если уже "скругленную" полилинию хочу соединить без скругления или фаски? Разбивать и соединять?

Вообще-то, операция скругления необратима (ну кроме разных вариаций UNDO).

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

 

А конкретно по сабжу, 0 должен программой приниматься в обработку. Иное - это издевательство над здравым смыслом.

  • Like 2
Link to comment
Share on other sites

5 минут назад, EdwardSt сказал:

0 должен программой приниматься в обработку

офф выше написали ноль не положительное число xz.gif.f9520dd8d6ba852e4570c37d217ceb91.gif

нана умеет только положительное

логичножэж biglol.gif.f0d29f6e6acd60ce2681abe05ae2fc5a.gif

хорошо хоть через sysvariable дает поменять

Link to comment
Share on other sites

1 минуту назад, doctorraz сказал:

офф выше написали ноль не положительное число xz.gif.f9520dd8d6ba852e4570c37d217ceb91.gif

Да видел я это.

Ну так поименовать в "неотрицательные" - делов то! :dance:

 

А если серьезно, то терминологию всегда можно подтянуть.

А вот к реализации функционала нужно относиться вдумчиво, с заботой о пользователе.

Конечно, 0 при скруглении и фаске, - бессмысленная операция.

С точки зрения программиста выдать сообщение о необходимости положительного значения, в общем-то, верное.

Но можно лишний раз пользователя ткнуть носом просто предупредить что, при таком значении объект НИКАК не изменится (а изменится лишь значение соответствующей переменной) и завершить работу функции.

Link to comment
Share on other sites

2 минуты назад, EdwardSt сказал:

Конечно, 0 при скруглении и фаске, - бессмысленная операция.

Да ладно..

Свести в одну точку два непарралельных отрезка или собрать в полилинию весьма востребованно, сопряжение с нулевым радиусом

  • Like 2
Link to comment
Share on other sites

1 минуту назад, doctorraz сказал:

Свести в одну точку...

 

Точно. Этот кейс из вида упустил.

Т.к. обычно использовал эту функцию для полилиний.

А вот для них размер 0, действительно, смысла не имеет.

Link to comment
Share on other sites

53 минуты назад, EdwardSt сказал:

А конкретно по сабжу, 0 должен программой приниматься в обработку. Иное - это издевательство над здравым смыслом.

Так было же (есть) но пользователю не понравилось:

 

  • Like 1
Link to comment
Share on other sites

30 минут назад, EdwardSt сказал:

вот для них размер 0, действительно, смысла не имеет

Да ладно,

по быстрому две полилинии соединить

Link to comment
Share on other sites

23 минуты назад, MCAD сказал:

Так было же (есть)

spmfillet  и  fillet 

живут каждый своей жизнью((((

spmfillet  про FILLETRAD ничего не знает((

Link to comment
Share on other sites

15 минут назад, MCAD сказал:

Так было же (есть) но пользователю не понравилось:

Данное видео более наглядно показывает нелепость ограничения, связанная с недопустимостью 0.

Получается, что в диалоговом режиме все же имеется возможность ввести значение 0.

В командном режиме радиус 0 задать невозможно, но при этом можно подтвердить ранее введенный (через диалог, либо  через установку переменной) 0.

Даже интересно, как это программистом удалось.

Походу, сделана проверка ввода на положительность, но дальнейший алгоритм "проглатывает" и 0 тоже.

Не исключаю, что отрицательные значения тоже сработают (математика все-таки), но тут уже и диалог, и бездиалог упираются синхронно. 

 

Кстати, совершенно адекватно отрабатывается ситуация с 0 для полилинии, выбранной в качестве объекта целиком, а и именно ничего не делается.

Если в качестве объектов указываются отдельные сегменты полилинии, то естественным образом удаляются все промежуточные вершины и вычисляется  фаска только для указанных сегментов.

 

8 минут назад, doctorraz сказал:

spmfillet  про FILLETRAD ничего не знает((

интересное кино...

Т.е., имеем идентичные функции fillet и spmfillet (доступен только в СПДС).

Только параметры для первой хранятся стандартным образом, а для второй - где-то в другом месте.

По-видимому, есть рациональное объяснение, зачем этот баян.

 

 

В общем, по итогу остается только одно замечание-пожелание: в бездиалоговом режиме сделать допустимыми неотрицательные значения (включая 0) для указания радиуса и фаски. В диалоге это уже реализовано. 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Tell a friend

    Love Официальный форум компании Нанософт Разработка? Tell a friend!
×
×
  • Create New...