Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: OlegSysa от 12-01-2018, 21:00:42

Название: Создание размеров
Отправлено: OlegSysa от 12-01-2018, 21:00:42
Здравствуйте! Помогите программно начертить размеры.
Есть чертеж:

(https://s9.postimg.org/6p16t3yij/Autodesk_Auto_CAD_2018_-_Drawing1.dwg.jpg) (https://postimg.org/image/6p16t3yij/)

Необходимо сделать линейный размер как на картинке.
В документации нашел что можно использовать  RotatedDimension.
Написал метод. При создании этого объекта надо указать угол поворота.
Не могу понять как правильно его вычислить.
В примере в доке там задается вот так:  acRotDim.Rotation = 0.707;
В каких единицах задается это значение? Явно не в градусах.
Как правильно его вычислить что бы этот размер стал ровно как на картинке?
Может такой размер как то строиться по другому? Не через RotatedDimension?
Спасибо.
Название: Re: Создание размеров
Отправлено: Дмитрий Загорулькин от 12-01-2018, 21:04:10
В каких единицах задается это значение? Явно не в градусах.
В радианах.
Название: Re: Создание размеров
Отправлено: Александр Ривилис от 12-01-2018, 21:13:05
Необходимо сделать линейный размер как на картинке.
В документации нашел что можно использовать  RotatedDimension.
Пойдёт:
(https://farm5.staticflickr.com/4629/39652563751_f036b72331_o.png)

В примере в доке там задается вот так:  acRotDim.Rotation = 0.707;
В каких единицах задается это значение? Явно не в градусах.
В радианах. В AutoCAD все углы в радианах в внутреннем представлении.
Как правильно его вычислить что бы этот размер стал ровно как на картинке?
Нужно установить XLine1Point и Xline2Point (смотри на моей картинке).
Название: Re: Создание размеров
Отправлено: OlegSysa от 15-01-2018, 13:16:07
День добрый! XLine1Point и XLine2Point я изначально и так задаю. Это ж получается основные точки, расстояние между которыми мне и надо измерять. Просто я изначально в вопросе не упомянул о них.
Просто я не могу понять как задать ровный угол поворота для того что бы размер был правильный.
Посмотрел только что информацию о переводе градусов в радианы.
В итоге для того, что бы повернуть размер на 90 градусов я вычислил такую формулу 90/1=П/180
Итого получается 90 градусов = П/2
В коде я задал так  -  Math.PI/2
После этого все получилось.
Такой подход правильный?
Либо надо делать как то иначе?
Спасибо!
Название: Re: Создание размеров
Отправлено: Александр Ривилис от 15-01-2018, 13:45:50
XLine1Point и XLine2Point я изначально и так задаю. Это ж получается основные точки, расстояние между которыми мне и надо измерять.
Нет. Это опорные точки. Расстояние меряется не между ними, а по проекции, которая зависит от угла поворота.
Итого получается 90 градусов = П/2
В коде я задал так  -  Math.PI/2
После этого все получилось.
Такой подход правильный?
Да, если ты меряешь расстояние по вертикали. Если по горизонтали, то угол 0.
Название: Re: Создание размеров
Отправлено: OlegSysa от 15-01-2018, 13:56:27
Ок, спасибо огромное! Буду делать дальше!