|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Как программно вынуть из чертежа информацию с нужных слоев и поместить ее в другой чертеж?
Помидорка
Регистрация: 03.02.2012
Сообщений: 135
|
||
Просмотров: 4597
|
|
||||
Помидорка Регистрация: 03.02.2012
Сообщений: 135
|
Цитата:
![]() Т.е. автоматически, - нажал юзер кнопоньку - функция отработала, и нужную инфу с чертежа в соответствии со списком выдала в другой чертеж, в другое место.
__________________
Боишься - не делай. Делаешь - не бойся. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Xara, так вопрос-то в разделе "AutoCAD", а не "Программирование"...
----- добавлено через 27 сек. ----- А так - см.команду _.-wblock с предварительным выбором.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Помидорка Регистрация: 03.02.2012
Сообщений: 135
|
Цитата:
Цитата:
![]() Вот только есть сомнения, что QSELECT может работать в бездиалоговом режиме...
__________________
Боишься - не делай. Делаешь - не бойся. Последний раз редактировалось Xara, 14.01.2016 в 17:29. |
|||
![]() |
|
||||
Помидорка Регистрация: 03.02.2012
Сообщений: 135
|
Решил вопрос во как (тупо, без особых проверок, но скелет уже есть):
Код:
Не столько тупое, сколько ни разу не программное))
__________________
Боишься - не делай. Делаешь - не бойся. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Xara, ты забыл про блоки, таблицы и размерные стили (в частности). Ну и еще наверняка что-то вылезет, так что думай хорошенько
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
конструктор Регистрация: 14.08.2014
Псков
Сообщений: 7,326
|
Практическая польза от такой автоматизации сложнопредставима.
Все же надо иметь /или выбрать/ набор слоев; выбрать файл для экспорта; выбрать точку вставки. Если это будет пакет документов? тогда стоит задуматься об изменении принципа работы с чертежом. |
|||
![]() |
|
||||
Помидорка Регистрация: 03.02.2012
Сообщений: 135
|
Цитата:
![]() Однако да, спасибо, я обязательно все тщательно проверю! Цитата:
Однако есть и там грабли - если проектировщик делает свою работу неправильно - например, в тех слоях, которые предназначены для экспорта в сводник, лежит какой-то хлам - но это уже вопрос совести и культуры проектирования))) Но, опять же, устранить это ничего не стоит - открыть снова чертеж, убрать ненужное со слоя и выполнить экспорт еще раз, после чего этот хлам пропадает из сводника. Набор слоев уже есть, целый список, и работа там выполняется по СТП, где все слои четко регламентированы и выполняется проверка по электронному стандарту. А точка вставки - 0, 0, 0 - надо, чтобы все было идентично - это же сводник. Ну а вообще, ТЗ писал не я ![]() Fogel, Я был бы очень благодарен! ![]() Единственная загвоздка на данный момент - в случае, если файл открыт кем-то, то файл не перезаписывается... Т.е., другими словами, работает Вася, работает... Потом тык, сохранил, и работает дальше... А какая-то Маша уже открыла этот чертеж неделю назад, и забыла об этом, он у нее висит открытым и все... А файл не перезаписывается(( Вот как бы прикрутить проверку файла на предмет рид-онли?
__________________
Боишься - не делай. Делаешь - не бойся. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Xara, ты проверь свой код: создай отрезок на слое "Layer2", загони его в блок, блок на слой "1234". И проверь, что будет в результирующем файле.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Помидорка Регистрация: 03.02.2012
Сообщений: 135
|
Цитата:
Совсем не важно, в каком слое изначально были созданы примитивы для этого блока, - важно, где находится объект, т.е. блок, и мне (точнее, юзеру) так и нужно ![]()
__________________
Боишься - не делай. Делаешь - не бойся. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Усложним задачку: в блоке на слое "1234" лежат пара примитивов. Сам блок находится на слое "Layer2". Чего должно быть в результате?
Вспомни свой вопрос: Цитата:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Помидорка Регистрация: 03.02.2012
Сообщений: 135
|
Цитата:
![]() ![]() А если юзер напортачил - то "сам дурак" ![]()
__________________
Боишься - не делай. Делаешь - не бойся. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Тогда, конечно, проще... Только одно "но" - твой код еще и на листах объекты выделит, а не только в модели. Учти.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Помидорка Регистрация: 03.02.2012
Сообщений: 135
|
Цитата:
В модели на слоях Layer1...5 есть различные объекты, в 1 листе есть объект из Layer1, во втором - из Layer3, в третьем - из Layer5 в коде выборка из Layer1, Layer3, Layer5. - Нахожусь в модели, прогоняю код, - в конечном на модели все на месте, в листе пусто (при этом копируется ОДИН пустой лист, а не все, на которых есть объекты из нужных слоев); - Нахожусь в листе, прогоняю код - так же картина... Я в смятении... ![]()
__________________
Боишься - не делай. Делаешь - не бойся. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
Xara, я говорил о выделении объектов. vla-wblock копирует, насколько я помню, только объекты из пространства модели. Но в набор попадают еще и объекты листов.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
Цитата:
Цитата:
Доступ по умолчанию у всех "по чтению" кроме ведущего сводного. Пользователи делают "выжимку для сводного" на своей локальной машине. Отключают все слои, кроме слоев для сводного. При стандартизации это легко делается фильтрами слоев, которые настроены в шаблоне. Дальше BGLAYDEL - Удаление выключенных и замороженных слоев с примитивами, файл "сохраняется как ..." и пересылается ведущему сводного по эл. почте. Этим преследуется еще одна цель - остается запись кто, когда и чего прислал.
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как перенести фильтры слоев в другой чертеж? | remlin | AutoCAD | 18 | 25.03.2024 12:46 |
Для чего нужны фильтры слоев?Как ими пользоваться? | Aysulu | AutoCAD | 43 | 17.04.2019 10:59 |
можно ли из одного чертежа в другой переносить группы слоев? | stumpel | AutoCAD | 2 | 28.02.2008 12:27 |