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

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

Как определить угол поворота блока в МСК при его вращении в ОСК

Ответ
Поиск в этой теме
Непрочитано 12.06.2018, 23:21 #1
Как определить угол поворота блока в МСК при его вращении в ОСК
black_mts
 
Строительство
 
Сочи
Регистрация: 24.09.2010
Сообщений: 215

Всем привет!
Не могу решить следующую
Как определить угол поворота блока МСК, который имеет повороты по мимо оси Z еще и вокруг осей X и Y. От этого, отображаемый в свойствах "поворот" никакого отношения к проекции угла поворота на плоскость XY не имеет.
Ручное определение не предлагать т.к. у меня их массив из более 300 шт)).

Мне нужно узнать истинные углы поворотов блоков, вокруг оси Z блока в проекции на XY

Тут и тут пока не получил желаемого результата. Прошу "местных" подсказать последовательность действий.

Для примера файл с двумя блоками. Один из них повернут вокруг Y на 2 град. и в свойствах уже отображается поворот на 90 град.

Вложения
Тип файла: dwg
DWG 2013
Блок 3D.dwg (40.4 Кб, 105 просмотров)

Просмотров: 3171
 
Непрочитано 13.06.2018, 06:52
#2
Boxa

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


Узнать угол наклона Вашего блока к плоскости XY можно посмотрев на нормаль Вашего блока.
Тот блок, который Вы повернули на 2 градуса, имеет нормаль (-0.0523,0,0.9986) и дальше вычислить угол между двумя плоскостями.
Т.к. автокад не предлагает штатных инструментов для просмотра и редактирования нормалей элементов, то ручной способ ,ИМХО, просто невозможен и предлагать его бессмысленно.

И тут вариантов не так много: писать специальную программу или с помощью Excel пытаться расковыривать dxf файл.
В общем удачи Вам... =о)

Последний раз редактировалось Boxa, 13.06.2018 в 10:39.
Boxa вне форума  
 
Непрочитано 13.06.2018, 10:19
#3
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,091


Цитата:
Сообщение от Boxa Посмотреть сообщение
Т.к. автокад не предлагает штатных инструментов для просмотра и редактирования нормалей элементов
А как же _LIST ?
Цитата:
Команда: _List
Выберите объекты: Противоположный угол: найдено: 2

Выберите объекты:

ВХОЖДЕНИЕ БЛОКА Слой: "0"
Пространство: Пространство модели
Метка = c54
Имя блока: "3D Блок"
в точка, X= 0.0000 Y= 0.0000 Z= 0.0000
Масштаб по оси X: 1.0000
Масштаб по оси Y: 1.0000
Масштаб по оси Z: 1.0000
Направление выдавливания относительно ПСК:
X= -0.0523 Y= 0.0000 Z= 0.9986

Единицы вставки: Миллиметры
Преобразование единиц: 1.0000
Одинаковый масштаб: Нет
Разрешить расчленение: Да

ВХОЖДЕНИЕ БЛОКА Слой: "0"
Пространство: Пространство модели
Метка = bbe
Имя блока: "3D Блок"
в точка, X= 0.0000 Y= 0.0000 Z= 0.0000
Масштаб по оси X: 1.0000
Масштаб по оси Y: 1.0000
угол поворота: 0
Масштаб по оси Z: 1.0000
Нажмите ENTER для продолжения:
Единицы вставки: Миллиметры
Преобразование единиц: 1.0000
Одинаковый масштаб: Нет
Разрешить расчленение: Да
Цитата:
Сообщение от black_mts Посмотреть сообщение
Ручное определение не предлагать т.к. у меня их массив из более 300 шт)).....Мне нужно узнать истинные углы поворотов блоков, вокруг оси Z блока в проекции на XY
Если не писать прогу - то _LIST по всем блокам (сразу или по частям), а затем из листинга выковырять значения нормалей и пересчитать в том же Экселе.

Последний раз редактировалось kp+, 13.06.2018 в 10:26.
kp+ вне форума  
 
Непрочитано 13.06.2018, 10:38
#4
Boxa

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


Блин, забыл про _List... хотя это не намного проще чем по dxf лазить...
Boxa вне форума  
 
Непрочитано 20.06.2018, 20:18
#5
zamtmn

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


>>Для примера файл с двумя блоками. Один из них повернут вокруг Y на 2 град. и в свойствах уже отображается поворот на 90 град.
а что вы хотели увидеть?
в DXF ориентация блока задается нормалью и углом поворота вокруг нормали. Исходную ориентацию блока зная только нормаль однозначно восстановить нельзя, поэтому используется Arbitrary Axis Algorithm - именно он и дает скачок в 90 градусов.

>>Прошу "местных" подсказать последовательность действий.
узнаете нормаль (OZ), используя Arbitrary Axis Algorithm считаете (OX) и (OY), затем поворачиваете (OX) и (OY) на угол поворота блока (емнип группа 50, но могу врать). Теперь вы имеете базисные оси СК блока, из них высчитываете требуемый вам угол.

>>Как определить угол поворота блока МСК, который имеет повороты по мимо оси Z еще и вокруг осей X и Y
в трехмерном случае нету никакого "угол поворота блока МСК". Представте что у вашего блока (OX) получился 0,0,1 какой тут будет "угол поворота блока МСК"?
zamtmn вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Как определить угол поворота блока в МСК при его вращении в ОСК

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как определить угол поворота блока вокруг осей X и Y? mikls LISP 4 23.04.2016 20:58
Как определить размер температурно-усадочного блока? Румби Железобетонные конструкции 1 15.03.2016 18:03
СПДС CS 7. Как определить угол наклона объекта к осям ПСК из скрипта? AlexV ПО от CSoft 8 18.02.2016 18:22
Как определить имя блока Autocad при помощи VBA? allrather Программирование 3 12.12.2015 11:35
Угол поворота Viewport plaz AutoCAD 15 05.12.2006 02:27