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

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

Вставка блоков

Ответ
Поиск в этой теме
Непрочитано 22.10.2009, 09:33 #1
Вставка блоков
Jonas
 
конструктор машиностроитель
 
Новосибирск
Регистрация: 14.05.2007
Сообщений: 893

Читаю справку-

"В текущий чертеж можно вставлять один или несколько блоков из других файлов чертежей. Этот метод используется при вставке из библиотек компонентов. Библиотека компонентов содержит описания блоков для сходных компонентов. Такие описания блоков для удобства хранятся в одном файле чертежа".

Как это выполнить не нахожу.
Нужно макросм вставить блок. Возможно ли?
Просмотров: 4285
 
Непрочитано 22.10.2009, 09:50
#2
Кулик Алексей aka kpblc
Moderator

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


Не очень понял проблему.
Есть не меньше 5 вариантов:
1. Командой _.-insert вставить сторонний файл в текущий, отменив точку вставки. Тогда описания блоков будут импортированы, а сам "сторонний файл" вставлен не будет
2. Через vla-insertblock, указав путь к файлу библиотеки. Потом вставленный блок удалить.
3. Через ObjectDBX открыть файл библиотеки и импортировать описание нужного блока. Правда, для динамических блоков придется покувыркаться.
4. Использовать палитры инструментов (если задача вставки блока не является частью другой, более глобальной задачи).
5. Найти тему "На заметку программистам" - по-моему, там был код по вставке блоков.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 23.10.2009, 04:55
#3
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Проблема в том, что с переходом на А2008 появилась аннотативность что очень хорошо. Все используемые ранее программы по оформлению чертежей по ЕСКД теперь не применимы. Я наделел аннотативных блоков которые и применяю. Блоки прописаны в шаблонах и все вроде не плохо но, если открываешь ранее созданый фаил, то соответственно не работает. Да и нагружать шаблоны большим колличеством описаний блоков вроде никчему.

Пример моего макроса -
Код:
[Выделить все]
^C^C(Setq Cl (Getvar "CLayer"));(setvar "clayer" "ЕСКД");_-insert;шероховатость;\;;;(Setvar "CLayer" Cl)
Вот мне и хочеться чтобы блоки вставлять из файла библиотеки и не все (как в первом примере) а те что нужно в данный момент.

2,3,4 варианты для меня еще требуют изучения.

По первому примеру работает вот таким образом -
Код:
[Выделить все]
^C^C_.-insert;Би_блок;^C^C(Setq Cl (Getvar "CLayer"));(setvar "clayer" "ЕСКД");_-insert;шероховатость;\;;\;;(Setvar "CLayer" Cl)^C^C
может и коряво но да ладно.

5-ый вариант перечитал и из всего извлек только головную боль.

Все равно спасибо за помощь!
Jonas вне форума  
 
Непрочитано 23.10.2009, 08:03
#4
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Jonas Посмотреть сообщение
Вот мне и хочеться чтобы блоки вставлять из файла библиотеки и не все (как в первом примере) а те что нужно в данный момент.
4 - самое то, как мне кажется
Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
4. Использовать палитры инструментов (если задача вставки блока не является частью другой, более глобальной задачи).
Там ничего сложного, создать кнопку втавки блока в палитре: открыть палитру в чертеже-библиотеке(ctrl+3 вроде) - левой кнопкой мыши перетащить на нее блок(и).
Чтобы вставить блок потом в чертеж: открыть чертеж, открыть палитру, нажать кнопку на палитре.
Конечно, лучше для своих блоков создать отдельную палитру - ну это частности, в процессе довольно быстро понимаешь что да как...
Удобно очень!
Do$ вне форума  
 
Непрочитано 23.10.2009, 09:10
#5
Сергей Богатов


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


для VBA
Код:
[Выделить все]
 
 wblk_name = wblk_path + blk_name + ".dwg" 'путь к замещающему блоку 
    Set blockObj = zFile.ModelSpace.InsertBlock(insertionPnt, wblk_name, 1, 1, 1, 0) 'вставляем для переопределения блоков
    blockObj.Delete 'удаляем
    zFile.SendCommand "_ATTSYNC" & vbCr & "NAME" & vbCr & blk_name & vbCr 'синхронизация атрибутов
    zFile.Save
__________________
Я-проектировщик бывший проектировщик!
Сергей Богатов вне форума  
 
Автор темы   Непрочитано 23.10.2009, 09:44
#6
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от Do$ Посмотреть сообщение
4 - самое то, как мне кажется
Палитры очень хорошо, не спорю. А еслди такой макрос -
Код:
[Выделить все]
^C^C_.-insert;Би_блок;^C^C(Setq Cl (Getvar "CLayer"));(setvar "clayer" "ЕСКД");_-insert;Разрез;\;;\_-insert;разрез2;\;;\_-insert;Ар;\;;;_copy;_last;;@;\(Setvar "CLayer" Cl)
Кроме того:
- сформированы панели инструментов и разделять (что то в панели, что то в палитре) не удобно работать,
- включать в макрос программы, мне кажеться не стоит, лучше уж писать отдельную программу на всё (не для моих мозгов).

Спасибо!
Jonas вне форума  
 
Непрочитано 23.10.2009, 11:54
#7
VVA

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


Jonas, Еще пару ссылок для вставки блоков:
1. На заметку программистам
2. Копирование блоков из чертежа в чертеж
3. Нужна функция импорта блока из файла
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 23.10.2009, 12:38
#8
Jonas

конструктор машиностроитель
 
Регистрация: 14.05.2007
Новосибирск
Сообщений: 893


Цитата:
Сообщение от VVA Посмотреть сообщение
Спасибпо, все просмотрел, голова еще больше разболелась.
Наверно прийдется разобрать нужные блоки по отдельным файлам и делать несколько библиотек по тематикам.
Jonas вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Вставка блоков



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Очистка рисунка от "пустых" блоков Makswell Готовые программы 15 26.10.2022 15:24
AutoCAD 2008 - вставка блоков из файла в файл Vavan Metallist AutoCAD 14 25.05.2009 19:37
VBA: утечка памяти при вставке блоков Mikha Программирование 13 03.04.2009 09:18
Программная вставка динамических блоков wetr Программирование 35 06.01.2009 07:09
Возможна ли вставка блоков по заданной траектории? Natalya AutoCAD 2 29.11.2007 19:04