| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Как создать Отрезок (Полилинию) через autocad.net используя полярную систему координат?

Как создать Отрезок (Полилинию) через autocad.net используя полярную систему координат?

Ответ
Поиск в этой теме
Непрочитано 21.08.2019, 15:25 #1
Как создать Отрезок (Полилинию) через autocad.net используя полярную систему координат?
kurstep
 
Регистрация: 27.01.2012
Сообщений: 231

Здравствуйте, когда мы создаем отрезок или полилинию в автокад интерактивно это можно сделать как через указания координат точек (0,0 10,0) , так и через полярные координаты (абсолютные и относительные). Полярные относительные задаются через такой синтаксис :
Команда: отрезок
От точки 0,0
К точке: @3<45
К точке: @5<285
.... Как подобное реализовать на c#?... Есть штатные функции у Autocad.net? Или у кого-нибудь может есть свой метод?
Просмотров: 653
 
Непрочитано 21.08.2019, 15:36
#2
trir


 
Регистрация: 18.12.2010
Сообщений: 3,633


расчитать координаты
trir вне форума  
 
Непрочитано 21.08.2019, 17:26
#3
Boxa

КЖ; C#
 
Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,084


kurstep, а зачем нужен свой метод, если работает штатный?

Вот код, прости Господи на VB.net (ну какой проект был открыт, в том и накидал код), там ниже пример его работы...
Код:
[Выделить все]
    <CommandMethod("qqq")>
    Public Sub qqq()
        Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
        If IsNothing(acDoc) Then Exit Sub
        Dim acEd As Editor = acDoc.Editor
        Dim opt1 As PromptPointOptions = New PromptPointOptions("Точка 1?")
        opt1.AllowNone = False
        Dim res1 As PromptPointResult = acEd.GetPoint(opt1)
        Dim opt2 As PromptPointOptions = New PromptPointOptions("Точка 2?")
        opt2.AllowNone = False
        opt2.BasePoint = res1.Value
        opt2.UseBasePoint = True
        opt2.UseDashedLine = True
        Dim res2 As PromptPointResult = acEd.GetPoint(opt2)

        acEd.WriteMessage($"{ControlChars.CrLf} point 1: {res1.Value.X}, {res1.Value.Y}, {res1.Value.Z}")
        acEd.WriteMessage($"{ControlChars.CrLf} point 2: {res2.Value.X}, {res2.Value.Y}, {res2.Value.Z}")
    End Sub
Лог выполнения
Код:
[Выделить все]
Команда: QQQ
Точка 1?: 5,3
Точка 2?: @10,10

 point 1: 5, 3, 0
 point 2: 15, 13, 0
Команда: QQQ
Точка 1?: 3,2
Точка 2?: @5<45

 point 1: 3, 2, 0
 point 2: 6.53553390593274, 5.53553390593274, 0
Как видно, метод GetPoint() объекта редактора вполне себе хавает относительные координаты в том числе и в полярном формате.
__________________
_бложиг
Boxa вне форума  
 
Непрочитано 22.08.2019, 11:53
#4
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,683
Отправить сообщение для Do$ с помощью Skype™


Как-то так:
Код:
[Выделить все]
 Point3d startPoint = Point3d.Origin; // 0, 0, 0

double
    distance = 5.0, // в ед.чертежа
    angle = 45.0; // в градусах

Vector3d polar = Vector3d.XAxis
    .MultiplyBy(distance)
    .RotateBy(angle * Math.PI / 180, Vector3d.ZAxis);

Point3d secondPoint = startPoint.Add(polar);
И для 2D:
Код:
[Выделить все]
 Point2d startPoint = Point2d.Origin; // 0, 0, 0

double
    distance = 5.0, // в ед.чертежа
    angle = 45.0; // в градусах

Vector2d polar = Vector2d.XAxis
    .MultiplyBy(distance)
    .RotateBy(angle * Math.PI / 180);

Point2d secondPoint = startPoint.Add(polar);
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > Как создать Отрезок (Полилинию) через autocad.net используя полярную систему координат?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт координат из экселя в полилинию AutoCAD Ролана Программирование 19 23.08.2017 01:10
Создать таблицу в AutoCAD из отдельных замкнутых линий (отрезок, полилиния). sathalex Программирование 3 17.04.2015 09:11
Проблемы при создании системы координат в Civil 2012 8orms Вертикальные решения на базе AutoCAD 3 22.09.2014 18:44
Civil 3d Как создать ведомость координат оси трассы? CHESNOK Вертикальные решения на базе AutoCAD 7 28.07.2014 16:16
Создать таблицу координат блоков. Civil 3D dorogi-dorogi Вертикальные решения на базе AutoCAD 1 27.09.2012 16:11