На главную Написать нам Контакты
г. Омск, ул. 8 марта, 8
тел./факс: (3812) 310-210
310-221
316-769
317-218
e-mail: csoft@mcad.ru
 
На главную

Создание .NET приложений nanoCAD СПДС

Дата пресс-релиза: 
27.03.2013

В ходе внедрения решений nanoCAD в ОАО ОмскГражданПроект перед специалистами ЗАО Сисофт Омск, осуществляющими внедрение, возник ряд задач по портированию старых приложений. В институте использовали LISP приложения для AutoCAD, облегчающие рутинные операции. Эти приложения были сгруппированы в отдельное меню «ОГП». Когда, наконец, в nanoCAD 4.0 заработала загрузка приложений .NET, специалисты Сисофт Омск переписали эти приложения под новую платформу. Прототипом для разработки послужила статья.

Ссылка на скачивание приложений
Видео

Задача 1. Выравнивание однострочных текстов

Команды запрашивают селекцию однострочных текстов, затем запрашивает точку, по которой они должны быть выровнены.
Решением стали команды:

  • OGPtextAlignRight – выровнять по правому краю
  • OGPtextAlignLeft – выровнять по левому краю
  • OGPtextAlignCenter – выровнять по центру

Задача 2. Произведение математических вычислений с текстами

Команды умножения и сложения запрашивают селекцию нескольких однострочных текстов (а также многострочных текстов, размеров), содержание текстов, по возможности, преобразуется в числа, и производятся вычисления. Результат выводится в командную строку в виде арифметического выражения, а также предлагается вставить на чертеж однострочный текст – результат операции.

Команды вычитания и деления запрашивают по одному тексту-операнду.

Отдельная команда позволяет настраивать точность вычисления (количество знаков после запятой).

Решением стали команды:

  • OGPmathSum - Сложение
  • OGPmathMult - Умножение
  • OGPmathSubt - Вычитание
  • OGPmathDiv - Деление
  • OGPmathPrecision – Точность вычислений

Задача 3. Изменение знака числа. Подчеркивание текста

Команды запрашивают селекцию однострочных текстов. Подчеркивание – добавляет или удаляет %%u (признак подчеркивания) в начале строки. Изменение знака – переключают знак «плюс» на «минус» или добавляет «минус» если не было никакого знака.
Решением стали команды:

  • OGPtextUnderline – Подчеркивание текста
  • OGPtogglePlusMinus – Переключение +/-

Задача 4. Подсчет длины линий

Команда запрашивает селекцию отрезков и полилиний, и вычисляет сумму их длин. Результат выдается в командную строку.
Решением стала команда:

  • OGPSumLength – Сумма длин отрезков и полилиний

Задача 5. Проецирование трехмерных чертежей

Достаточно часто попадаются чертежи, содержащие примитивы, расположенные в разных уровнях, либо вообще пространственные координаты.

Вот, например, безобидный чертеж плана этажа



При рассмотрении его в изометрии имеется такая картина:



Т.е. при открытии чертежа сразу непонятно, что исходные объекты расположены не в плоскости.
Соответственно, при работе с таким чертежом могут возникнуть ошибки измерений, некорректная отрисовка графики объектов и прочее.
Решением стала команда «Обнулить Z», которая позволяет спроецировать примитивы на плоскость XoY мировой системы координат. Получаемый чертеж:

По ссылке http://www.youtube.com/watch?v=JwWtEyzFu58 доступен видео-пример работы команды.

Задача 6. Экспорт типов линий в *.lin файл

При работе достаточно часто попадаются старые файлы, содержащие большое число типов линий. При этом исходные .lin файлы, содержащие описание этих типов, по тем или иным причинам являются утерянными. При этом пользователям необходимо использовать именно эти типы линий для создания новых чертежей.

Решением стала команда «Экспортировать *.lin», которая сохраняет все подгруженные в текущий чертеж типы линий в отдельный файл, который можно впоследствии загрузить в новый чертеж.

Исходные коды

Исходные коды доступны по ссылке: https://code.google.com/p/ogputils/source/browse/

Ссылки

  1. AutoCAD .NET Development Guide: Create single-line text
  2. AutoCAD .NET Development Guide: Prompt for User Input
  3. Stack Overflow: C#: How do I parse a string with a decimal point to a double?
  4. Руководство разработчика nanoCAD
  5. Хабр.ru: Ваш ход, товарищ .NET, или опять Реверси под nanoCAD, Alan_d, 2011
Copyright 2008, Csoft Омск
Погода в Омске