AutoCAD API. Расчет кривизны дуги (bulge).

Автор Тема: AutoCAD API. Расчет кривизны дуги (bulge).  (Прочитано 418 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 1102
  • Карма: 194
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Вопрос:
При построении дуговых элементов в качестве одного из параметров часто требуется указать кривизну дуги (bulge). В справочной информации AutoCAD .NET API указано:
Определение №1: Кривизна - это тангенс 1/4 центрального угла дуги (центральный угол дуги - α).
В различных других источниках можно найти дополнительные определения:
Определение №2: Кривизна - это отношение высоты сегмента дуги к половине длины его хорды (высота сегмента - h, длина хорды - d). Например, тут.
Определение №3: Кривизна - это тангенс угла, образуемого отрезками (угол β): первый - от середины дуги к ее начальной (или конечной) точке, второй - от начальной до конечной точки дуги. Например, тут.
Какое из дополнительных определений соответствует истине и может применяться для вычисления кривизны дуги?



Ответ:
Определение №2 и Определение №3 являются геометрически эквивалентными, т.к. tg(β) = h / (0.5 x d). Осталось выяснить, какая зависимость между углами α и β. Для этого выполним дополнительные построения:



Рассмотрим сперва треугольник OMC. Он прямоугольный, с двумя острыми углами: α/2 и γ. Отсюда получаем, что γ = 90° - α/2.
Далее, рассмотрим треугольник OBC. Он равнобедренный, с тремя углами: α/2 и β+γ = δ. Отсюда получаем, что (180° - α/2) / 2 = β+γ, следовательно: γ = 90° - α/4 - β.
Теперь, объединим эти два равенства:  90° - α/2 = 90° - α/4 - β. Отсюда получаем, что β = α/4, то есть, угол β равен четверти центрального угла дуги. А это как раз то, о чем идет речь в Определении №1.
Следовательно, оба дополнительных определения являются верными и для расчета кривизны можно применять любое из трех, исходя из имеющихся данных.
« Последнее редактирование: 08-06-2017, 17:24:15 от Дмитрий Загорулькин »

Оффлайн Debalance

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 1
  • אדם בעל רצון טוב
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #1 : 08-06-2017, 15:51:23 »
Тема вычисления bulge (с разъяснением его геометрического смысла) уже довольно сильно "избита". В свое время я пользовался вот этой, одной из ранних статей на просторах интернета. Мне кажется там всё довольно подробно "разжёвано", так что и добавить особо нечего...

P.S.
Я удивлён что в справочной информации существует так много трактовок одного понятия. Надо бы "причесать" документацию.
Меняю
Извините, вам запрещён просмотр содержимого спойлеров.
на Ваших условиях



Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 6405
  • Карма: 680
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #2 : 08-06-2017, 15:56:14 »
Я удивлён что в справочной информации существует так много трактовок одного понятия. Надо бы "причесать" документацию.
В Autodesk'овской документации есть только одна трактовка - п.1 Причем эта трактовка проходит через несколько документов (в том числе и ObjectARX/AutoCAD .NET API/DXF)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Debalance

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 1
  • אדם בעל רצון טוב
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #3 : 08-06-2017, 16:03:59 »
В Autodesk'овской документации есть только одна трактовка - п.1
Ну да, это я тоже отчётливо помню. Вот хотя бы здесь можно посмотреть.
Тогда, спрашивается, откуда автор топика взял ещё два определения?
Меняю
Извините, вам запрещён просмотр содержимого спойлеров.
на Ваших условиях



Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 6405
  • Карма: 680
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #4 : 08-06-2017, 16:06:33 »
Тогда, спрашивается, откуда автор топика взял ещё два определения?
Он где-то написал, что другие источники - это источники Autodesk? Читаем внимательно:

В различных других источниках можно найти дополнительные определения:
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Debalance

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 1
  • אדם בעל רצון טוב
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #5 : 08-06-2017, 16:19:41 »
Он где-то написал, что другие источники - это источники Autodesk?
Я полагал что да, ибо про п.1 было сказано что это только в AutoCAD .NET API. Поэтому, (во избежание путаниц) надо бы приводить сразу ссылочки (это же не так трудно сделать). И потом, что это за источники? На сколько они надёжны? И стоит ли проверять их все и писать по этому поводу статьи?
Меняю
Извините, вам запрещён просмотр содержимого спойлеров.
на Ваших условиях



Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 6405
  • Карма: 680
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #6 : 08-06-2017, 16:22:52 »
И потом, что это за источники? На сколько они надёжны? И стоит ли проверять их все и писать по этому поводу статьи?
Стоит, так как Дмитрий Загорулькин доказал, что все эти определения эквиваленты и:
Следовательно, оба дополнительных определения являются верными и для расчета кривизны можно применять любое из трех, исходя из имеющихся данных.
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Debalance

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 1
  • אדם בעל רצון טוב
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #7 : 08-06-2017, 16:27:48 »
... так как Дмитрий Загорулькин доказал ...
Я не ставлю под сомнение доказательство Дмитрий Загорулькин, я лишь прошу дополнить статью соответствующими ссылками на первоисточники.
Меняю
Извините, вам запрещён просмотр содержимого спойлеров.
на Ваших условиях



Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 1102
  • Карма: 194
  • LISP/C#, AutoCAD/Civil 3D
  • Skype: zagor_dmtr
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #8 : 08-06-2017, 17:24:53 »
дополнить статью соответствующими ссылками на первоисточники
Добавил.

Оффлайн Debalance

  • ADN Club
  • ***
  • Сообщений: 156
  • Карма: 1
  • אדם בעל רצון טוב
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #9 : 09-06-2017, 13:07:16 »
Добавил.
Так получается, что это источник Autodesk!

Он где-то написал, что другие источники - это источники Autodesk?
Требую чтобы Ривилис дезавуировал свой вопрос.
Меняю
Извините, вам запрещён просмотр содержимого спойлеров.
на Ваших условиях



Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 6405
  • Карма: 680
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: AutoCAD API. Расчет кривизны дуги (bulge).
« Ответ #10 : 09-06-2017, 13:26:42 »
Так получается, что это источник Autodesk!
Это в терминах MAP 3D.
Требую чтобы Ривилис дезавуировал свой вопрос.
Щас! :)
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение