Тогда я совсем не могу понять, а то тебе надо? Пробую угадать, 1) в каде уже есть модель 2) мы тыкаем мышкой в какое то место и плагин отправляет в прибор углы и растояния, 3) специально обученный сотрудник бежит с вешкой в это место. так?
Разговор шел про механизм трансформации в Autocad .net api,я просто поддержал разговор.Здесь обратный процесс-съемка. Представь детали(например металлические колонны) конструктора, только в реальности на стройке, по проекту они должны быть одинаковы, но по каким-то причинам это не так, мы должны получить математическую модель каждой детали в Автокаде. Каждая деталь разбросана как попало.После измерений мы можем эти детали раскидать по осям и вынести, какие либо, характерные точки на местности, например расположение анкерных болтов с учетом дефектов. --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 --- Если запрограммировать обратный процесс, можно выносить из плоского чертежа, на любую наклонную плоскость. --- Сообщения объединены, 14 мар 2016 --- Это можно применять в судостроении, где оси и положение фактической конструкции все время меняются, и отсчет ведется от характерных точек конструкции, а система координат располагается относительно них.
У тебя лежит на земле металлическая труба, в ней надо просверлить дырку согласно чертежам, потом это трубу поднимут краном и куда-нибудь приварят. Задача, где сверлить дырку? 1) тахиометром снимаем 2 точки объекта 2) плагин качает эти 2 размера по блютузу, usb, электронной почте. 3) плагин рисует 2 крестика(точки) в специальном слое "измерения" черным цветом. 4) руками проводим 2 красных отрезка от крестиков к тем же точкам в чертеже. 5) жмем кнопку "считать". 6) плагин по красным отрезкам считает матрицу трансформации и перемножает ее со всеми точками модели (вся модель переезжает в нашу систему координат). 7) руками тыкаем в нужную точку (дырку) и говорим "отправить". 8) в прибор передаются координаты (ну или угол\расстояние). 9) показываем место, где надо сверлить. Такая стоит задача?
Что-то вроде того, только труба-это частный случай, 2 точки - это для двухмерной трансформации, а для трех мерной нужно 3. Необходимо 3Д трансформация, иначе деталь нужно будут нивелировать по высоте.Представь Колонна-двутавр с наваренной плоской пяткой с дырками под анкера, которые пляшут.А анкера необходимо разметить на местности.
млять, все таки в 3D нужно 3 точки --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 --- Ну тот же самый пример с трубой, только двутавр надо перетащить через две наших системы координат. А что конкретно нужно от софта? Скорее всего трансформации проще выполнять автокадовыми средствами. --- Сообщения объединены, 14 мар 2016 --- 1 система координат, снимаем 3(или больше) точек двутавры, снимаем дырки под анкера, перетаскиваем модель в эту систему, правим в модели дырки. 2 система координат, снимаем 3 точки, того что лежит на земле, перетаскиваем модель с новыми дырками в эту СК и уже готовы выносить на местность. Даже не знаю, механизм трансформации в каде будет использовать те же самые матрицы, нет особого смысла копать справку.
Да, это я и имел ввиду, в моем проекте это реализовано, но я вспомнил почему не сделал штатными методами, потому что первая точька 0,0,0, пересечение осей координат в новой системе, вторая на линии плоскости конструкции и на новой оси Оx (если система декартова), а третья будет находится в полуплоскости и на грани конструкции.Так вот ,в реальности не возможно поставить 3 точку так, чтобы ее проекция на ось Ох равнялась 0.0, так как угол по 3-м точкам редко когда будет девяносто, автокадовы методы подразумевают это.Может как то и можно сделать, но я не допер.
Так не получится, потому что трансформации не матрицей. У тебя 3 вектора из нуля в любые 3 точки которые ты найдешь на чертеже и в объекте, потом считаем матрицу, потом перемножаем на нее все координаты. http://www.gamedev.ru/code/articles/?id=4184 --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 --- Если остальное работает и проблема только в этой математике, то задача простая.
Вычислял матрицей, просто 3 точка находилась в любом месте полуплоскости, и третий вектор вычислялся по уравнениям. По координатам находились угловые коэффициенты прямых, затем нормальные вектора, которые составляли коэффициенты матрицы, хотя что то мне кажется по памяти немного вру. --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 --- У меня больше проблема с пониманием, как создать например панель инструментов или палитру, как в Геониксе геодерево.
Ну с панелью надо разбираться, что то про это читал, сейчас не помню. Сделай сначала чтобы работало на консольных командах.
зачем, почему в точку нельзя прибором тыкнуть? --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 --- ну тогда нечего подсказать, я с вкладками\кнопками не разбирался https://habrahabr.ru/post/263373/ --- Сообщения объединены, 14 мар 2016 --- хотя , судя по коду, там клон winforms https://forums.autodesk.com/t5/net/...tons-for-autocad-mechanical-2011/td-p/2834343
Потому,что деталь(колонна) не идеальная математическая модель, то есть соответствующие грани и линии взаимно перпендикулярны. --- Сообщения объединены, 14 мар 2016, Оригинальное время сообщения: 14 мар 2016 --- Спасибо за ссылку. --- Сообщения объединены, 14 мар 2016 --- Есть косячки в проекте, нужно исправлять, пока времени мало на это.
Приветствую, понимаю, что эту тему давно обсуждали, но я как раз думаю о расширении функционала своего ПО для ГНСС RoverCAD https://rovercad.ru добавлением в него поддержки тахеометров и в том числе роботов. В наличии такой имею робот-Leica, можно как раз на нём и практиковать.