|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как пересчитать координаты Модели в Лист и наоборот
г. Норильск
Регистрация: 15.08.2005
Сообщений: 626
|
||
Просмотров: 226
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,430
|
Ну так смотри DXF Reference на предмет VIEWPORT, все эти данные вроде бы там должны быть.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
инженер Регистрация: 03.08.2007
Сообщений: 1,414
|
Это Viewport Outline
|
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 626
|
Да, я её и имел ввиду. Спасибо!
Осталось задачу №2 решить. ----- добавлено через ~53 мин. ----- Собственно, реальная задача такая: Есть Лист с объектами, в нём видовой экран, через который тоже видны какие-то объекты. Некоторые из них (и в Модели м в Листе) попадают в некую выборку и должны быть отмечены на экране временными маркерами, чтобы проектировщик обратил на них внимание. Маркеры формируются через функцию (grvecs ...) - разные цвета и фигуры, не суть. Нужно, чтобы ВСЕ эти маркеры одновременно были видны на экране. И для объектов Модели и для объектов Листа. И показывали верно - на нужные объекты. В Автокаде всё у меня работало, в nanoCAD-23.1 - не получается. Мало того, что сама функция (grvecs ...) написана с ошибкой (некорректно отображаются цвета), так ещё и NC по другому отображает эти маркеры при различных методах переключения между ВЭ=>Модель и обратно в Лист. Есть мысль собрать точки объектов Модели, пересчитать их в точки Листа, а затем, переключившись в Лист, одним махом отметить и эти точки и точки объектов Листа. Но если, кто подкинет мысль, как в NC сделать это же самое альтернативным способом - то тоже вариант.
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 626
|
Вроде бы нашёл в интернете упоминание о некоей функции
WCS2DCS (вероятно перевод МСК в Дисплейную (?) СК), но ссылок на неё найти не могу, а раскручивать в обратную сторону функцию PCS2WCS пока нет времени. Кому-нибудь попадалось что-то вроде этого?
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 626
|
Понятное дело, что "в лоб" задачу №2 можно решить по алгоритму:
- Входим из Листа через ВЭ в пространство Модели - Даём (trans (trans p1 2 3) 0 2) где p1 - точка Модели в МСК - Получаем точку отражения Модели на Лист через данный ВЭ Но! 1) Не хочется терять время на переходы Лист/Модель/Лист 2) Этот способ не универсальный - в NC23.1 всё работает верно, а вот в AutoCAD (по крайней мере, в версии 2016) - врёт безбожно. На "ровненьких" ВЭ с масштабом 1=1 ошибка уже в первом знаке после запятой, а на ВЭ с масштабированием вообще чушь получается. На более поздних АС проверить не могу - может быть уже и поправили. Кто-нибудь решал эту задачу по принципу функции PCS2WCS, но "в обратную сторону", через матрицу преобразований, собранную из параметров ВЭ ?
__________________
Счастливо, Алексей! |
|||
![]() |
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 626
|
Можно, конечно, для ускорения процесса (и только как частный случай для NC)
при вызове программы один раз сходить из Листа в ВЭ(ы) вычислить вектор(ы) пересчёта координат Модели в Лист и применять его ко всем найденным точкам. Но всё равно неспортивно оно как-то... Надо матрицу пересчёта делать по-хорошему. В чем физический смысл DXF-12 у ВЭ ?
__________________
Счастливо, Алексей! |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
А как определить, где у меня на модели конкретный лист? | fastline | AutoCAD | 31 | 08.12.2019 23:16 |
Autocad2017_Как изменить вес линии при печати. Когда добавил на лист деталь из пространства модели? | ame47 | AutoCAD | 1 | 03.07.2017 08:35 |
Autocad 2015 Случайное переключение с модели на лист | Konstruktiv54 | AutoCAD | 4 | 17.04.2015 15:05 |
Необходимо каждый слой модели переместить на новый лист с тем же именем | dallaskassel | Программирование | 27 | 29.08.2011 13:35 |
Глюк с модели в лист | kitep | AutoCAD | 6 | 10.03.2007 00:11 |