Jump to content

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


Recommended Posts

В 22.11.2022 в 10:32, doctorraz сказал:

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

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

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

Как то руки привыкли уже соп - у - 0, а тут фиг вам... 

добавлено через 7 минут
2 часа назад, EdwardSt сказал:

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

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

 

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

Что значит "при обратной операции"? операция таже самая. Жмякая на сегменты полилинии, межу которыми есть скругление, которое мне не понравилось, я получаю скругление с другим радиусом или просто сопряжение без скругления. Очень удобно. 

Link to comment
Share on other sites

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

Что значит "при обратной операции"? операция таже самая. Жмякая на сегменты полилинии, межу которыми есть скругление, которое мне не понравилось, я получаю скругление с другим радиусом или просто сопряжение без скругления. Очень удобно. 

 

Спойлер

image.png.15b8bbd2ec1e5f6b3dc65d2b165fa24f.png

 

Спойлер

image.png.1244cf87247c3926af4351884714f590.png

 

Имеем кучу удаленных промежуточных вершин.

Дальнейшие любые манипуляции с радиусом удаленные вершины не восстановят.

 

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

 

Link to comment
Share on other sites

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

Имеем кучу удаленных промежуточных вершин.

Дальнейшие любые манипуляции с радиусом удаленные вершины не восстановят.

дык если это и есть цель?

Link to comment
Share on other sites

Только что, doctorraz сказал:

дык если это и есть цель?

Да кто бы спорил!

Только операция становится необратимой, о чем собственно я и начал переписку.

Сглаживание в общем случае - операция необратимая.

Но иногда похожа на обратимую :chih:

Link to comment
Share on other sites

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

Сглаживание в общем случае - операция необратимая.

очевидножэж.. коль создаются новые объекты взамен существующих (в случае с полилинией всегда)

с отрезком возможны варианты

Link to comment
Share on other sites

1 час назад, EdwardSt сказал:

Имеем кучу удаленных промежуточных вершин.

Дальнейшие любые манипуляции с радиусом удаленные вершины не восстановят.

 

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

Link to comment
Share on other sites

  • 1 month later...
В 28.11.2022 в 12:59, EdwardSt сказал:

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

Бойтесь своих желаний(С)

в нк23 теперь можно вводить отрицательные значения, результат несколько неожиданный think.gif.3f355f2636b60fcfda67f3899e9e4cec.gif

правда отрицательные не запоминает, сбрасывает на ноль.. и на том  спасибо))))

 

ключевые слова снова не починили cry2.gif.761e0a23dfc54ec62b2a6a7dddee99f5.gif

Цитата

F,FILLET,СОП,СОПРЯЖЕНИЕ - Сопряжение

(Режим С ОБРЕЗКОЙ) Радиус = 0

Укажите первый объект или [?/оТменить/полИлиния/раДиус/оБрезка/Несколько]: д

Укажите первый объект или [?/оТменить/полИлиния/раДиус/оБрезка/Несколько]: д

хотя если ввести полностью радиус, то сработает

Edited by doctorraz
  • Like 2
Link to comment
Share on other sites

21 час назад, doctorraz сказал:

в нк23 теперь можно вводить отрицательные значения, результат несколько неожиданный think.gif.3f355f2636b60fcfda67f3899e9e4cec.gif

Это относится к команде FILLET.

Результат не просто неожиданный, а

Спойлер

image.png.936ef469d2ddaab99170f9c0ea1fff33.png

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

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

Ну и криво работающие ключи консольных команд - это старинная головная боль, которая достаточно легко купируется.

 

Необходимо отметить, что команды фаски и сопряжения, заложенные в меню, имеют лидирующий символ m (mfillet, mchamfer).

Эти команды не позволяют вводить отрицательные значения, но позволяют ввести 0.

В такой реализации исходная проблема имеет решение, хотя и не самое удобное.

Почему нельзя изменить радиус  в командной строке - непонятно.

Можно только в диалоговом окне. Но и на том спасибо.

 

UPD.

mfillet не позволяет вводить отрицательные значения в диалоговом окне (позволяя ввести 0).

Но возможен ввод отрицательных значений в командном режиме. 

С аналогичным нелепым результатом, как и для команды fillet.

Edited by EdwardSt
  • Like 2
Link to comment
Share on other sites

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

Почему нельзя изменить радиус

Можно, жэж

Либо ключевое слово полностью, либо мышой в него тыкать

Ноль дает ввести и на том спасибо))

  • Like 1
Link to comment
Share on other sites

Спойлер

image.png.50e3d726eb30819ffd89737323735589.png

 

дали вводить ноль

взамен дали вводить отрицательные значения и поломали ключевые слова

на один фикс два бага, nanoклассика

выходной контроль вообще отсутствует?

  • Like 1
Link to comment
Share on other sites

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

В команде mfillet

эта команда вообще не имеет командных опций, кстати где я про нее писал?

обрати внимание, что mfillet это не fillet с UI, это две разные команды

mfillet  не изменяет FILLETRAD

Edited by doctorraz
Link to comment
Share on other sites

26 минут назад, doctorraz сказал:
  в нк22 хоть так работало (Показать контент)

image.png.50e3d726eb30819ffd89737323735589.png

 

 

выходной контроль вообще отсутствует?

Заменили его на входной контроль пользователями

  • Haha 2
Link to comment
Share on other sites

В 17.11.2022 в 13:26, Михаил_ЛМГТ сказал:

Добрый день.

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

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

радиус.png

просто напомню с чего все началось

 

так хоть через У вызывался, теперь вообще никак

Link to comment
Share on other sites

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

Радиуса среди этих опций нет

выбираешь СВОБОДНО и просто вводишь радиус

 

Link to comment
Share on other sites

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

 

  Не вижу ... (Показать контент)

image.png.25d7b4c12c5220859aa5c26d3f68c672.png

 

  Мы об одном и том же? (Показать контент)

image.png.f64547ba8a17cb5fe55d0fe71672e8a1.png

 

В ком строку введи число, в нк22 это будет радиус

В нк23 не пробовал

upd в нк23 тж работает

СВОБОДНО, потом ввести число

Edited by doctorraz
  • Like 1
Link to comment
Share on other sites

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

Из сообщений в комстроке ничего подобного и не предполагалось...

 

чегонить этакого захочется

ввожу хотелку в ком строку

нана делает

  • Haha 1
Link to comment
Share on other sites

47 минут назад, Notarobot сказал:
В 19.01.2023 в 10:49, EdwardSt сказал:

Но возможен ввод отрицательных значений в командном режим

но не должен

 

Ответ в виде ссылки, недоступной для большинства пользователей, не совсем корректен.

Но верю, что там нет ничего непечатного.

 

Затерминейтить ввод отрицательных чисел - это самое простое и напрашивающееся решение. Надеюсь, так и будет.

 

ОФФ. Но остаётся риторический вопрос о качестве программирования и построения математической модели для данной операции.

Каким образом получается, что задающие отрезки изменяют свое направление?

 

Link to comment
Share on other sites

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

Каким образом получается, что задающие отрезки изменяют свое направление?

хех

строим два почти параллельных отрезка на расстоянии друг от друг, ну пусть 50

задаем сопряжение радиусом ну пусть плюс 200

как оно должно по твоему построить?

файл приложить или...)))

Оно умеет строить сопряжение только в сторону "сужения"

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

кстати в нк23 FILLETRAD не дает присвоить себе отрицательное значение (такое жэж нельзя хранить в чертеже)))

-----

updd

кстати отрицательный радиус позволяет строить сопряжение в сторону "расширения"

если довести до ума, возможно будет фича

Edited by doctorraz
  • Like 1
Link to comment
Share on other sites

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

как оно должно по твоему построить?

 

Спойлер

image.png.6ab4fe833a9cedcd1b5aa0db59d5a3aa.png

 

 

Спойлер

image.png.cfcc182e262283871546a27d7359e676.png

 

 

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

 

Но мой риторический вопрос был несколько о другом.

Спойлер

image.png.7e1c27e409e90b64e8b153993609c53b.png

 

Из этой справки очевидно, что отрезки могут менять длину за счет перемещения точки касания вдоль прямой, на которой лежит отрезок, но не могут "соскочить" с этой прямой. Разница в методах только в том,  что в NC нет ограничений на перемещение точки вдоль прямой, а в АС есть.

Какой метод лучше - чистая вкусовщина и к данному обсуждению не относится.

 

Применение же отрицательного радиуса  в NC (в АС такой вольности не допускается) приводит

Спойлер

image.png.7ef36e20c6a9c3a6e938ae9945a7184a.png

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

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

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

Налицо явный косяк в математической модели, то бишь в геометрии.

 

 

Link to comment
Share on other sites

  • 3 months later...
В 20.01.2023 в 14:50, EdwardSt сказал:

это самое простое и напрашивающееся решение. Надеюсь, так и будет.


Теперь при попытке ввода отрицательного значения радиуса сопряжения будет выводиться сообщение «Значение должно быть положительным», а команда повторно потребует ввести корректное значение.
Точно также будет при вводе длины фаски.
Доступно в обновлении

 

  • Like 2
  • Thanks 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...