|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
08.06.2018, 17:54 | #1 | |
.NET C# вставка блока из внешнего файла
Визайнер-дизуализатор в отставке
Регистрация: 12.11.2009
Сообщений: 133
|
||
Просмотров: 8314
|
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
http://adndevblog.typepad.com/autoca...sing-net-.html и то же на русском http://adn-cis.org/vstavka-bloka-iz-...hhyu-.net.html
На сколько я понял код, там в таблице блоков внешнего файла ищется BlockTableRecord нужного Вам блока и копируется в Ваш файл... Вам остается на его основе создать BlockReference и разместить его в пространстве чертежа Посмотрите последнее собщение тут: https://forums.autodesk.com/t5/net/i...c/td-p/2006010 Последний раз редактировалось Boxa, 08.06.2018 в 18:35. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,835
|
Я так понял, что надо весь файл вставить как новый блок.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Странно, что автор топика не умеет пользоваться поиском... поиск в яндексе по строке "C# insert wblock dwg in to dwg"
четвертая ссылка: forums.augi.com/showthread.php?107653-How-to-insert-a-DWG-file-as-a-block и еще https://forums.autodesk.com/t5/net/i...k/td-p/2495644 https://stackoverflow.com/questions/...urrent-drawing (см. последний ответ) Последний раз редактировалось Boxa, 08.06.2018 в 21:44. |
|||
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Абсолютно ничего странного Поиск пользовать умею, и копался с этой задачей полдня выдергивая варианты из поисковика. Беру первый попавшийся вариант с вашего первого поста:
Код:
Да, именно так. В вставляемом файле блока нет, но файл сделан с помощью WBLOCK, поэтому если его вставлять через INSERT, то вставляется блок с именем вставляемого файла и нужной точкой вставки
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук Последний раз редактировалось Unfamous, 11.06.2018 в 10:10. |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
и не будет происходить, так как в этом коде описывается вставка блока, а не dwg файла. Однако, если бы вы посмотрели последнюю ссылку в 4 сообщении (я написал куда именно смотреть), то может быть дело сдвинулось бы, но видимо не очень то и нужно...
|
|||
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Сарказм с вас так и хлещет) Надо, ибо зачем я трачу свое время, и тем более бесценное время форумчан?
Код:
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
И понятно почему, я потратил свое время и нашел для Вас полностью готовый метод, по вставке файлов созданных с помощью команды WBLOCK, а Вы в упор не видите этого и продолжаете задавать вопросы. Сейчас специально взял этот метод и протестировал, все работает без сбоев, файл вставляется, о чем тут еще говорить не понятно, остается только шутить, что я и делаю =о)
|
|||
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Я начал тему с этого "Бьюсь над тривиальной задачей, но без сторонней помощи видать не выйдет", т.к. не обладаю таким опытом как Ваш, и расковырять ваш пример не хватает мозгов, а не от того, что у меня нет желания посмотреть.
Как подправить упрощенный код, чтобы не было фатал эрора? Вроде открываю таблицу блоков для записи, добавляю туда блок, но видать что-то не так
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук |
|||
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Так вроде в посте #7 выложил попытку. Вы наверное не заметили. И она оказалась рабочей, вот только в моем проекте автокад валиться с фатал эрором, а в вашем нет.
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук |
|||
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Цитата:
Процедура была запихнута в класс CommandHandler_btn, и запускалась в Execute. Переместив ее в класс с командами она заработала. А как тогда это на кнопку посадить? UPD: Разобрался, надо блокировать документ переде тем как писать в таблицу. Сергей натолкнул на отладку, а в отладке выдало конкретную ошибку. Код:
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук Последний раз редактировалось Unfamous, 11.06.2018 в 15:45. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,039
|
создайте команду и вешайте на кнопку аналогично любому лиспу
|
|||
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Я с VBA перехожу на C# для того, чтобы можно было цивилизовано поделать кнопки на рибоне. Не охота каждому пользователю ходить кнопки настраивать
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук |
|||
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Может я что-то упустил, когда выбирал реализацию своей задачи. С помощью .net надстройки и простенького скрипта, который сделает нужные записи в реестре, я могу передать надстройку любому пользователю. Надстройка может храниться на сетевом ресурсе, и ее время от времени можно будет подменять. Можно пойти дальше, и написать надстройку, которая будет подгружать из сети новые версии для нужного автокада, но если честно это слишком большой замах для моей пока простой задачи. А чем может похвастаться CUIX пакет?
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук |
|||
|
||||
КЖ; C# Регистрация: 03.11.2005
Санкт-Петербург
Сообщений: 2,588
|
Цитата:
Цитата:
Разделением кода и интерфейса. Пользователь сам может настроить интерфейс так как ему удобно. Независимость от версии автокада. Независимость от панелек или ленты. Продолжать или этого пока достаточно? Вы действительно что то упустили, например стоит посмотреть на то, как рекомендует автодеск упаковывать программы для распространения, я имею ввиду .bundle пакеты. Там никакого скрипта не нужно, просто складываете все вместе: dll, cuix и другие ресурсы, описываете их в xml файл и все дальше автокад все сделает сам, и загрузит нужную версию dll, и cuix подгрузит и все остальное. |
|||
|
||||
Визайнер-дизуализатор в отставке Регистрация: 12.11.2009
Сообщений: 133
|
Цитата:
Цитата:
__________________
Жизнь не сахар, а смерть нам не чай... © Ю.Шевчук |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
.NET C# Как правильно получить BlockDefinition зная имя блока? | valerik88 | .NET | 12 | 12.05.2017 16:21 |
Как удалить описание блока из файла? | valrond | Программирование | 5 | 16.02.2016 16:30 |
Обновление/замена блока с таким же именем из другого файла. | Pesec | AutoCAD | 2 | 11.11.2009 19:33 |
Вставка динамического блока с определёнными параметрами. | Shade | Динамические блоки | 2 | 25.09.2007 15:20 |
Вставка таблицы внутри анонимного блока | Кулик Алексей aka kpblc | Программирование | 7 | 21.06.2006 15:05 |