Последние сообщения

Последние сообщения

Страницы: [1] 2 3 ... 10
2
Vault API / Re: VGET - что это и с чем его едят?
« Последний ответ от Пашин Евгений 22-08-2017, 09:28:20 »
Информация всё же скромная. Не нашёл то, что мне нужно. Значит придётся клепать самому.
3
Vault API / Re: VGET - что это и с чем его едят?
« Последний ответ от Пашин Евгений 22-08-2017, 09:26:39 »
Простое "гугление" приводит к этой ссылке: http://download.autodesk.com/us/vault/Enterprise-Add-On-for-Autodesk-Vault-Guide-2014.pdf

Действительно приводит :)
4
Vault API / Re: VGET - что это и с чем его едят?
« Последний ответ от Александр Ривилис 22-08-2017, 08:57:57 »
Простое "гугление" приводит к этой ссылке: http://download.autodesk.com/us/vault/Enterprise-Add-On-for-Autodesk-Vault-Guide-2014.pdf
5
Vault API / VGET - что это и с чем его едят?
« Последний ответ от Пашин Евгений 22-08-2017, 08:16:44 »
Коллеги, добрый день.

Подскажите, кто-нибудь пользовался такой штукой как VGET?
Если да, то как? И где это можно почитать?

У Дага Редмонда я это не встречал - может кто знает, чьё это детище?
6
Спасибо, Александр. Путь к файлу я уже тут неправильно написал, а с LockDocument эксперименты.
пункт 3 - это ответ.
7
Вот это бред:
Код - C# [Выбрать]
  1. Database dbX = new Database(false, false);
  2. Document docX = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.GetDocument(dbX);
  3. DocumentLock docLoc1 = docX.LockDocument();
У dbX нет документа. Так что и блокировать нечего.
8
1. Читай у меня в подписи как форматировать код на форуме и соблюдай это правило.
2. "c:\1.dwg" - это не правильный путь. Правильный: "c:\\1.dwg" или @"c:\1.dwg"
3. Текущий файл (открытый в редакторе AutoCAD) нельзя добавить в другой как внешнюю ссылку.
9
Добрый день.

Пытаюсь присоединить внешнюю ссылку с помощью функции AttachXref (текущий файл в качестве внешней ссылки в сторонний файл). Возникает ошибка eFileAccessErr
Код - C# [Выбрать]
  1. Database dbX = new Database(false, false);
  2.                 Document docX = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.GetDocument(dbX);
  3.                 DocumentLock docLoc1 = docX.LockDocument();
  4.                 dbX.ReadDwgFile("c:\1.dwg", System.IO.FileShare.ReadWrite, true, "");
  5.  
  6.                 HostApplicationServices.WorkingDatabase = dbX;
  7.                                  
  8.                 using (Transaction trX = dbX.TransactionManager.StartTransaction())
  9.                 {
  10.                             LayoutManager.Current.CurrentLayout = layoutName;
  11.  
  12.                             DBDictionary lytDct = (DBDictionary)trX.GetObject(dbX.LayoutDictionaryId, OpenMode.ForWrite);
  13.                             foreach (DBDictionaryEntry dictEntry in lytDct)
  14.                             {
  15.                                 Layout lyt = (Layout)trX.GetObject(dictEntry.Value, OpenMode.ForWrite);
  16.  
  17.                                 if (!lyt.ModelType && dictEntry.Key != layoutName)
  18.                                 {
  19.                                     lyt.Erase();
  20.                                 }
  21.  
  22.                             }
  23.                            
  24.  
  25.                             BlockTable bt = (BlockTable)trX.GetObject(dbX.BlockTableId, OpenMode.ForWrite);
  26.                             ObjectId msId = bt[BlockTableRecord.ModelSpace];
  27.  
  28.                             BlockTableRecord btr = (BlockTableRecord)trX.GetObject(msId, OpenMode.ForWrite);
  29.                            
  30.                             //Вставка внешней ссылки                  
  31.                             string PathName = Application.DocumentManager.MdiActiveDocument.Name;
  32.                             ObjectId acXrefId = dbX.AttachXref(PathName, System.IO.Path.GetFileNameWithoutExtension(PathName));
  33.  
  34.                    
  35.                             if (!acXrefId.IsNull)
  36.                             {
  37.                                 // Attach the DWG reference to the current space
  38.                                 Autodesk.AutoCAD.Geometry.Point3d insPt = new Autodesk.AutoCAD.Geometry.Point3d(0, 0, 0);
  39.                                 using (BlockReference acBlkRef = new BlockReference(insPt, acXrefId))
  40.                                 {
  41.                                     BlockTableRecord acBlkTblRec;
  42.                                     acBlkTblRec = trX.GetObject(SymbolUtilityServices.GetBlockModelSpaceId(dbX), OpenMode.ForWrite) as BlockTableRecord;
  43.  
  44.                                     acBlkTblRec.AppendEntity(acBlkRef);
  45.                                     trX.AddNewlyCreatedDBObject(acBlkRef, true);
  46.                                 }
  47.                             }
  48.  
  49.  
  50.  
  51.  
  52.  
  53.                             dbX.SaveAs("c:\1.dwg", DwgVersion.Current);
  54.  
  55.                             trX.Commit();
  56.                        
  57.                    
  58.    
  59.             }
  60.  
Если PathName - не текущий файл, то работает нормально.
Можно ли как-то вставить в качестве внешней ссылки текущий файл?
10
На всякий случай: SymbolUtilityServices.ValidateSymbolName - это обертка над функцией acdbSNValid.
Да, в ObjectARX гораздо понятнее описание. Уж лучше бы в .NET API написали что-то типа: смотри описание acdbSNValid в ObjectARX.
Страницы: [1] 2 3 ... 10