|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Rotate нескольких объектов вокруг своей оси
Kyiv
Регистрация: 19.02.2006
Сообщений: 19
|
||
Просмотров: 17805
|
|
||||
ИНЖЕНЕР Регистрация: 21.06.2006
Солнечный Крым
Сообщений: 281
|
м-дя, в Максе это возможно, а вот в акаде...........
может в 2007, или лисп какой. Я присоеденяюсь к вопросу. функция страсть как нуна бываеть. Или в догонку вопрос: отмасштабировать кучу обьектов но так чтоб сами обьекты отмасштабировались а рвсстоянния между ними нет. я не пишу лиспы, но помоему это не должно быть сложно. опять же в Масе подобное есть. но не чертить же чертежи в 3D maks........
__________________
Конструктор, Расчетчик, Налетчик...... |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
|
|||
![]() |
|
||||
Регистрация: 19.02.2006
Kyiv
Сообщений: 19
![]() |
To Vova
Я делал чертежи многоэтажного здания, во всех помещениях ставил размеры и площади , как оказалось ставил размеры во двор и теперь прийдеться все поменять чтобы они смотрели на улицу так как это должно быть по правилам... размеры(Text) должны остаться на томже месте но поменять направление на 180 градусов .... Сложность в том что их очень-очень много! и это день работы если использовать функцию Rotate а времени на это нет совсем /// |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
|
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Похоже, для двухэтажного нет другого способа чем макросом, о котором я говорил выше. На самом деле это небольшая работа. однострочный текст командой Tjust (Express) приведи к выравниванию по центру и затем, пометив все, разверни одним махом через Пропертиес. Следующий раз сделай блоки с атрибутами, вращать которые очень легко. На твоем чертеже нет размеров, о повороте которых ты спрашивал. Заодно: почему все в слое 0? Это не есть грамотно
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Объекты вращаются вокруг центра последнего выбранного примитива.
Нижеприведенный код вращает выбранные объекты вокруг относительно центра прямоугольника, описанного вокруг каждого объекта Код:
Последний раз редактировалось VVA, 30.04.2010 в 13:08. Причина: Ссылка на тему |
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
>VVA
Код нормальный. Программист - козёл (т. е. я). Почему то вставил недоделанный вариант оставшийся в буфере. Надо в конце каждого цикла обнулять (setq ptLst nil) и всё ок. То что вы закоментили как раз самое важное, т. е. определение координат прямоугольника описанного вокруг группы объектов. Код:
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
>Внося изменения я предполагал, что текст - самодостаточная единица для определения габарита, а запрос на выбор объектов - это способ выбрать сразу все, что нужно вращать. Твой вариант более универсален, позволяет вращать относительно некоего виртуального центра и здесь запрос на выбор объектов - это способ для нахождения этого виртуально центра.
Мой код надо рассматривать как модификацию под проблему Silavsale Цитата:
|
|||
![]() |
|
||||
Инженер по системам безопасности Регистрация: 23.11.2003
Рига
Сообщений: 1,099
|
Цитата:
![]() |
|||
![]() |
|
||||
lenj pomogatj poiskom, no bilo zdesj zhe:
Цитата:
|
||||
![]() |
|
||||
Project Engineer Регистрация: 05.01.2005
Лос Анджелес
Сообщений: 1,392
|
Цитата:
|
|||
![]() |
|
||||
ИНЖЕНЕР Регистрация: 21.06.2006
Солнечный Крым
Сообщений: 281
|
м-дя.
Большое всем спасибо. Все свободны. Ваши вот эти, нет не подумайте весьма интересные, я даже не побаюсь слова Полезные, выкладки для простого, рядового пользователя, то бишь для меня, бред сивой кобылы. Я не занимаюсь програмированием, хакерством, и другим подобным занятием, как и многие пользователи сайта. Был задан вполне несложный, я бы даже сказал дилетанский вопрос. И что? Просящие получили сотни строк програмного кода, который применить не коим образом не смогут, без изучения Програмирования на лиспе, или на чем это всё?. Я подчеркиваю, я как и многие здесь "обычные" пользователи, всего лишь пользователи. Использующие стандартный интерфейс программы. и не занимающиеся написанием Лиспов. Простите, если я был резок. P. S. bernata & VOVA огромное спасибо, за конкретныую и полезную помощь.
__________________
Конструктор, Расчетчик, Налетчик...... |
|||
![]() |
|
||||
Engineer Регистрация: 05.09.2003
New-York
Сообщений: 10,288
|
Цитата:
|
|||
![]() |
|
||||
Геодезист Регистрация: 09.02.2012
Сергиев Посад
Сообщений: 6
|
Цитата:
Очень нравятся твой лисп и я рад что есть такие этузиасты. Сам я в лиспах полный 0000000000000000, так что прошу помощи у тебя. Суть программки такова: есть примерно 150 элементов оного и того же блока нужно что бы при выполнении лиспа все эти блоки произвольно вращались на 180. т.е. либо блок вращался на 180 либо остовался на своем месте (вращение на 360 или на 0) Если есть возможность модернизируй свой лисп добавив в него возможность такого вращения выбранных элементом плиз. Жду твоей помощи, а пока пробую сам разобраться. P.S. посоветуй литературку для изучения autolisp |
|||
![]() |
|
||||
Регистрация: 10.06.2013
Тюмень
Сообщений: 14
|
Я прошу меня извинить, но я познакомился с автокадом в пятницу, а в понедельник я уже пытаюсь изучать команды и знакомлюсь с языком lisp и все с помощью данного форума без возможности проконсультироваться с кем либо в живую. Мне пока трудно освоить все сразу не отрываясь от прямых моих обязанностей на работе.
Поиск насилую постоянно, на данный момент я нашел как разворачивать объекты все сразу и вокруг своей оси. Пусть это отдельная программа но это не так важно. Главное что эту операцию можно выполнить всего один раз, вместо 1000 для каждого объекта отдельно Цитата:
За основу решения проблемы взята программа описная ниже Программа вымерят расстояние между двумя точками и записывает текстов в третей точке. Цитата:
Как она это делает я так и не понял, но она это делает отлично. А как теперь добиться корректировки выводимых данных, а именно: полученный результат нужно умножить на два (чертеж в масштабе и требуется корректировка полученных результатов) и прибавить к полученному значению +30 т.е. вместо "10" она должна будет выводить 10*2+30= "50" и как можно осуществить повтор выполнения команды на примере макроса когда в начале ставится * и команда повторятся до нажатия кнопки Esc Просьба отнестись с нисхождением) я все таки пользователь с опытом работы автокада меньше недели и у меня сжатый срок на выполнение большого объема типовой работы |
|||
![]() |