Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 26-06-2018, 20:55:28

Название: Выборка примитива внутри вставки блока
Отправлено: Алексей (IdeaSoft) от 26-06-2018, 20:55:28
Подскажите, я правильно делаю, то что  запускаю транзакцию базы данных документа,
и теле этой транзакции буду сканировать записи базы данных блока.
Что-то мне кажется я делаю не правильно
Или все же я должен запускать транзакцию базы данных блока?
 
Код - C# [Выбрать]
  1. public double acadnet_get_data(CAD_DBS.BlockReference blkref) {
  2.        
  3.             CAD_APS.Document doc = CAD_APS.Application.DocumentManager.MdiActiveDocument;
  4.             if (doc == null ) return -1;
  5.             CAD_DBS.Database db = doc.Database;
  6.  
  7.             using (doc.LockDocument())
  8.             {
  9.                 using (CAD_DBS.Transaction tr = db.TransactionManager.StartTransaction())
  10.                 {
  11.                     CAD_DBS.ObjectId id = blkref.BlockTableRecord; // Записи базы блока
  12.                 }
  13.             }
  14.             return -1;
  15.  
  16.         }
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Александр Ривилис от 26-06-2018, 20:58:57
базы данных блока
Это что за зверь? На код не смотрел, ибо это не код. Опиши чего ты добиваешься, только подробно (если надо, то с картинками).
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Алексей (IdeaSoft) от 26-06-2018, 20:59:07
А все вспомнил у BlockReference есть же Exlode
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Алексей (IdeaSoft) от 26-06-2018, 20:59:57
Это что за зверь?
Ой думаю лучше эту тему удалить.
А то меня засмеют.
Бред какой-то написал.
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Александр Ривилис от 26-06-2018, 21:00:35
А все вспомнил у BlockReference есть же Exlode
Не Exlode, а Explode. И он не всегда работает. Например не работает, если разные масштабные коэффициенты по X,Y,Z
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Александр Ривилис от 26-06-2018, 21:01:11
А то меня засмеют.
Это будет очень полезно! :)
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Алексей Кулик от 26-06-2018, 23:41:54
Например не работает, если разные масштабные коэффициенты по X,Y,Z
Позволю себе уточнить :)
Не сработает, если explmode (https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Core/files/GUID-113BD30D-2F46-4E23-9B49-034AB50064A7-htm.html) равна 0, либо в блоке есть 3DSOLID. Насчет 3DFACE, Mesh и прочих трехмерок не уверен.
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Александр Ривилис от 27-06-2018, 00:29:10
Например не работает, если разные масштабные коэффициенты по X,Y,Z
Позволю себе уточнить :)
Не сработает, если explmode (https://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/AutoCAD-Core/files/GUID-113BD30D-2F46-4E23-9B49-034AB50064A7-htm.html) равна 0, либо в блоке есть 3DSOLID. Насчет 3DFACE, Mesh и прочих трехмерок не уверен.
По моему ты путаешь команду _EXPLODE и метод Explode.
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Алексей Кулик от 27-06-2018, 07:41:15
Просто интересно: а применение метода Explode принципиально отличается от лисповского vla-explode ?
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Александр Ривилис от 27-06-2018, 10:14:39
Просто интересно: а применение метода Explode принципиально отличается от лисповского vla-explode ?
Лисповский vla-explode - это аналог ExplodeToOwnerSpace, а не Explode.
Название: Re: Выборка примитива внутри вставки блока
Отправлено: Алексей Кулик от 27-06-2018, 10:26:29
Понял, что ничего не понял. Потом документацию посмотрю, да и здесь прекращу флудить ))