| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
23.03.2009, 21:44 | #1 | |
Замена ряда одних объектов другими
Регистрация: 27.02.2009
Сообщений: 32
|
||
Просмотров: 39051
|
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 27.02.2009
Сообщений: 32
|
Всё отлично. Классное подспорье. Только я не понял, как сохранить свойства (в частности угол поворота) заменяемых объектов..
кто-нибудь может пошаговую инструкцию дать на простом примере... Как заменить отрезки, расположенные под разными углами, стрелочкой под теми же углами.. Последний раз редактировалось bgrade, 24.03.2009 в 00:15. |
|||
|
||||
Регистрация: 15.04.2009
Сообщений: 17
|
Немного не мопнял принцип замены вышеназванного лиспа.
Сперва укадываешь объект-заменитель, затем то что нужно заменить. Например у меня в чертеже много квадратов, я хочу заменить их на круг(прямоугольник, ромб и тп.) Выделяю круг->Enter->выделяю квадрат, происходит замена только выделенного квадрата(тоесть лисп не сканирует чертеж) Если же я, при выборе заменяемых объектов, укажу рамкой весь чертеж, все объекты чертежа заменяться на круг. Такое и ручками проделать можно... А вот такую функцию уже кто-нибудь придумал?: Указывается заменяемый объект, набор объектов, указывается объект-заменитель, происходит сканирование чертежа и замена указанного объекта(набора объектов) на заменитель |
|||
|
||||
Регистрация: 20.03.2008
Сообщений: 2,653
|
noiseless, а если выделять нужные объекты Быстрым выбором (_qselect)? Тут об этом подробнее
|
|||
|
||||
noiseless,
Цитата:
1. Выбираешь предварительно квадраты ( _Qselect, SelSim или просто рамкой) 2. Вызываешь FRTO 3. Указываешь объект-заменитель Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
vikusiha, будет лучше, если к вопросу приложишь dwg файл со 101 объектом, вызывающим фатал error
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Проектант или Вечный ученик Регистрация: 06.05.2011
Сообщений: 802
|
Господа такая же петрушка, как у vikusiha, с одним объектом работает на ура со множеством просто вылетае на фатал еррор.
Пытаюсь заменить слой "ОТМЕТКИ (ВРЕМ), на слой "66_Точки". Выбор того что надо заменить работает нормально но, как только выбираю объект которым заменить необходимо, машина зависает а потом вообще вылет. проверил на маленьком количестве 57 объектов -работает, 447 - ошибка. Всего под 6000 объектов которые надо поменять. Меняемые объекты это блоки, но если их расчленить до примитивов то петрушка тоже повторяется. и такое ощущение что именно количество объектов влияет. попробовал меньше 100 и ровно 100 заменяет чуть больше сотни вылет с ошибкой. Версия 15 года, 64 разрядная. Последний раз редактировалось ILIYA, 02.02.2017 в 09:56. |
|||
|
||||
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
|
_.rename не катит?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
В файле присутствует то ли 2, то ли 3 ординатных размера, привязанных к 0.
P.S. переход модель-лист-модель совсем не обязательно делает _zoom _e
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Геодезист Регистрация: 23.05.2012
Ухта
Сообщений: 1,374
|
Да, именно это меня и ввергло в ступор. При выполнении Ctrl+A в панели свойств абсолютная пустота.
__________________
Как-то так. |
|||
|
||||
Проектант или Вечный ученик Регистрация: 06.05.2011
Сообщений: 802
|
Хорошо, спасибо за помощь завтра пойду к топографам которые данный план дали, но они его в Civile точно не делали, поэтому думаю им вообще не стоит открывать. А слои переименовываю и меняю знаки для удобства (и заказчик вредный требует так чтоб его в электронной версии все устраивало, дал образцы всего и будь добр сделать как он хочет) для подготовки ППТ.
|
|||
|
||||
Геодезист Регистрация: 23.05.2012
Ухта
Сообщений: 1,374
|
По этому моменту ходить не нужно, разъяснение дано Кулик Алексей aka kpblc.
Цитата:
Offtop: И в который раз сокрушаюсь, что почему-то недоступна опция редактирования сообщения. Надо бы подкорректировать, но увы...
__________________
Как-то так. |
|||
|
||||
Проектант или Вечный ученик Регистрация: 06.05.2011
Сообщений: 802
|
|
|||
|
||||
Регистрация: 12.03.2013
Сообщений: 650
|
Цитата:
|
|||
|
||||
Инжиниринг Регистрация: 16.09.2011
Тюмень
Сообщений: 225
|
Может быть кто-то подскажет, что я делаю не так. В коде лиспа FRTO пытаюсь заменить выбор source object с выбора на экране на ввод имени блока (нужно, чтобы лисп работал в скрипте). Я так понимаю, мне нужно поменять способ выбора объекта при назначении переменной extSet.
Было: Код:
Стало: Код:
Стало изм.1: Код:
Может быть ошибка где-то в другом месте, вот код целиком (от изначального ещё сделал корректировки): Offtop: Код:
Последний раз редактировалось wepp, 16.11.2020 в 16:32. Причина: поменял код |
|||
|
||||
Цитата:
Что именно, как не "фурычат"?
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 25.11.2019
Сообщений: 10
|
Никак не фурычит. Т.е. этапы выделения объектов и заменяемых и назначения он проводит, но после этого ничего не происходит. Даже сообщения об ошибке нет. Если что - стоит AutoCAD MEP 2019.
Цитата:
|
|||
|
||||
Цитата:
Видимо, у Вас какое-то исключение. Без модельного примера данных не обойтись. Давайте dwg.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Без проблем заменил там прямоугольники на окружность:
Цитата:
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 25.11.2019
Сообщений: 10
|
Цитата:
Цитата:
Последний раз редактировалось Shadow_elf1979, 14.12.2020 в 17:20. |
|||
|
||||
Все-таки с моей версией лиспа у Вас хотя бы эта строка появилась.
Попробуйте ответить не "No", а "Yes", как я. Хотя, у меня и с "No" работает. Видимо, ответ могут дать только программисты... Можно, конечно, тупо попробовать выйти из Автокада, и зайти снова.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 25.11.2019
Сообщений: 10
|
Цитата:
Лично я грешу то ли на 19 год издания, то ли на MEP - возможно что-то из этого мешает работать с лиспом старых образцов. А если откомпилировать этот лисп в arx на рабочем автокаде? |
|||
|
||||
Регистрация: 25.11.2019
Сообщений: 10
|
Цитата:
Конкретно хотел поменять блоки, импортированные из DIALux 4.13 сторонним пользователем на собственные блоки с параметрами. 1 к одному, без изысков. Если более широко - есть расстановка светильников полученная импортом из DIALux. Я хочу привести ее в соответствие с ГОСТ21.608, используя в качестве УГО собственные блоки с параметром "мощность". Собственно средства MEP как САПР по инженерке я пока не использую, поскольку этот файл мне еще передавать человеку, который MEP не использует. |
|||
|
||||
Регистрация: 27.12.2011
Сообщений: 1,458
|
|
|||
|
||||
Регистрация: 25.11.2019
Сообщений: 10
|
|
|||
|
||||
Регистрация: 19.07.2005
Россия
Сообщений: 3,225
|
Т.е. один блок заменить на другой нужен лиспик...!?
И MEP вы используете как Autocad... А вообще из Диалюкс импортируется в MEP сразу в устройства Device со свойствами, к-рые сразу можно включать в цепи MEP, причём их можно "включить", отрендерить, получить картинку и таблицу... Последний раз редактировалось VitalyAF, 15.12.2020 в 14:32. |
|||
|
||||
Регистрация: 25.11.2019
Сообщений: 10
|
Т.е. есть туева хуча (около 2000) блоков с разными именами (специфика DIALux), не подающиеся поиску (имя типа "*U997", где "*" - это просто символ), ни какой-либо корректировке. Так что replace тут ни разу не канает. И надо их все на единообразный блок.
|
|||
|
||||
Цитата:
Пока заметил, что заменяет на блок не все указанные элементы типа полилиний, окружностей, а только один из выбранных. Блоки заменяет все. И явный плюс по сравнению с FRTO, что заменяет в точках вставки.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
Регистрация: 27.12.2011
Сообщений: 1,458
|
Цитата:
А что касаемо точки вставки, главное, чтобы она не находилась в парсеках от примитивов блока, бывает и такое )). |
|||
|
||||
а если усложнить задачу, и заменять выбранные примитивы на несколько заменяющих…
Последний раз редактировалось koMon, 22.12.2020 в 10:56. |
||||
|
||||
Цитата:
1. Хорошо бы подсвечивать выбранные заменяемые элементы. 2. Хорошо бы предусмотреть и вариант сохранения заменяемых элементов. 3. Почему-то расстояние между заменяющими элементами уменьшилось вдвое.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
|
||||
|
||||
Можно так, как "Эффект просмотра выбранных объектов".
Да, противоречит ожидаемому пользователем.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
||||
|
||||
|
||||
Вроде бы теперь без вопросов.
(Это сейчас нет реальной задачи ). Решил проверить, как будет с 3Д объектами (3Д полилиниями, солидами). Заменяет, но без учета Z и объемов, т.е. заменяет 3д полилинии на высоте 0 и солиды относительно их оснований. Я бы сделал замену блоков и на блоки относительно их точек вставки. Я понимаю, что мнения разные, но блоки, несмотря ни на что, все-таки точечные объекты, и их положение определяется именно точкой вставки...
__________________
количество моих сообщений не говорит о знании Автокада Последний раз редактировалось АлексЮстасу, 22.12.2020 в 17:52. |
||||
|
||||
2d (плоская) замена и планировалась. более того, заменяющие примитивы наследуют свойства заменяемых. и если например заменяемый примитив имеет уровень 0 или вообще не имеет, а заменяющий наоборот имеет, то в результате заменяющий примитив потеряет (обнулит) свой уровень. если проигнорировать наследование свойств (или усложнить механизм наследования), тогда все или отсутствующие свойства заменяющего примитива можно сохранить. в случае с 3d солидами, видимо нужно производить замену по центроидам.
если заменяющий примитив - один блок, то наверное да, а если их несколько и нужно сохранить их взаимное расположение, то тогда этот вариант не очень подойдёт. |
||||
|
||||
Так и взаимное расположение блоков или блоков относительно элементов других типов определяется же точками вставки блоков.
__________________
количество моих сообщений не говорит о знании Автокада |
||||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
FILTER / фильтр | BM60 | Справочник команд | 0 | 08.07.2008 15:35 |