|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
03.03.2009, 16:55 | #1 | |
Как программно повернуть выбранные блоки к указанной точке?
КИПиА
Tyumen
Регистрация: 21.03.2005
Сообщений: 1,352
|
||
Просмотров: 4516
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Как вариант:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Кстати, пока не забыл - название темы лучше поменять на более информативное.
Код:
Добавлено: гарантированно работает только для WCS. Для немировой системы не гонял.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Один из вариантов (у меня тоже фантазия не безграничная):
"Как программно повернуть выбранные блоки к указанной точке?"
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Убрать добавление угла в 90 градусов, наверное.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Без примера чертежа - очень сложно понять, чего Вы хотите
|
|||
|
||||
Регистрация: 16.01.2020
Сообщений: 10
|
Суть в том, что есть сотни блоков (панелей), имеющих длинную сторону, повернутую относительно оси х. Система координат блока не совпадает с этой длинной стороной (иначе можно было бы решить вопрос имеющимся лиспом). Нужно расположить длинные стороны блоков вдоль оси Х. Я так понимаю, программно можно вычислять угол между самой длинной линией (полилинией) в блоке и осью Х, затем поворачивать блок на этот угол. Либо располагать систему координат в блоке вдоль самого длинного примитива.
Последний раз редактировалось IL-14, 21.01.2020 в 01:16. |
|||
|
||||
идущий по граблям Регистрация: 26.05.2005
Сообщений: 5,095
|
Ловите код и пример результата работы. Для наглядности оставлены копии блоков в исходном положении, зеленым показаны линии, которые признаны самыми длинными. Определять длину хитрозакрученных полилиний в данных блоках бесполезно.
Вызов прежний - rotate-blocks, первая функция the_longest_line_angle - вспомогательная. Код:
Offtop: PPS Это неловкое ощущение, когда прикручиваю свои добавки к творениям мастеров... |
|||
|
||||
Регистрация: 16.01.2020
Сообщений: 10
|
Огромное спасибо! Суть в том, что в акад блоки попадают из Ревита экспортом. Их около 4000. Их нужно определенным образом обработать и передать в Италию станочникам, которые отказываются делать обработку файлов сами. Горизонтальное положение панелей - одно из их требований. Без автоматизации эти файлы можно год обрабатывать. Еще раз спасибо!
|
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Группы или блоки? | Mikhail | AutoCAD | 89 | 07.10.2016 14:20 |
Чертеж превратился в точку | Vadim2268 | AutoCAD | 20 | 28.08.2008 11:21 |
Pline через выбранные блоки | gabrin | Программирование | 3 | 04.08.2008 22:25 |
шаблоны.. блоки.. программы.. | kolobrod | Программирование | 9 | 29.01.2007 11:15 |
Как пронумеровать блоки | Neznayka | AutoCAD | 2 | 20.05.2006 12:41 |