|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
23.11.2010, 14:28 | #1 | |
разбиение блоков .NET BlockReferense.ExplodeToOwnerSpace
Регистрация: 18.04.2010
Сообщений: 46
|
||
Просмотров: 3772
|
|
||||
Несколько наводящих вопросов:
1. BlockReference в пространстве модели? 2. Оно (пространство) доступно для того, чтобы быть открытым для записи (т.е. не открыто еще ни для чтения, ни для записи)? 3. На какой строке точно происходит вылет (проверь через отладчик или через отладочную печать/диалог)? 4. Зачем ты в цикле вызываешь acTrans.Commit(); если его можно вызвать после цикла? |
||||
|
||||
Регистрация: 18.04.2010
Сообщений: 46
|
С этим я разобрался вся проблема как раз была в Trans.Commit
но появилась новая проблема что делать если во внешней ссылке есть другая внешняя ссылка а в ней может быть еще одна Задача токова что надо втянуть все Xref потом те блоки что появились после хрефов разбить если вложенных хрефов нет то то все работает ! обидно даже |
|||
|
||||
добавлю: после первого
Код:
Код:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Задача в чем? Избавится от всех внешних ссылок? Тогда как вариант для каждого BlockReference использовать метод explode. Получится DBObjectCollection. Каждый из элементов этой коллекции проверяешь на BlockReference и то, что это внешняя ссылка. Если нет, то добавляешь к пространству модели, если да, то снова explode и т.д. Затем все неиспользуемые BlockTableRecord можешь удалить.
|
||||
|
||||
Регистрация: 18.04.2010
Сообщений: 46
|
1 Задача внедрить все ссылки
2 разбить все блоки которые появились после внедрения (то есть бывшие ссылки) ------------------------------------------------------- примерный ход действий создаю коллекцию всех обьектов в чертеже(transaction.GetAllOBjects) потом оттуда выкидываю все кроме хрефов Код:
а вот как создать коллецию обьектов из blockReferense.explodetoownerspace |
|||
|
||||
1. Не BlockReferense а BlockReference
2. Я что-то сказал про blockReferense.ExplodeToOwnerSpace? Я говорил про BlockReference.Explode и "ручное" добавление в пространство модели. Читай внимательнее то, что тебе пишут! |
||||
|
||||
Регистрация: 18.04.2010
Сообщений: 46
|
не я не модис
Цитата:
С# и Autocad .net Api я начал заниматься только 2 недели назад по тому могу не совсем внятно понимать ваши ответы |
|||
|
||||
|
||||
|
||||
Offtop: а на этом - только короткие рекламы с печальными последствиями?
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
|
||||
Регистрация: 12.06.2010
Липецк, Москва
Сообщений: 534
|
Буга-га! На этом форуме нет выделенной ветки для .NET - а в общей куче не очень удобно. Да и на том другом форуме - намного больше материала касаемо .NET
По теме: Цитата:
Последний раз редактировалось Modis, 21.12.2010 в 12:58. |
|||
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Какая рекурсия? У вас же компонентное программирование автокад все за вас сделает нужно только правильный метод найти. в объектной модели был метод Bind я не знаю, но думаю что и в АПИ он присутствует.
Вобщем нужно сначала затянуть внешние ссылки с помощью bind, а потом делать explode для блоков. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Нужен макрос на разбиение блоков | dallaskassel | Программирование | 6 | 29.10.2010 16:33 |
Тормозит команда расчленения набора блоков | batmax | Программирование | 4 | 31.08.2010 17:37 |
Подсчет и сортировка блоков на текущем слое. Помогите отредактировать. | Kortes | Программирование | 17 | 26.03.2010 18:46 |
Самопроизвольное разбиение блоков. Как устранить? | Tannik | AutoCAD | 7 | 12.04.2009 03:05 |
разбиение блоков и процедура автосохранения | Visla | AutoCAD | 6 | 23.03.2004 12:23 |