воскресенье, 29 декабря 2013 г.

Локализация плагинов AutoCAD: динамическое переключение локализаций интерфейса и справки

В данной заметке показан способ локализации  графического интерфейса плагина и его справочной системы. Помимо этого, продемонстрирован способ динамического переключения локализаций отдельно для графического пользовательского интерфейса плагина и отдельно для его справочной системы.

среда, 25 декабря 2013 г.

AutoCAD, фильтры выбора, LINQ и методы расширения

Возможности SelectionFilter, предоставляемого AutoCAD .NET API достаточно ограничены. Далеко не любое условие выборки можно сформировать с его помощью. Например, недавно некоторым нашим сотрудникам потребовалась команда, которая бы в текущем пространстве (Model\Layout) выбирала любые полилинии, имеющие указанное в запросе количество вершин. Такую выборку с помощью фильтров AutoCAD сделать не удастся.

вторник, 17 декабря 2013 г.

getc и fgetc: в чём различие?

В языках C и С++ функции getc и fgetc делают одно и то же: читают из указанного потока очередной символ. Однако в виду того, что getc может быть реализована в виде макроса, мы получаем следующие особенности использования указанных выше функций (см. "Advanced Programming in the UNIX Environment, 3rd Edition", стр. 151):

четверг, 12 декабря 2013 г.

CHSPACE и аннотативные размеры в AutoCAD

Проблема, обозначенная в этой заметке, наблюдалась в AutoCAD 2009 SP3, в то время как в AutoCAD 2014 SP1 всё работало корректно. В какой именно версии AutoCAD был исправлен обозначенный в тексте баг, мне не известно, а проверить нет возможности. Возможно, что кому-то опубликованная здесь информация пригодится и в более новой, чем 2009 версии.

вторник, 10 декабря 2013 г.

Пользовательские свойства групп листов в подшивке AutoCAD

Стандартная реализация менеджера подшивок AutoCAD такова, что пользователь может создавать произвольное количество пользовательских свойств уровней подшивки и листа, но не набора листов. Компания Autodesk неоднократно получала от своих пользователей просьбы исправить эту досадную недоработку однако, руководствуясь маркетинговой политикой компании, эти просьбы были проигнорированы. Лично я не питаю никаких иллюзий на тему того, что в обозримом будущем ситуация исправится. Однако отсутствующий функционал достаточно востребован среди пользователей, как русских, так и зарубежных. Возникает вопрос: можно ли это как-то исправить?