Create Data Reference entity at host drawing according to index of entity in data shortcut project.
public ObjectIdCollection CreateReference( int index, Database hostDrawing )
Public Function CreateReference ( index As Integer, hostDrawing As Database ) As ObjectIdCollection
public: ObjectIdCollection^ CreateReference( int index, Database^ hostDrawing )
| Exception | Condition |
|---|---|
| System::ArgumentNullException, System::ArgumentException |
1string hostDwgName = @"C:\Drawing1.dwg"; 2Database hostDb = new Database(false, true); 3hostDb.ReadDwgFile(hostDwgName, FileOpenMode.OpenForReadAndAllShare, false, null); 4 5string sourceDwgName = @"C:\WorkingFolder\ProjectFolder\Alignment.2.dwg"; 6string objectName = "Road A-Left-6.000"; 7DataShortcuts.SetWorkingFolder(@"C:\WorkingFolder"); 8DataShortcuts.SetCurrentProjectFolder("ProjectFolder"); 9DataShortcuts.Validate(); 10bool isValidCreation = false; 11var dsManager = DataShortcuts.CreateDataShortcutManager(ref isValidCreation); 12int index = -1; 13for (int i = 0; i < dsManager.GetPublishedItemsCount(); ++i) 14{ 15 var item = dsManager.GetPublishedItemAt(i); 16 if (sourceDwgName.Equals(Path.Combine(item.SourceLocation, item.SourceFileName)) 17 && item.Name == objectName 18 && item.DSEntityType == DSEntityType.AlignmentOffset) 19 { 20 index = i; 21 break; 22 } 23} 24 25ObjectIdCollection^ objectIds = dsManager.CreateReference(index, hostDb);