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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как перенести в чертеж блок из файла библиотеки блоков

Как перенести в чертеж блок из файла библиотеки блоков

Ответ
Поиск в этой теме
Непрочитано 02.02.2010, 17:45 #1
Как перенести в чертеж блок из файла библиотеки блоков
Main Urod
 
Регистрация: 20.01.2009
Сообщений: 1,170

Имеется файл, в котором несколько десятков блоков (типа библиотека).
Как вставить в текущий чертеж блок из этого файла через лисп?

Пробовал через "-Insert", но он вставляет либо блок из текущего файла (а его еще в нем нет) либо весь файл библиотеки целиком...
Просмотров: 7143
 
Непрочитано 02.02.2010, 20:04
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


Нужна функция импорта блока из файла
Цитата:
Сообщение от Main Urod Посмотреть сообщение
Пробовал через "-Insert", но он вставляет либо блок из текущего файла (а его еще в нем нет) либо весь файл библиотеки целиком...
Цитата из справки
Цитата:
Запрос "Имя блока" команды ВСТАВИТЬ (_-INSERT)
В запросе в качестве текущего используется имя блока, вставленного последним на протяжении текущего рабочего сеанса.

Сгруппированные объекты вставляются как неименованная группа. Просмотреть неименованные группы можно, установив флажок "Включая неименованные" в диалоговом окне "Группы объектов".

При вводе тильды (~) отобразится диалоговое окно "Выбор файла рисунка" (стандартное окно выбора файлов).

Поведением блоков при вставке можно управлять с помощью подсказок в командной строке.

Расчленение блоков при вставке: Если имени блока предшествует звездочка (*), блок расчленяется и в рисунок вставляются отдельные объекты, из которых он состоял. Описание блока в рисунок не вставляется.
Изменение пути к блоку: При вводе имени блока без указания пути команда ВСТАВИТЬ выполняет поиск данных о текущем рисунке для существующего описания блока с этим именем. Если в текущем рисунке описание блока не найдено, команда ВСТАВИТЬ выполняет поиск по библиотечному пути. При обнаружении файла имя файла используется в качестве имени блока после вставки описания блока. При последующих вставках блоков с тем же именем используется это же описание блока. Имеющееся описание блока можно заменить на внешний файл, если ввести в ответ на запрос «Имя блока:» следующее:
имя блока = имя файла

Обновление описания блока: Чтобы обновить блок после изменения содержимого исходного файла, не создавая нового вхождения блока, следует в ответ на запрос "Точка вставки" (идущий после подсказки "Имя блока") ввести следующее:
имя блока=

Если после имени блока ввести знак равенства =, отобразится следующая подсказка:

Блок "текущий" уже существует. Переопределить его? [Да/Нет] <Нет>: Ввестид, ввестин или нажать ENTER

При переопределении блока существующее описание блока замещается новым. Рисунок регенерируется, и новое описание применяется ко всем имеющимся вхождениям блока. При отображении подсказки о точке вставки нажать ESC, если вставлять новый блок в рисунок не требуется
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 03.02.2010 в 14:09.
VVA вне форума  
 
Непрочитано 02.02.2010, 20:08
#3
Profan


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


Можно использовать Design Center.
Profan вне форума  
 
Автор темы   Непрочитано 03.02.2010, 10:47
#4
Main Urod


 
Регистрация: 20.01.2009
Сообщений: 1,170


Цитата:
Сообщение от Profan Посмотреть сообщение
Можно использовать Design Center.
Как?

Цитата:
Сообщение от VVA
В запросе в качестве текущего используется имя блока, вставленного последним на протяжении текущего рабочего сеанса.
В том то и проблема, что в текущем сеансе, да и в текущем файле такой блок еще не вставлялся. При указании вместо имени блока имени файла, вставляется весь файл (два десятка блоков) в виде блока. После чего придется этот блок разбивать, менять точку вставки нужного блока, удалять и пуржить все блоки вставленные в нагрузку к нужному. Это делать конечно можно, но сложно и много машинного времени займет...
Хотелось бы вариант попроще.
Main Urod вне форума  
 
Непрочитано 03.02.2010, 10:59
#5
Profan


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


Команда "_adcenter". Загружаешь туда файл с блоками и просто перетаскиваешь нужные блоки в свой чертеж.
Profan вне форума  
 
Непрочитано 03.02.2010, 11:59
#6
KSI


 
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842


Profan, человек хочет программными средствами ЛИСП вставить всего лишь один блок из одного файла в другой.
KSI вне форума  
 
Автор темы   Непрочитано 03.02.2010, 12:01
#7
Main Urod


 
Регистрация: 20.01.2009
Сообщений: 1,170


Цитата:
Сообщение от Profan Посмотреть сообщение
Команда "_adcenter". Загружаешь туда файл с блоками и просто перетаскиваешь нужные блоки в свой чертеж.
Ээээээ.... А еще подробней?
- Запустил "_adcenter" (кстати, как сделать чтобы панель не отображалась? ни "_ATTDIA" ни "_-adcenter" не помогают.
- загрузил нужный файл через "ADCNAVIGATE".
Дальше что делать?
Main Urod вне форума  
 
Непрочитано 03.02.2010, 12:11
#8
Profan


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


Вот так (т.е. без всякого лиспа):
Миниатюры
Нажмите на изображение для увеличения
Название: DesignCenter.jpg
Просмотров: 190
Размер:	39.6 Кб
ID:	32848  

Последний раз редактировалось Profan, 03.02.2010 в 12:32.
Profan вне форума  
 
Непрочитано 03.02.2010, 14:15
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,990
<phrase 1= Отправить сообщение для VVA с помощью Skype™


В #2 выделил красным то, что ты пропустил.
В лиспе аналог ESC - (command)
1. Лиспом с помощью _-Insert вставляешь библиотечный файл. Вставится как блок сам файл и все определения блоков в нем.
2. На запрос точки вставки делаешь ESC.
3. Вставляешь нужный тебе блок из библиотеки.
4. Дальше насчет пурже я не заморачиваюсь, но если хочется, то делаешь так:
4.1 Считываешь таблицу блоков до команды insert
4.2 Считываешь таблицу блоков после команды insert
4.3 Составляешь список вновь появившихся блоков
4.4 (command "_.-PUGRE" "_B") и перечисляешь имена блоков
**Добавлено** Подробнее об алгоритме см сообщение ShaggyDoc здесь : Помогите начинающему разобраться с блоками
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как перенести в чертеж блок из файла библиотеки блоков

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рифмоплетство. Kryaker Разное 554 14.11.2023 11:59
Как создается динамический блок? mey Динамические блоки 19 05.04.2009 22:58
Как перегнать векторный чертеж dwg из Автокада в pdf, jpeg или другой растр? (вопрос из FAQ) Marv AutoCAD 1 28.09.2008 14:28
Юмор 2007 Огурец Разное 1172 29.12.2007 11:16
подскажите как перевести чертеж в JPEG миня AutoCAD 11 07.11.2007 17:19