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

09/02/2015

Получение глобального имени DIMLDRBLK в локализованной версии AutoCAD

Когда мы используем английскую версию AutoCAD, вы можете непосредственно получить имя системной переменной стрелки выноски, используя системную переменную DIMLDRBLK. Но когда используется локализованная версия AutoCAD, эта системная переменная хранит локализованную системную переменную, например, "Punkt" в немецкой и "Точка" в русской версии для стрелки выноски DOT.

Чтобы получить глобальное имя в локализованной версии можно воспользоваться таким кодом:

Код - C#: [Выделить]
  1.  Document doc = Application.DocumentManager.MdiActiveDocument;
  2.  Editor ed = doc.Editor;
  3.  
  4.  using  (Transaction tr = doc.TransactionManager.StartTransaction())
  5.  {
  6.      DimStyleTableRecord dstr = db.GetDimstyleData();
  7.      ObjectId dimldrblkId = dstr.Dimldrblk;
  8.      if (!dimldrblkId.IsNull)
  9.      {
  10.          BlockTableRecord btr = tr.GetObject(
  11.                        dimldrblkId,
  12.                        OpenMode.ForRead) as BlockTableRecord;
  13.          if  (btr != null)
  14.          {
  15.              ed.WriteMessage(btr.Name);
  16.          }
  17.      }
  18.      tr.Commit();
  19.  }

 

Источник: http://adndevblog.typepad.com/autocad/2015/01/retrieving-global-name-of-dimldrblk-in-localized-versions-of-autocad.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=1846

Опубликовано 09.02.2015
Отредактировано 09.02.2015 в 14:46:20