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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > AutoCAD NET API Vector3d.GetNormal()

AutoCAD NET API Vector3d.GetNormal()

Ответ
Поиск в этой теме
Непрочитано 18.09.2014, 12:27 #1
AutoCAD NET API Vector3d.GetNormal()
trir
 
Регистрация: 18.12.2010
Сообщений: 5,047

У меня два вопроса, но я думаю они связанны

1. Как определить положение startAngle для Arc созданой методом:
Public Sub New(center As Autodesk.AutoCAD.Geometry.Point3d, normal As Autodesk.AutoCAD.Geometry.Vector3d, radius As Double, startAngle As Double, endAngle As Double)

2. По какому принципу получается нормаль методом Vector3d.GetNormal()

----- добавлено через ~2 ч. -----
nArc.StartPoint
но это после... а вот как до?
Просмотров: 6659
 
Непрочитано 19.09.2014, 00:25
#2
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Я тебе подготовил уже два ответа:
Как определить положение StartPoint для Arc?
Как работает алгоритм Vector3d.GetPerpendicularVector?
Встречный вопрос. А зачем тебе понадобился этот принцип?
Цитата:
nArc.StartPoint
но это после... а вот как до?
Это я не понял. Переведи. Но в той теме, где я уже ответил.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 19.09.2014, 07:33
#3
trir


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


Пока жду подтверждение регистрации...

Код:
[Выделить все]
            Dim V1, V2 As Vector3d
            V1 = nP - centrP
            V2 = nVP2.GetPerpendicularVector
            Dim dAngl As Double = V1.GetAngleTo(V2)
            Dim nArc As New Arc(centrP, nVP2, wSegm.radius, dAngl, dAngl + wSegm.beta)
где dAngl - угол между nP и nArc.StartAngle
trir вне форума  
 
Непрочитано 19.09.2014, 09:52
#4
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


Arbitrary Axis Algorithm - http://www.autodesk.com/techpubs/aut...thm_dxf_ab.htm в автокаде так восстанавливаются оси 0x и 0y системы координат объекта по нормали
zamtmn вне форума  
 
Непрочитано 19.09.2014, 13:25
#5
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от zamtmn Посмотреть сообщение
Arbitrary Axis Algorithm - http://www.autodesk.com/techpubs/aut...thm_dxf_ab.htm в автокаде так восстанавливаются оси 0x и 0y системы координат объекта по нормали
Именно этот код я и показал.
Александр Ривилис вне форума  
 
Непрочитано 19.09.2014, 14:31
#6
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
<phrase 1=


>>Именно этот код я и показал.
Код кодом, но ссылка на документацию никогда не помешает))
zamtmn вне форума  
 
Непрочитано 25.01.2018, 16:11
#7
Do$

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


Цитата:
Сообщение от trir Посмотреть сообщение
2. По какому принципу получается нормаль методом Vector3d.GetNormal()
На всякий случай уточню, что этот метод - для получения единичного вектора (сонаправленного вектора длиной 1 ед.чертежа), а не нормали (перпендикуляра). Название метода сбивает с толку. Просто гугл по запросу "autocad net vector3d getnormal" одной из первых находит эту тему, а обсуждается здесь, по сути, другой метод.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 25.01.2018, 16:14
1 | #8
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от Do$ Посмотреть сообщение
На всякий случай уточню, что этот метод - для получения единичного вектора (сонаправленного вектора длиной 1 ед.чертежа)
Этот процесс называется нормализация вектора. Отсюда и такое название.
Александр Ривилис вне форума  
 
Непрочитано 25.01.2018, 16:39
#9
Do$

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


Даже с учётом этого, считаю, что название метода крайне неудачное. GetNormal однозначно ассоциируется с получением перпендикуляра. Стоило назвать тогда как-то так: Vector3d.Normalize или Vector3d.GetNormalized...
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
 
Непрочитано 06.03.2018, 13:51
#10
Do$

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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Этот процесс называется нормализация вектора.
Сейчас поймал себя на том, что теперь я набираю название метода как "Normalize". Несколько секунд недоумеваю: почему IntelliSence не подставляет его, а вставляет какой-то непонятный GetNormal?? А потом приходит понимание
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic)
Do$ вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > AutoCAD NET API Vector3d.GetNormal()

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно подгрузить тяжелый растр? mixey AutoCAD 6 01.08.2014 19:59
Интеграция Autodesk СПДС в AutoCAD 2012 bolotov Прочее. Программное обеспечение 24 07.01.2013 20:22
Превратить AutoCAD Map 3D в обычный AutoCAD (по панелям) gizmo_zx Вертикальные решения на базе AutoCAD 3 24.08.2011 11:25
AutoCAD 2009/2010 в ряде вопросов серьёзно курят перед AutoCAD 2007/2008 hwd Баги и пожелания в Autodesk 30 10.11.2010 12:56
В русской версии AutoCAD 2010 SP1 32-bit файл Acad.PGP содержит ошибки. hwd Баги и пожелания в Autodesk 21 21.04.2010 20:27