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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > GetBlockReferenceIds(что за параметры) ??? .net

GetBlockReferenceIds(что за параметры) ??? .net

Ответ
Поиск в этой теме
Непрочитано 14.06.2011, 14:07 #1
GetBlockReferenceIds(что за параметры) ??? .net
xsakabsx
 
Регистрация: 18.04.2010
Сообщений: 46

не совсем могу понять параметры
помогите

public ObjectIdCollection GetBlockReferenceIds(
[MarshalAs(UnmanagedType.U1)] bool directOnly,
[MarshalAs(UnmanagedType.U1)] bool forceValidity
);


[MarshalAs(UnmanagedType.U1)] bool directOnly Input an indication that only those BlockReferences that directly refer to this BlockTableRecord should be included in the IDs. If this value is true and the block is nested, the parent block's references will not be included.

[MarshalAs(UnmanagedType.U1)] bool forceValidity Input an indication that older drawings which have been demand loaded should be loaded completely, in order to find their BlockReferenceIds. This is because older drawings did not store this information. This parameter is only applicable if directOnly is false.


Даже не сколько не понимаю что за параметры сколько не понимаю почему метод для одних блоков даёт айдишники их вхождений а для других по нулям хотя они присутствую в пространстве модели

Последний раз редактировалось xsakabsx, 14.06.2011 в 14:13.
Просмотров: 4975
 
Непрочитано 14.06.2011, 16:15
#2
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 571


Цитата:
Сообщение от xsakabsx Посмотреть сообщение
Даже не сколько не понимаю что за параметры сколько не понимаю почему метод для одних блоков даёт айдишники их вхождений а для других по нулям хотя они присутствую в пространстве модели


xsakabsx, ИМХО думаю не лишнем было бы выложить чертеж (желательно не страше ACAD2008) и указать на нем блоки, для которых GetBlockReferenceIds у Тебя выдяет id вхождений, а для которых "по нулям"
__________________
cadtools
TararykovDG вне форума  
 
Непрочитано 14.06.2011, 17:12
#3
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


А что тут понимать?
directOnly - учитывать или не учитывать вложенные блоки
forceValidity - загружать и сканировать полностью dwg-файл для получения всех ObjectId.
Для динамических блоков может не работать.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 14.06.2011, 19:39
#4
xsakabsx


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


блоки начинающиеся с M_OFURN
Вложения
Тип файла: zip dwg.zip (1.81 Мб, 43 просмотров)
xsakabsx вне форума  
 
Непрочитано 14.06.2011, 20:02
#5
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 571


Цитата:
Сообщение от xsakabsx Посмотреть сообщение
блоки начинающиеся с M_OFURN
xsakabsx, если Ты выложил чертеж по-моей просьбе, то почему проигнорирована просьба
Цитата:
Сообщение от TararykovDG Посмотреть сообщение
выложить чертеж (желательно не страше ACAD2008)
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 16.06.2011, 14:02
#6
xsakabsx


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


TararykovDG,

извиняюсь за 2010 )

вот 2007
Вложения
Тип файла: zip dwg2007.zip (2.02 Мб, 47 просмотров)
xsakabsx вне форума  
 
Непрочитано 16.06.2011, 14:19
#7
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Динамические блоки есть? Работать не будет.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 16.06.2011, 14:36
#8
xsakabsx


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


во что я написал чтобы просто проверить может я накочячил где

[CommandMethod("blocktest")]
public void blocktest()
{
Editor acEd = Application.DocumentManager.MdiActiveDocument.Editor;
Database acDB = Application.DocumentManager.MdiActiveDocument.Database;
Transaction acTr = acDB.TransactionManager.StartTransaction();
BlockTable acBT = acTr.GetObject(acDB.BlockTableId, OpenMode.ForRead) as BlockTable;
foreach (ObjectId btrId in acBT)
{
BlockTableRecord bTR = acTr.GetObject(btrId, OpenMode.ForRead) as BlockTableRecord;
ObjectIdCollection curBtrRefIds = bTR.GetBlockReferenceIds(true, true);
ObjectIdCollection curBtrprIds = bTR.GetAnonymousBlockIds();
acEd.WriteMessage("\n для блока {0} найдено {1} и {2} анонимных", bTR.Name, curBtrRefIds.Count,curBtrprIds.Count);
}
acTr.Dispose();

}
Александр Ривилис,
а как сделать чтобы с динамическими заработало ?



и по моему в этом документе нету динамических блоков

Последний раз редактировалось xsakabsx, 16.06.2011 в 14:49.
xsakabsx вне форума  
 
Непрочитано 16.06.2011, 15:01
#9
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от xsakabsx Посмотреть сообщение
а как сделать чтобы с динамическими заработало ?
Никак, т.к. в действительности динамические блоки ссылаются на другие (анонимные BlockTableRecord).
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 16.06.2011, 15:17
#10
xsakabsx


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


Цитата:
Сообщение от Александр Ривилис Посмотреть сообщение
Никак, т.к. в действительности динамические блоки ссылаются на другие (анонимные BlockTableRecord).
тоесть GetAnonymousBlockIds не подойдет ? (((

так вот в файле что я выложил нету динамических блоков (
xsakabsx вне форума  
 
Непрочитано 16.06.2011, 15:40
#11
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от xsakabsx Посмотреть сообщение
а для других по нулям хотя они присутствую в пространстве модели
Цитата:
Сообщение от xsakabsx Посмотреть сообщение
блоки начинающиеся с M_OFURN
Где они в пространстве модели:
[IMG]http://img204.**********.us/img204/4839/16061.png[/IMG]

P.S.: И выполни _AUDIT для файла. У меня он нашел в нём 1427 ошибок

Последний раз редактировалось Александр Ривилис, 16.06.2011 в 15:47.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 16.06.2011, 16:06
#12
xsakabsx


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


проверил на ошибки , исправил! все равно жопа (
они лежат внутри других блоков и просто в пространстве модели !
эти файлы нам присылают и про то кто их чертил на чем чертил и как он это делал ответить затрудняюсь!
просто это странно что если вхождений блока ноль то и при очистке они должны из БД докуметна удалитса но они есть !
чертовщина какаято (
xsakabsx вне форума  
 
Непрочитано 16.06.2011, 16:18
#13
Александр Ривилис

программист, рыцарь ObjectARX
 
Регистрация: 09.05.2005
Киев
Сообщений: 2,405
Отправить сообщение для Александр Ривилис с помощью Skype™


Цитата:
Сообщение от xsakabsx Посмотреть сообщение
они лежат внутри других блоков и просто в пространстве модели !
Ни один из блоки начинающиеся с M_OFURN не входит ни в один из блоков и не входит в пространство модели/листа. А не удаляются они при помощи _PURGE потому что на них есть ссылки (но не типа вхождения блока). В данном случае они элементы многовидовых блоков:
[IMG]http://img818.**********.us/img818/4616/16062.png[/IMG]
Если тебе нужно просто избавится от их описания, то воспользуйся ExplodeAllProxy/RemoveAllProxy, а уже затем _PURGE.
Александр Ривилис вне форума  
 
Автор темы   Непрочитано 17.06.2011, 10:45
#14
xsakabsx


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


Александр Ривилис,
Спасибо за то что заморочились с этим
а не могли бы вы мне объяснить что такое прокси объект ?
я себе примерно представляю что есть анонимный а вот на счет прокси понятия не имею заранее спасибо
xsakabsx вне форума  
 
Непрочитано 17.06.2011, 10:52
#15
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
Сообщение от xsakabsx Посмотреть сообщение
Александр Ривилис,
Спасибо за то что заморочились с этим
а не могли бы вы мне объяснить что такое прокси объект ?
я себе примерно представляю что есть анонимный а вот на счет прокси понятия не имею заранее спасибо
Тынц... В результате находим ссылку на это. Открой для себя Google.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Автор темы   Непрочитано 17.06.2011, 11:59
#16
xsakabsx


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


Цитата:
Сообщение от hwd Посмотреть сообщение
Тынц... В результате находим ссылку на это. Открой для себя Google.
премного блогадарю
xsakabsx вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > .NET > GetBlockReferenceIds(что за параметры) ??? .net

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Куда-то пропали параметры коллекции "Точка" Civil 2011 black_mts Вертикальные решения на базе AutoCAD 2 02.10.2010 09:07
Параметры вырезов в стальном листе. nevada Металлические конструкции 47 28.06.2010 17:27
.Net событие double-click как поймать dvim .NET 7 04.04.2010 15:13
Как сбросить параметры атрибутов? bargool AutoCAD 3 01.11.2008 10:15