03/02/2014
Гиперссылки для атрибутов блоков
В настоящее время гиперссылка для вставки блока не отображается в атрибутах этой вставки блока. Единственный способ, чтобы у атрибутов отображалась гиперссылка – это установить эту гиперссылку для всех атрибутов этого блока, как показано в следующем коде.
Код - C#: [Выделить]
- [CommandMethod("SetHpLinkToAttRef")]
- static public void SetHpLinkToAttRef()
- {
- Document doc = Application.DocumentManager.MdiActiveDocument;
- Database db = doc.Database;
- Editor ed = doc.Editor;
- PromptEntityOptions options =
- new PromptEntityOptions("\nВыыберите вставку блока: ");
- options.SetRejectMessage("\nНужно выбрать вставку блоков");
- options.AddAllowedClass(typeof(BlockReference), false);
- PromptEntityResult acSSPrompt = ed.GetEntity(options);
- if(acSSPrompt.Status != PromptStatus.OK)
- return;
- using (Transaction tx = db.TransactionManager.StartTransaction())
- {
- BlockReference blockRef = tx.GetObject(acSSPrompt.ObjectId,
- OpenMode.ForRead) as BlockReference;
- if(blockRef.Hyperlinks.Count != 0)
- {
- AttributeCollection collection =
- blockRef.AttributeCollection;
- foreach (ObjectId id in collection)
- {
- AttributeReference attRef = tx.GetObject(id,
- OpenMode.ForWrite) as AttributeReference;
- attRef.Hyperlinks.Add(blockRef.Hyperlinks[0]);
- }
- }
- tx.Commit();
- }
- }
Источник: http://adndevblog.typepad.com/autocad/2014/01/setting-hyperlinks-to-attribute-reference.html
Обсуждение: http://adn-cis.org/forum/index.php?topic=503
Опубликовано 03.02.2014