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

Чертежи AutoCAD, OmegaT и GNU/Linux

Друзья!

Сегодня я выпил пивка по случаю успешного сражения с чертежами, коих у меня было 80 шт. Форматом чертежей был DWG 2004-2006

Итак, исходные данные: Ubuntu 13.10, wine, mono, draftsight.

Алгоритм следующий.

1. Сохраняем иcходные файлы в формате dxf R2000-2002 ASCII

Выполнить эту операцию мне пришлось 80 раз. А шо делаць, ибо касательно пакетного пересохранения я ничего не могу сказать хорошего.

2. На сайте Englishhelp.ru скачиваем программу dxf2txt. Кстати говоря, огромное спасибо автору этой чудесной программулины, ибо полезна она весьма!

3. Для того, чтобы облегчить себе задачу, воспользуемся командной строкой:
1) открываем терминал;
2) переходим в папку, где лежат наши файлы cd /home/chyvak/papka_s_DXF;
3) просим перечислить содержимое: ls;
4) копируем имена наших DXF-файлов;
5) ура(!);
6) терминал не закрываем.

4. Распаковываем скачанный архивчик в папку с нашими DXF-файлами.

5. В ранее незакрытом терминале (либо в новом, после команды cd /home/chyvak/papka_s_DXF) командуем вытащить текст из DXF: wine dxf2txt file1.dxf file2.dxf

6. В результате, в папке papka_s_DXF появятся TXT-файлы, одноименные с DXF-файлами.

7. Кодировкой этих файлов является ANSI, что не очень удобно, ибо кириллица выглядит очень красиво, но совсем не понятно, а нам это все переводить! Для того, чтобы спасти отца русской демократии необходимо сменить кодировку на UTF. Для этого воспользуемся программой UTFCast Express Запускается она из терминала аналогично dxf2txt, т. е. командой wine 'home/put/k/programme/utfcast.exe'. Использование программы интуитивно понятно, поэтому останавливаться в этой статье на ней не буду.

8. Перекодированные файлы переводим в какой-нибудь кошке. Я использовал OmegaT. Единственное замечание, необходимо настроить файловый фильтр для удобной сегментации.
9. Переведенные txt-файлы необходимо снова перекодировать из UTF в ANSI. Тут нам поможет программа Unicode2Ansi. Запускается она в среде mono, ибо написана для .NET, что есть зло: mono 'home/put/k/programme/unicode2ansi_rus.exe'. Эта программа немного испортила имена файлов, зачем-то добавив имя папки к имени файла (пришлось править вручную; думаю, в винде такой проблемы не будет), но с задачей справилась. Использование программы также было интуитивно понятным.

10. Перекодированные TXT-файлы кладем к нашим DXF-файлам. В терминале переходим в папку с DXF cd /home/chyvak/papka_s_DXF b командуем поместить наш переведенный текст на место  wine txt2dxf file1.dxf file2.dxf

11. Открываем наши DXF-файлы, просматриваем, получаем удовольствие, и сохраняем, как нам надо :-)

12. Профит!

Update: Спасибо г-ну Dimitry Prihodko за его программерство и получившийся ништяк!

5 комментариев:

  1. то есть на наличие перловских скриптов автор тупо забил... ну что сказать - "виндузизм" - он неизлечим. остается вопрос - а в бубунте-то что автор забыл?

    ОтветитьУдалить
  2. автор в бубунте забыл. А если комментатору известно что-то за перловские скрипты, и простой, понятный и легко воспроизводимый способ их использования — автор только рад будет почитать, попробовать и вписать в статеечку выше.

    ОтветитьУдалить
    Ответы
    1. http://sourceforge.net/projects/dxf2txtconverter/
      собственно, уже переработал и написал простейшую программку. только не забудь перл на машину поставить (sudo apt-get istall perl))))))))
      а запоздал с ответом потому что тупо забыл))))))))

      Удалить
    2. Вот так бы и сразу! Спасибо!

      Удалить
  3. Этот комментарий был удален автором.

    ОтветитьУдалить