Список форумов Конференция САПР Bentley MicroStation Конференция САПР Bentley MicroStation
www.ustation.ru
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Вопрос по функции GetIntersectionPoints

 
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное
Предыдущая тема :: Следующая тема  
Автор Сообщение
ivsem



Зарегистрирован: 01.02.2006
Сообщения: 63
Откуда: Киев

СообщениеДобавлено: Сб Окт 24, 2009 9:43 pm    Заголовок сообщения: Вопрос по функции GetIntersectionPoints Ответить с цитатой

Код:

Public Sub intersection3()
Dim intersections() As Point3d
Dim Matrix3dIdentity As Matrix3d
Dim pt1 As Point3d, pt2 As Point3d, pt3 As Point3d, pt4 As Point3d
Dim oIntersector As LineElement
Dim oLine   As LineElement

    pt1 = Point3dFromXYZ(-1, 0, 0)
    pt2 = Point3dFromXYZ(3, 1, 0)
    pt3 = Point3dFromXYZ(0, 5, 0)
    pt4 = Point3dFromXYZ(2, -2, 0)
    ActiveSettings.ColorName = "Red"
    Set oIntersector = CreateLineElement2(Nothing, pt1, pt2)
    ActiveModelReference.AddElement oIntersector
    oIntersector.Redraw
    ActiveSettings.ColorName = "Blu"
    Set oLine = CreateLineElement2(Nothing, pt3, pt4)
    ActiveModelReference.AddElement oLine
    oLine.Redraw
 
   intersections = oLine.GetIntersectionPoints(oIntersector, Matrix3dIdentity)
End Sub

Получаю два значения:
intersection(0) X =0.4 Y = 3.6
intersection(1) X =2 Y = -2
Координаты точки пересечения с чертежа совсем другие:
X=1.237 Y=0.567
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Leonid
давно здесь сидим


Зарегистрирован: 28.01.2006
Сообщения: 598
Откуда: С.-Петербург

СообщениеДобавлено: Пн Окт 26, 2009 8:50 am    Заголовок сообщения: Ответить с цитатой

Нужно убрать строчку
Dim Matrix3dIdentity As Matrix3d

потому что Matrix3dIdentity - это метод, возвращающий единичную матрицу, а в вашем случае вы задавали пустую матрицу, вот он и выдавал непонятно что Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
ivsem



Зарегистрирован: 01.02.2006
Сообщения: 63
Откуда: Киев

СообщениеДобавлено: Пн Окт 26, 2009 10:19 am    Заголовок сообщения: Ответить с цитатой

Спасибо Леонид!
Надо было мне посмотреть в "браузере" что-такое Matrix3dIdentity
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Конференция САПР Bentley MicroStation -> Прикладное Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group