dwg.ru forum rss xml
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как найти угол поворота блока, вставленного в ПСК, отличной от мировой

Как найти угол поворота блока, вставленного в ПСК, отличной от мировой

Версия для печати
 
Ответ
Опции темы Поиск в этой теме
Непрочитано 25.03.2015, 17:42
Как найти угол поворота блока, вставленного в ПСК, отличной от мировой
480725
 
Москва
Регистрация: 06.10.2007
Сообщений: 132

480725 вне форума Вставить имя

Случайно обнаружил, что код 50 списка примитива блок, вставленного в произвольной ПСК не соответствует углу поворота блока, заданному при вставке. Если ПСК получена поворотом МСК - то угол соответствует повороту блока в МСК, в более сложных случаях никакой логики не видно. Например вставка блока в ПСК заданной тремя точками 0,0,0 1,1.1 и -1,1,0 с углом поворота 0 при чтении примитива дает угол поворота 1.5708 (90 градусов). Т.е. понять под каким углом вставлялся блок не получается. Кто нибудь ЗНАЕТ решение?
Просмотров: 6235
 
Непрочитано 28.03.2015, 20:52
#21
zamtmn

КИПиА
 
Регистрация: 21.03.2005
Tyumen
Сообщений: 1,410
Отправить сообщение для zamtmn с помощью ICQ


1/64 пришла с очень древних времен, потому что имеет точную запись в любом двоичном представлении с плавающей\фиксированной запятой - никакой вероятности ошибки нет - вектор либо попадает под это условие, либо нет. Сделано это для того чтобы не умножать паралельные вектора (или близкие к паралельным - точность падает), т.к. оси ох и оу системы координат объекта "восстанавливаются" векторным произведением.
Сюрприз связанный с этим - возможность чудесных "скачков" угла поворота блока при 3д операциях с ним
zamtmn вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 21.03.2016, 10:19
#22
tujn08


 
Регистрация: 26.12.2013
Сообщений: 241


Не смог разобраться в дискуссии выше...

У меня вставлен блок в 2D, он же скопирован и вставлен рядом, дальше командой "ПОВЕРНУТЬ" второй блок может быть повернут на +90 -90 +180. Ко всему этому до или после его могли отзеркалить "ЗЕРКАЛО" вместо "ПОВЕРНУТЬ".

Нужно узнать его положение т.е. в каком "углу" относительно блока стоит точки вставки.
Может как-то через габариты блока все узнать? Блок динамический и его размеры будут меняться.
tujn08 вне форума вставить имя Обратить внимание модератора на это сообщение  
 
Непрочитано 10.06.2018, 20:27
#23
black_mts

Строительство
 
Регистрация: 24.09.2010
Сочи
Сообщений: 212


Цитата:
Сообщение от 480725 Посмотреть сообщение
Он идет в плоскости прямоугольника вдоль длинной стороны. Так как угол равен нулю показать его угловым размером невозможно. В принципе, я случайно вспомнил, что когда-то читал про углы поворота таких блоков в документации по 10-му Автокаду. Еще ДОСовскому... Посмотрел. Надо перейти в ОСК этого блока и отрезок построенный под углом 0 даст направление угла поворота блока (каким бы он не был задан, это случайно, что у меня тоже был 0, просто ось X ОСК развернута параллельно развороту блока). Если преобразовать координаты отрезка в ПСК в которой вставляли блок - получим угол поворота при вставке. Т.е. проблема исчерпана, за исключением умозрительного теперь вопроса про код 50 и его непонятное значение... Во всяком случае данное решение очевиднее и проще, чем написано в Arbitrary Axis Algorithm, указанной уважаемым знатоком геометрии zamtmn, который сейчас, надеюсь, уже завершает перевод.
480725, я так понял у вас была проблема как и у меня сейчас и вы ее решили.
Мне нужно узнать истинный углы поворотов в массиве блоков, но т.к. они имеют наклоны (т.е. повернуты вокруг осей X и Y) - угол, отображаемый в свойствах никакого отношения к проекции угла поворота на плоскость XY не имеет.
Прочитал вашу беседу с zamtmn, но т.к. не имею познаний в программировании не понял как решили проблему.
Можно вас попросить изложить более простым языком.

Для примера файл с двумя блоками. Один из них повернут вокруг Y на 2 град. и в свойствах уже отображается 90 град.
Вложения
Тип файла: dwg
DWG 2013
Блок 3В.dwg (40.4 Кб, 1 просмотров)
black_mts вне форума вставить имя Обратить внимание модератора на это сообщение  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как найти угол поворота блока, вставленного в ПСК, отличной от мировой

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

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

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Угол поворота атрибута в составе блока rzinnurov AutoCAD 15 18.10.2017 08:08
Проблема с базовой точкой блока и вхождением блока в DXF nogaems Программирование 5 29.08.2013 15:46
Как найти имя предка анонимного блока. Kirill_Ja Программирование 4 16.04.2013 17:33
lisp из autocad 2004 некорректно выполняется в autocad 2008 sid_geo LISP 13 11.10.2012 11:20
VBA. 3D. Ориентация блоков (примитивов) в пространстве? Как определить угол поворота? shumilovvv Программирование 2 15.05.2009 12:18

|| Главная || Каталог САПР || Тендеры || Публикации || Объявления || Биржа труда || Download || Галерея ||
|| Библиотека || Кунсткамера || Каталог предприятий || Контакты || Файлообменник || Блоги ||