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

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

повернуть одновременно несколько объектов

Ответ
Поиск в этой теме
Непрочитано 29.01.2009, 11:24 #1
повернуть одновременно несколько объектов
Natasha111
 
Регистрация: 22.09.2008
Сообщений: 65

Нашла в поиске что-то с программированием, ничего не поняла
Есть ли в Автокаде 2006 такая команда: повернуть несколько объектов одновременно и чтобы они оставались при этом на своем месте?
Просмотров: 21720
 
Непрочитано 29.01.2009, 11:30
#2
OxYGeN

Инженер-конструктор
 
Регистрация: 19.02.2008
Москау
Сообщений: 367
<phrase 1=


круги чтоли поворачиваем? при повороте объекта указывается точка, вокруг которой оа поворачивается... если у нескольких объектов эта точка не совпадает, то никак... поставьте вопрос более широко, может найдется другой вариант решения.
__________________
Помни о темной стороне лайаута юный инженер.
OxYGeN вне форума  
 
Непрочитано 29.01.2009, 11:32
#3
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


для блоков и текстов есть команда _torient из Express Tools
Хмурый вне форума  
 
Непрочитано 29.01.2009, 11:33
#4
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


А что нашла в программировании? Ссылка есть?
Profan вне форума  
 
Непрочитано 29.01.2009, 11:35
#5
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Если объекты - блоки, можно задать им всем разом значения угла поворота относительно точки вставки каждого. Повернуть НА определенный угол все блоки (если изначально у них были углы разными), - тут уже нужен лисп али VBA, по-моему.. Ну а для отдельно растущих примитивов (линий-полилиний и т.д.) - тоже можно программу написать, если определится, что будет являться точкой поворота для каждого из типов (середина линии, "центр тяжести" области, и т.д.)
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 29.01.2009, 11:44
#6
Natasha111


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


Цитата:
Сообщение от Profan Посмотреть сообщение
А что нашла в программировании? Ссылка есть?
http://forum.dwg.ru/search.php?searchid=2000932

Цитата:
Сообщение от OxYGeN Посмотреть сообщение
круги чтоли поворачиваем? при повороте объекта указывается точка, вокруг которой оа поворачивается... если у нескольких объектов эта точка не совпадает, то никак... поставьте вопрос более широко, может найдется другой вариант решения.
Более широко: есть текст, что стоит под углом 90 гр., его много, мне нужно повернуть его, чтобы я его видела на экране горизонтально, а не "на попах".

Цитата:
Сообщение от Хмурый Посмотреть сообщение
для блоков и текстов есть команда _torient из Express Tools
Шоб я знала этого зверя! Извините, слышала, но не пользовалась, куда податься за выяснениями?

Цитата:
Сообщение от AlexV Посмотреть сообщение
Если объекты - блоки, можно задать им всем разом значения угла поворота относительно точки вставки каждого. Повернуть НА определенный угол все блоки (если изначально у них были углы разными), - тут уже нужен лисп али VBA, по-моему.. Ну а для отдельно растущих примитивов (линий-полилиний и т.д.) - тоже можно программу написать, если определится, что будет являться точкой поворота для каждого из типов (середина линии, "центр тяжести" области, и т.д.)
Программу конечно можно, только вот проект-то закончить сегодня надо.

Последний раз редактировалось Кулик Алексей aka kpblc, 29.01.2009 в 14:36.
Natasha111 вне форума  
 
Непрочитано 29.01.2009, 12:16
#7
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Цитата:
Сообщение от Natasha111 Посмотреть сообщение
Более широко: есть текст, что стоит под углом 90 гр., его много, мне нужно повернуть его, чтобы я его видела на экране горизонтально, а не "на попах".
Natasha111, ну так выдели все текстовые объекты, и в окне свойств задай им поворот 0... Конечно, если у текста привязка не "по центру", он может несколько сместиться...
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 29.01.2009, 12:22
#8
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Natasha111, Express Tools- комплект дополнительных утилит. Поставляется на одном диске с AutoCAD'ом, во всех версиях с 2000 по 2009, кроме 2002.
Вставить диск в дисковод и доустановить утилиты
Хмурый вне форума  
 
Непрочитано 29.01.2009, 12:36
1 | #9
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Ну если просто текст. Особенно если однострочный, то просто.
В свойствах ставите угол поворота 0, а потом кнопкой копирование свойств кликаете на каждый другой размер (числа) и будет Вам щастье все в одну строку. Только потом каждый придется регулировать.
А еще бывает Мтекст..., но и в его окне есть нечто на эту тему
BM60 вне форума  
 
Автор темы   Непрочитано 29.01.2009, 12:37
#10
Natasha111


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


Цитата:
Сообщение от AlexV Посмотреть сообщение
Natasha111, ну так выдели все текстовые объекты, и в окне свойств задай им поворот 0... Конечно, если у текста привязка не "по центру", он может несколько сместиться...
Да, текст прыгнул со своего места, а если это не только текст, к примеру значек уровня не в блоке?

Цитата:
Сообщение от Хмурый Посмотреть сообщение
Natasha111, Express Tools- комплект дополнительных утилит. Поставляется на одном диске с AutoCAD'ом, во всех версиях с 2000 по 2009, кроме 2002.
Вставить диск в дисковод и доустановить утилиты
А-а, с диска, нету его у меня сейчас. Идет ли это как отдельная установка или это неразрывно связано именно с данным Автокадом? Я почему спрашиваю, есть тут у меня где-то обычный 2006, а у меня установлен ADT

Последний раз редактировалось Кулик Алексей aka kpblc, 29.01.2009 в 14:37.
Natasha111 вне форума  
 
Непрочитано 29.01.2009, 12:43
#11
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Огромная и очень подробная тема по Экспрессам тут рядом
Если 6-й установлен в типовом виде, то попробуйте в КС набрать: expresstools\ enter
BM60 вне форума  
 
Автор темы   Непрочитано 29.01.2009, 12:50
#12
Natasha111


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


Цитата:
Сообщение от BM60 Посмотреть сообщение
Ну если просто текст. Особенно если однострочный, то просто.
В свойствах ставите угол поворота 0, а потом кнопкой копирование свойств кликаете на каждый другой размер (числа) и будет Вам щастье все в одну строку. Только потом каждый придется регулировать.
А еще бывает Мтекст..., но и в его окне есть нечто на эту тему
Прыгает, аспид проклятый,а вот про М-текст поподробнее пож.

Цитата:
Сообщение от BM60 Посмотреть сообщение
Огромная и очень подробная тема по Экспрессам тут рядом
Если 6-й установлен в типовом виде, то попробуйте в КС набрать: expresstools\ enter
Команда ему не знакома, ладно, пойдем в большую тему, спасибо.

Цитата:
Сообщение от Natasha111 Посмотреть сообщение
Ха,обнаружила, что ссылка не работает, я нашла это через поиск и набрала такой же тест как моя тема

Последний раз редактировалось Кулик Алексей aka kpblc, 29.01.2009 в 14:37.
Natasha111 вне форума  
 
Непрочитано 29.01.2009, 13:02
#13
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Сообщение от Natasha111 Посмотреть сообщение
Ссылка в никуда ведет.
Profan вне форума  
 
Непрочитано 29.01.2009, 13:03
#14
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


А зачем тут подробно об Мтексте, если у Вас использован неизвестно какой?

Цитата:
Сообщение от Natasha111 Посмотреть сообщение
Команда ему не знакома...
А посмотреть состав Папки автокада в C:\ ProgramFiles\ AutoCad 2006\ ?
Значится там папка Express? Не пустая!!!
Да = в КС аккуратно наберите expresstools
Нет = см другие ответы и указанную тему.

Последний раз редактировалось Кулик Алексей aka kpblc, 29.01.2009 в 14:38.
BM60 вне форума  
 
Автор темы   Непрочитано 29.01.2009, 13:12
#15
Natasha111


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


Цитата:
Сообщение от BM60 Посмотреть сообщение
А зачем тут подробно об Мтексте, если у Вас использован неизвестно какой?
Потому что думала, что можно как-то быстренько изменить вид текста и опять же быстренько в том окошке поправить, р-раз и в дамки!

Цитата:
Сообщение от BM60 Посмотреть сообщение
А посмотреть состав Папки автокада в C:\ ProgramFiles\ AutoCad 2006\ ?
Значится там папка Express? Не пустая!!!
Да = в КС аккуратно наберите expresstools
Нет = см другие ответы и указанную тему.
Набрала СУПЕРаккуратно, не знает. И папки нет, он у меня на D установлен. Или это неважно где он сидит?

Последний раз редактировалось Кулик Алексей aka kpblc, 29.01.2009 в 14:39.
Natasha111 вне форума  
 
Непрочитано 29.01.2009, 13:25
#16
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Экспрессы сами знают, где им сидеть.
Если папки Express в папке автокада нет, значит уст-те, как описано тут и там.
Однострочный текст и многострочный текст принципиально разные весчи.
Написанное одним нельзя редактировать другим.
Ваш случай только ручной, через свойства.
BM60 вне форума  
 
Непрочитано 29.01.2009, 13:30
#17
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Сообщение от BM60 Посмотреть сообщение
Огромная и очень подробная тема по Экспрессам тут рядом
Если 6-й установлен в типовом виде, то попробуйте в КС набрать: expresstools\ enter
Как раз в "типовом виде" Express Tools в AutoCAD 2006 не устанавливаются.
Profan вне форума  
 
Автор темы   Непрочитано 29.01.2009, 13:46
#18
Natasha111


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


Цитата:
Сообщение от BM60 Посмотреть сообщение
Экспрессы сами знают, где им сидеть.
Если папки Express в папке автокада нет, значит уст-те, как описано тут и там.
Однострочный текст и многострочный текст принципиально разные весчи.
Написанное одним нельзя редактировать другим.
Ваш случай только ручной, через свойства.
Ок, сделаю. Ручной
Natasha111 вне форума  
 
Непрочитано 29.01.2009, 13:49
1 | 1 #19
Dym


 
Регистрация: 27.09.2005
Двинскъ
Сообщений: 586
Отправить сообщение для Dym с помощью Skype™


Код:
[Выделить все]
(defun c:MRot (/ ass ra rp pn pt dst pts om) 
  (ssget) 
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)) 
      ass (vla-get-ActiveSelectionset adoc) 
      om (getvar "OSMODE"));setq 
  (initget "Point Center") 
  (setq kw (getkword "\nSelect Rotation Mode: [Point/Center]: <Center>")) 
  (if (null kw) (setq kw "Center")) 
  (if (= kw "Point") 
    (progn (setq obj (vla-item ass 0)) 
      (vla-highlight obj :vlax-true) 
      (vla-getboundingbox obj 'pn 'px) 
      (setq pn (vlax-safearray->list pn) 
          pt (getpoint pt "\nEnter Rotation Point: ") 
          dst (distance pn pt) ang (angle pn pt)) 
      (vla-update obj)));if 
  (setq ra (getreal "\nEnter Rotation Angle <0.0> : "))              
  (if (not ra) (setq ra 0)) 
  (vla-startundomark adoc) 
  (vlax-for ent ass 
    (vla-getboundingbox ent 'mn 'mx) 
    (setq pts (mapcar 'vlax-safearray->list (list mn mx)) 
        rp (vlax-3d-point (if (= kw "Point") (polar (car pts) ang dst) 
               (mapcar '(lambda (x y) (/ (+ x y) 2)) (car pts) (cadr pts)))));setq 
    (vla-rotate ent rp (* (/ ra 180) pi)));vlax-for 
  (setvar "OSMODE" om) 
  (vla-endundomark adoc) 
);end
здесь упоминалась
Dym вне форума  
 
Непрочитано 29.01.2009, 13:59
#20
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Цитата:
Сообщение от Profan Посмотреть сообщение
Как раз в "типовом виде" Express Tools в AutoCAD 2006 не устанавливаются.
Под типовым я разумел по умолчанию, не по выбору пользователя.
Если после уст-ки Када юзер видит предложение "Уст-ить (да/Нет) Экспресс ...", тогда другое дело... Надо доуст-ать компонент.
BM60 вне форума  
 
Автор темы   Непрочитано 29.01.2009, 14:21
#21
Natasha111


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


Цитата:
Сообщение от Dym Посмотреть сообщение
Код:
[Выделить все]
(defun c:MRot (/ ass ra rp pn pt dst pts om) 
  (ssget) 
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)) 
      ass (vla-get-ActiveSelectionset adoc) 
      om (getvar "OSMODE"));setq 
  (initget "Point Center") 
  (setq kw (getkword "\nSelect Rotation Mode: [Point/Center]: <Center>")) 
  (if (null kw) (setq kw "Center")) 
  (if (= kw "Point") 
    (progn (setq obj (vla-item ass 0)) 
      (vla-highlight obj :vlax-true) 
      (vla-getboundingbox obj 'pn 'px) 
      (setq pn (vlax-safearray->list pn) 
          pt (getpoint pt "\nEnter Rotation Point: ") 
          dst (distance pn pt) ang (angle pn pt)) 
      (vla-update obj)));if 
  (setq ra (getreal "\nEnter Rotation Angle <0.0> : "))              
  (if (not ra) (setq ra 0)) 
  (vla-startundomark adoc) 
  (vlax-for ent ass 
    (vla-getboundingbox ent 'mn 'mx) 
    (setq pts (mapcar 'vlax-safearray->list (list mn mx)) 
        rp (vlax-3d-point (if (= kw "Point") (polar (car pts) ang dst) 
               (mapcar '(lambda (x y) (/ (+ x y) 2)) (car pts) (cadr pts)))));setq 
    (vla-rotate ent rp (* (/ ra 180) pi)));vlax-for 
  (setvar "OSMODE" om) 
  (vla-endundomark adoc) 
);end
здесь упоминалась
Э-э, это то что я нашла, ну знаете ли, для бедного простого пользователя как я, ТАКОЕ примерно как китайская грамота. И что с этим делать?
Natasha111 вне форума  
 
Непрочитано 29.01.2009, 14:28
#22
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


"здесь упоминалось" - т.е. для чего.
Если для того же, тогда "Как использ лисп, опуб на форуме"
BM60 вне форума  
 
Непрочитано 29.01.2009, 14:42
#23
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,432


Natasha111, ёпырысыты! Ну научись использовать [Правка]!
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.01.2009, 14:44
#24
Dym


 
Регистрация: 27.09.2005
Двинскъ
Сообщений: 586
Отправить сообщение для Dym с помощью Skype™


BM60> повернуть одновременно несколько объектов vs Вращение множества объектов вокруг локальных центров.? Как использ лисп, опуб на форуме
Dym вне форума  
 
Автор темы   Непрочитано 29.01.2009, 14:45
#25
Natasha111


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


Надо бы подковаться теоретически, больше не буду задавать глупые вопросы. Постараюсь во всяком случае.
Natasha111 вне форума  
 
Непрочитано 29.01.2009, 14:45
#26
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


Цитата:
Сообщение от Хмурый Посмотреть сообщение
для блоков и текстов есть команда _torient из Express Tools
Разве блоки поворачиваются этой командой? (нет автокада под рукой проверить). Т-ориент, Техт-Оrientation
Vova вне форума  
 
Автор темы   Непрочитано 29.01.2009, 14:51
#27
Natasha111


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Natasha111, ёпырысыты! Ну научись использовать [Правка]!
О, прошу прощения.
Natasha111 вне форума  
 
Непрочитано 29.01.2009, 14:56
#28
BM60


 
Регистрация: 08.02.2008
Где-то
Сообщений: 8,460


Natasha111, это не глупые вопросы, это вопросы не вполне точно сформулированные и, естественно, не вполне однозначно понятые другими. Клик на "здесь ..." открывал всю тему, и там было ясно для чего. Но из той ли оперы поворот вашего текста, понять только Вам.

И еще поясю больное от модераторов. Кнопка "Правка" делает удобным (для остальных) в одном посте писать дополнения , чтобы не плодить сообщения подряд. У Вас получилось 3 или 4 друг за другом поста с интервалом в 2-3 минуты. Если так уж вышло, то после вырезания (для вставки) впишите Удалено

Последний раз редактировалось BM60, 29.01.2009 в 15:17.
BM60 вне форума  
 
Непрочитано 29.01.2009, 15:04
#29
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от Vova Посмотреть сообщение
Разве блоки поворачиваются этой командой? (нет автокада под рукой проверить). Т-ориент, Техт-Оrientation
Извините, ошибся. Поворачиваются атрибуты внутри блока, а сами блоки- не поворачиваются.
Хмурый вне форума  
 
Непрочитано 29.01.2009, 15:07
#30
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,432


BM60, уточню: тут было до 4 постов от одного и того же человека с интервалом до 3 минут. Просмотри тему - увидишь, сколько раз я вмешивался (внизу поста пишется "последний раз редактировалось...")
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 29.01.2009, 15:10
#31
Хмурый


 
Регистрация: 29.10.2004
СПб
Сообщений: 16,379


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
BM60, уточню: тут было до 4 постов от одного и того же человека с интервалом до 3 минут. Просмотри тему - увидишь, сколько раз я вмешивался (внизу поста пишется "последний раз редактировалось...")
Offtop: А я-то думал, если модератор намекает на кнопку Правка- это значит, что человек что-то не то сказал
Хмурый вне форума  
 
Непрочитано 29.01.2009, 15:16
#32
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Здесь еще одна версия
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 11.08.2014, 21:17
#33
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Где-то видел, а где не найду. Чтобы доворачивание происходило не относительно центров элементов, а относительно их точек вставок - для блоков и текстов.
Иначе все съезжает со своих мест.
Нужно, если заменяются блоки на блоки с другой ориентацией, если делалось трансформирование или т.п.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 12.08.2014, 08:28
#34
sertor

Геодезист
 
Регистрация: 23.05.2012
Ухта
Сообщений: 1,377


АлексЮстасу, это?
Вложения
Тип файла: lsp srot.lsp (1.2 Кб, 55 просмотров)
__________________
Как-то так.
sertor вне форума  
 
Непрочитано 12.08.2014, 16:02
#35
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от sertor Посмотреть сообщение
это?
Увы. Это то же самое, что делают лиспы из данной темы (MRot.lsp) - вращение относительно центров объектов. Т.е. и блоки, и тексты поворачиваются не относительно точек вставки, а относительно их геометрических центров.
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 12.08.2014, 16:33
1 | #36
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,432


Вариант 1:
Код:
[Выделить все]
 (vl-load-com)

(defun c:robj1 (/ selset ang adoc)
  (if (and (= (type (setq selset (vl-catch-all-apply
                                   (function
                                     (lambda ()
                                       (ssget "_:L" '((0 . "INSERT,*TEXT")))
                                       ) ;_ end of lambda
                                     ) ;_ end of function
                                   ) ;_ end of vl-catch-all-apply
                          ) ;_ end of setq
                    ) ;_ end of type
              'pickset
              ) ;_ end of =
           (= (type (setq ang (vl-catch-all-apply
                                (function
                                  (lambda ()
                                    (getangle "\nВведите угол, на который надо повернуть объекты <Отмена> : ")
                                    ) ;_ end of lambda
                                  ) ;_ end of function
                                ) ;_ end of vl-catch-all-apply
                          ) ;_ end of setq
                    ) ;_ end of type
              'real
              ) ;_ end of =
           ) ;_ end of and
    (progn
      (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
      (foreach ent ((lambda (/ tab item)
                      (repeat (setq tab  nil
                                    item (sslength selset)
                                    ) ;_ end setq
                        (setq tab (cons (vlax-ename->vla-object (ssname selset (setq item (1- item)))) tab))
                        ) ;_ end of repeat
                      ) ;_ end of lambda
                    )
        (vla-put-rotation ent (+ (vla-get-rotation ent) ang))
        ) ;_ end of foreach
      (vla-regen adoc acactiveviewport)
      (vla-endundomark adoc)
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
Варинат 2:
Код:
[Выделить все]
 (vl-load-com)

(defun c:robj2 (/ selset ang adoc)
  (if (and (= (type (setq selset (vl-catch-all-apply
                                   (function
                                     (lambda ()
                                       (ssget "_:L" '((0 . "INSERT,*TEXT")))
                                       ) ;_ end of lambda
                                     ) ;_ end of function
                                   ) ;_ end of vl-catch-all-apply
                          ) ;_ end of setq
                    ) ;_ end of type
              'pickset
              ) ;_ end of =
           (= (type (setq ang (vl-catch-all-apply
                                (function
                                  (lambda ()
                                    (getangle "\nВведите угол, на который надо повернуть объекты <Отмена> : ")
                                    ) ;_ end of lambda
                                  ) ;_ end of function
                                ) ;_ end of vl-catch-all-apply
                          ) ;_ end of setq
                    ) ;_ end of type
              'real
              ) ;_ end of =
           ) ;_ end of and
    (progn
      (vla-startundomark (setq adoc (vla-get-activedocument (vlax-get-acad-object))))
      (foreach ent ((lambda (/ tab item)
                      (repeat (setq tab  nil
                                    item (sslength selset)
                                    ) ;_ end setq
                        (setq tab (cons (vlax-ename->vla-object (ssname selset (setq item (1- item)))) tab))
                        ) ;_ end of repeat
                      ) ;_ end of lambda
                    )
        (vla-put-rotation ent ang)
        ) ;_ end of foreach
      (vla-regen adoc acactiveviewport)
      (vla-endundomark adoc)
      ) ;_ end of progn
    ) ;_ end of if
  ) ;_ end of defun
----- добавлено через 38 сек. -----
Хотя второй вариант можно было и не делать - через _.qselect можно и так выставить...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.08.2014, 17:16
#37
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Вариант 1:
Оно! Спасибо!
Уже первый вариант.
Мне действительно казалось, что подобная программка уже была. Или уже от бесконечных дополнительных программок в глазах рябит и дежавю?
Возможно, что в темах, где обсуждалось создание листов на длинные трассы, где каждый участок на листе развернут по-своему?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 12.08.2014, 19:30
#38
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,432


А черт его знает - я с нуля нарисовал...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 12.08.2014, 19:56
#39
АлексЮстасу

топограф, технолог
 
Блог
 
Регистрация: 24.05.2009
Москва
Сообщений: 3,074


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
А черт его знает - я с нуля нарисовал...
Круто!
"...Думал и разговаривал на лиспе"

Так понял, что robj1 поворачивает на указанный угол относительно прежнего положения элементов, а robj2 поворачивает в положение с заданным углом относительно ПСК?
__________________
количество моих сообщений не говорит о знании Автокада
АлексЮстасу вне форума  
 
Непрочитано 12.08.2014, 22:54
#40
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,432


Цитата:
Сообщение от АлексЮстасу Посмотреть сообщение
Так понял, что robj1 поворачивает на указанный угол относительно прежнего положения элементов, а robj2 поворачивает в положение с заданным углом относительно ПСК?
Ну да. Первый "добавляет" указанный угол к имеющемуся, второй устанавливает указанный в качестве угла поворота.
Только я особо код не тестировал, поэтому предупреждаю: на разных вариантах выравниваний текстов могут быть не совсем ожидаемые результаты.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > повернуть одновременно несколько объектов

Реклама i


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вращение множества объектов вокруг локальных центров. B2Slow Программирование 27 18.06.2013 07:56
FILTER / фильтр BM60 Справочник команд 0 08.07.2008 15:35
НЕ получается выделить сразу несколько объектов abram AutoCAD 15 05.05.2008 15:16
не выделятся несколько объектов без SHIFTа fastline AutoCAD 6 25.01.2008 20:32