Есть чертеж, сделанный в Autodesk Autocad 2018 для какого-то проекта. Чтобы сделать аналогичный чертеж для другого проекта, конструктор открывает его, меняет некоторые размеры и сохраняет под другим именем. Какие размеры и на какие менять, он берет из таблицы, имя файла для сохранения тоже. То есть выполняет механическую работу. Задача - этот процесс автоматизировать.
Фрагменты чертежа до и после изменения, стрелкой показан измененный размер:
Сами чертежи, фрагменты которых приведены выше, во вложении.
Какие размеры могут быть изменены в чертеже, заранее известно. Их нужно сделать узнаваемыми для программы (именованными), или заменить на что-то еще, то есть сделать образец чертежа. То есть нужно
подготовить чертеж (первая часть работы) для программной модификации и сформулировать требования к образцу, чтобы конструкторы могли в дальнейшем делать аналогичные образцы.
Далее нужно
разработать код на C# (вторая часть работы), в котором средствами .NET API открывается образец, именованные размеры изменяются в соответствии с набором параметров, подгоняется масштаб, и чертеж сохраняется в форматах DWG и PDF. Откуда читаются параметры не важно, в итоге, будут читаться из БД, которой пока нет, можно сделать свою БД, прочитать из файла, ввести из UI или сгенерить случайные значения из заданного диапазона.
Следующая, опциональная и заключительная часть работы -
оформить код в виде библиотек DLL. Всего планируется три библиотеки:
.NET DLL, в которой реализован функционал из второй части.
ComVisible DLL, в которой методы .NET DLL сделаны доступными (обернуты) в COM-объекте.
Подключаемый к Автокаду плагин, в котором методы .NET DLL можно вызывать из UI, то есть под визуальным контролем.
Результат - компилируемый код, желательно C# .NET 4.X
Почему два варианта реализации? Мы не уверены, что преобразовывать чертежи можно будет автоматически, поэтому предусматриваем возможность такого преобразования под контролем пользователя.
com-visible потому, что планируем вызывать из 1С.
Тема актуальна, пока явно не закрыта.
Пока тема актуальна (исполнитель не найден) можно писать в личку или почту, но лучше общаться в теме, ее буду просматривать не только я, но и наши конструкторы (я не конструктор и не на все вопросы отвечу).
Размер, порядок, сроки и форма оплаты обсуждаются