|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Вращение множества объектов вокруг локальных центров.
Иркутск
Регистрация: 20.06.2005
Сообщений: 57
|
||
Просмотров: 9409
|
|
||||
Регистрация: 20.06.2005
Иркутск
Сообщений: 57
|
Цитата:
Или предлагаете создать их по отдельности?)) Так это то же самое, что поворачивать вручную.. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Поскольку прозвучало "центр масс", подозреваю, что надо проворачивать над регионами или солидами. А тогда можно и таким манером (говорю сразу, все по-топорному, т.к. с методом vla-rotate что-то не получилось с наскоку - точку variant и safearray сводят с ума):
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 20.06.2005
Иркутск
Сообщений: 57
|
Цитата:
kpblc, эту операцию нужно проворачивать в основном над прямоугольниками из полилиний. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Дык ить, ета... Предупреждать надо. Что придется работать над фактически описанным прямоугольником. Тогда попробуй такое:
Код:
--- Добавлено: Вот этот вариант может быть немного побыстрее - нет одного лишнего преобразования: Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Хныкая и утирая крокодиловы слезки:
Эх, Лентяй, Лентяй... Прошше не почучацца ![]() В общем, тут дело такое. У меня с ActiveSelectionSet отношения что-то не сложились - железяка (2005) упрямо при попытке (sssetfirst) обратиться к ActiveSelectionSet показывала предыдущий выбор, пока новый объект не выделен. Т.е. у меня получилось так, что ActiveSelectionSet есть не активный выбор, а последний. Т.е. фактически надо проверять на наличие ActiveSelectionSet, очищать его и потом запрашивать новый. Головняк, и я пошел старым проверенным путем. А lamdba-функции у меня качественными не получаются. Наверное (да не наверное, а точно!), мозгов не хватат. И (в голос) - ну один меня, один! Если меня много, я теряюсь среди себя!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Цитата:
Цитата:
![]() Цитата:
Цитата:
![]() |
|||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Дык ить я ж ожидал от ActiveSelectionSet'a аналог поведения (ssget). Ан не вышло. Квалификации-то все ж маловато
![]() По проверке получилось следующее: Складываем: Код:
Цитата:
Код:
Лентяй, при всем уважении - настоятельная просьба: меня - ОДИН!!! См. подпись ![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
Но не надо отчаиваться. Я тут немножко поизвращался и наваял верчение не только вокруг центров, но и вокуг точки относительно мин. угла. Наслаждайтесь! Код:
|
|||
![]() |
|
||||
Регистрация: 20.06.2005
Иркутск
Сообщений: 57
|
Лентяй, а почему оно не загружается?:
Command: _appload MROT.lsp successfully loaded. Command: ; error: malformed list on input и что означает "вокуг точки относительно мин. угла" И еще, не хотел флеймить дополнительным топиком.. "Что лучше?" VBA или Lisp? Что может позволить бейсик и не может позволить лисп и наоборот, при одинаковых трудозатратах? Прошу прощения за полуриторический вопрос, но если есть, что сказать, то извольте.. |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Почему. почему... Скобочку пропустил
![]() Код:
Цитата:
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
Категорически не согласен насчет "сочетаются". Для ради интересу можно попробовать передать вычисленные значения из лиспа в VBA и наоборот. Геморрой тот еще. Приходится использовать либо setenv / getenv, либо ini-файлы.
Если lisp позволяет не только ActiveX работать с примитивами, то VBA - только объектная модель. Да, многие вещи лучше, проще и дешевле делать ActiveX / VBA, но некоторые моменты лично мне проще сделать через entmake / entmakex.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
За что люблю, так это за категоричность несогласия вплоть до пренебрежения смыслом того, с чем не соглашаешься. Тебе, kpblc, русским по белому нарписли:
Цитата:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
сорри, значит, понял неправильно. Подумал, что фраза "Они прекрасно сочетаются друг с другом" относится на связку VBA <-> LISP.
Бывает, особенно с утра пораньше.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,450
|
А як же ш! Потом времени не будет!
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Проектировщик ВК. LISP-любитель. Регистрация: 15.12.2003
Москва
Сообщений: 1,202
![]() |
Лентяй
Цитата:
однажды многоуважаемый господин-товарищ Alaspher фигурально ткнул меня носом в такой оборотец, выказав что сие есть безкультурно и потенциально чревато бяками. |
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
>Apelsinov Я уже отвечал кому-то, что сам не люблю смешения стилей. Ноесли сравнить трудозатраты на
Код:
|
|||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Да! Совсем упустил из виду, что прежде, чем что-то выбирать в selset, его самого нужно сначала определить добавлением в коллекцию SelectionSets, что есть уже отдельный геморрой. Короче, (ssget) рулез :!: :!: :!:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Похожие темы
Rotate нескольких объектов вокруг своей оси
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
ДОРРОГГИ Регистрация: 17.06.2013
Екатеринбург
Сообщений: 3
![]() |
Нет не совсем то, есть план который необходимо повернуть, и чтоб надписи небыли сикось на кось, надо их повернуть скажем на определенный угол 15°, при этом надписи все расположены под разными углами и вращение происходило вокруг точки вставки.
Решение в посте #16 отличное, вот только при выборе способа вращения Point выдает ошибку "; ошибка: неверный тип аргумента: point: nil" VVA может глянете что подправить) С уважением Николай Последний раз редактировалось roggi-y, 18.06.2013 в 14:40. |
|||
![]() |