Интересно, как оно работает в других версиях автокада..В 2009-м проблем с гиперссылками не было: тынц (https://sites.google.com/site/bushmansnetlaboratory/moi-zametki/points).
link.Name = csvFileName;Именно так я и написал. Просто пример от adn-овца неправильный. Причём заведомо неправильный. Вот о чём мой пост =)
Просто пример от adn-овца неправильный. Причём заведомо неправильный. Вот о чём мой пост =)Да, похоже на то... Свойство SubLocation предназначено совершенно для другого: с его помощью можно переходить к конкретной части документа, указанного по ссылке, заданной в свойстве Name. Например я использовал его для того, чтобы при открытии гиперссылкой документа в Excel сразу же переходить на нужную строку данных, относящихся к этой ссылке.
Просто пример от adn-овца неправильный. Причём заведомо неправильный. Вот о чём мой пост =)Подтверждаю. Отпишешься ему в блоге?
Отпишешься ему в блоге?Готово =)
А вот если SubLocation не задавать, а нужный url поместить в Name - всё работает!У меня работает в 2014-м, после вставки ссылки выделишь объект
using (Transaction tr = db.TransactionManager.StartTransaction())
{
Entity ent = tr.GetObject(res.ObjectId, OpenMode.ForRead) as Entity;
Polyline poly = ent as Polyline;
HyperLinkCollection hyps = null;
if (poly != null)
{
if (!poly.IsWriteEnabled)
poly.UpgradeOpen();
hyps = poly.Hyperlinks;
HyperLink hyp = new HyperLink();
hyp.Name = "C:\\Test\\Points.xls";
hyp.SubLocation = "Sheet1!$A$10:$C$10";
hyp.Description = "Linked to: \"A10:C10\" range";
hyps.Add(hyp);
poly.DowngradeOpen();
}
tr.Commit();
}
using (Transaction tr = db.TransactionManager.StartTransaction())
{
Entity ent = tr.GetObject(res.ObjectId, OpenMode.ForRead) as Entity;
Polyline poly = ent as Polyline;
HyperLinkCollection hyps = null;
if (poly != null)
{
if (!poly.IsWriteEnabled)
poly.UpgradeOpen();
hyps = poly.Hyperlinks;
HyperLink hyp = new HyperLink();
hyp.Name = "C:\\MyDrawing.dwg";
hyp.SubLocation = "MyView";//<-- вид создан и сохранен в любой вкладке
hyp.Description = "Linked to \"MyView\"";
hyps.Add(hyp);
poly.DowngradeOpen();
}
tr.Commit();
}