Новости Энциклопедия переводчика Блоги Авторский дневник Форум Работа

Декларация Поиск О нас пишут Награды Читальня Конкурсы Опросы








ГП-цитатник

Autocad -> Text -> TM -> Autocad

Сообщение mikegor » Чт ноя 16, 2006 17:06

Да нет никаких проблем в Транзите, вполне можно работать с DXF. Я же загорелся идеей вытаскивать тексты из DXF по той причине, что в этом случае можно быть независимым от умения и неумения разных кошек открывать файлы DXF.
Andrej писал(а):mikegor, а нельзя ли для полного счастья выложить где-нибудь исходники на Перле?

Конечно, можно:
http://slil.ru/23415629
Файл: DXF_with_src.rar (там .pl, .exe и .txt)
Пароль: trworkshop

Исходники лучше (если, конечно, Перл есть). Perl2exe - штука такая, с простыми вещами справляется, а что посложнее - уже не тянет.

Есть одна тонкость с текстовым форматом. Если запускать сами исходники в Перле, то файлы пишутся в UNIX-овском формате (конец строки 0A):
print TXT "$txtline\n";
Скомпилированный exe-шник почему-то пишет их уже в DOS-овском формате (0D 0A). Если же написать в Перле
print TXT "$txtline\r\n";
то в Перле будут получаться DOS-овские концы строк, а exe-шники будут уже лепить лишние пустые строки (т.е. и \r и \n они трактуют как DOS-овский конец строки 0D 0A = \r\n).
К счастью, Автокаду по барабану, DOS-овский или UNIX-овский конец строки, и Word-у тоже. Короче, перловские исходники я оставил с записью UNIX-овских концов строк, а exe-шники - те пишут DOS-овские концы строк.

Кроме того, обработку конца строки при чтении файлов в программе я сделал так, чтобы было все равно, DOS-овский он или UNIX-овский:
$s =~ s/[\r\n]*$//g;

А так, если надо, у меня есть на C простенькая программка unix2dos (аналог стандартной UNIX-овской утилиты).

На своих DXF-файлах я проверил, все работает правильно. Если на каких-то файлах будет слетать или давать ерунду, шлите мне bug reports, лучше всего с примерчиками.
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус





Сообщение Бродяга » Чт ноя 16, 2006 17:29

mikegor писал(а):Я же загорелся идеей вытаскивать тексты из DXF по той причине, что в этом случае можно быть независимым от умения и неумения разных кошек открывать файлы DXF.

Дело, безусловно, перспективное.
А потом уже поздно было редактировать. © bagira:)
Аватара пользователя
Бродяга

 
Сообщения: 4948
Зарегистрирован: Ср дек 07, 2005 13:34

Сообщение mikegor » Чт ноя 16, 2006 17:52

И главное, легко реализуемое, т.к. DXF является текстовым форматом, и разобраться, где и в каком виде сидит там текст, несложно. А уж после этого накатать программку - это дело техники.
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение mikegor » Пн дек 25, 2006 19:18

Последняя версия (по просьбе LionHeart):
http://slil.ru/23639265
пароль на архив: trworkshop
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение Ravl » Ср янв 10, 2007 18:16

mikegor
Вы бы не могли выложить файл еще раз? К сожалению на слил.ру "Файл не найден" :-(
Ravl

 
Сообщения: 67
Зарегистрирован: Ср июн 14, 2006 18:03

Сообщение mikegor » Ср янв 10, 2007 19:54

OK, по просьбам трудящихся выкладываю еще раз:
http://slil.ru/23718872
пароль тот же самый
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение Ravl » Чт янв 11, 2007 15:42

mikegor
огромное спасибо! :grin:
Ravl

 
Сообщения: 67
Зарегистрирован: Ср июн 14, 2006 18:03

Сообщение LS » Чт фев 01, 2007 12:22

mikegor! спасибо за интересную тему.
хотела посмотреть на программку, однако на слил.ру опять пишут, что файл не найден. Можно повторить?
Заранее спасибо!
LS

 
Сообщения: 5
Зарегистрирован: Чт дек 08, 2005 11:39
Откуда: Ukraine

Сообщение mikegor » Пт фев 02, 2007 12:16

ОК, выложу.
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение mikegor » Пт фев 02, 2007 12:56

http://slil.ru/23860798
Пароль: trworkshop

Это доработанная версия, добавлена обработка блока DIMENSION.
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение LS » Вт фев 06, 2007 14:23

огромное спасибо, скачала, сейчас буду смотреть.
LS

 
Сообщения: 5
Зарегистрирован: Чт дек 08, 2005 11:39
Откуда: Ukraine

Сообщение mikegor » Пт июн 01, 2007 22:58

http://rapidshare.com/files/34684760/DXF.rar.html
Поскольку снова поступили просьбы трудящихся, то снова выложил архив. Пароль тот же: trworkshop
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение rbd » Пн мар 24, 2008 14:37

Добрый день!

Пожалуйста, разъясните методику использования Вашей программы. В папку с чертежами, скопированы dxf2txt.exe и dxf2txt.pl, perl отсутствует.

C:\exchange\9005-6225\Dampers>dxf2txt 8.dxf
Opening 8.dxf
Opening 8.txt
Statistics:
55778 lines parsed
0 MTEXT blocks saved
0 TEXT blocks saved
0 DIMENSION blocks saved


При использовании trans.vlx, файл с текстом создается успешно.

Спасибо за помощь.
Аватара пользователя
rbd

 
Сообщения: 35
Зарегистрирован: Пт июн 09, 2006 15:55
Откуда: South Kazakhstan

Сообщение mikegor » Пн мар 24, 2008 16:18

Выложите куда-нибудь ваш dxf, если это возможно, я посмотрю, почему ничего не выходит.
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение rbd » Пн мар 24, 2008 17:53

Спасибо за подсказку.

После сохранения чертежа в формате DXF 2004, все действия выполнены успешно. Видимо, файлы были созданы в AutoCAD 2007/2008.

Пожалуйста, обратите внимание, при извлечении текста в файл, все объекты типа {TEXT 168} принимаются программой Wordfast в качестве сегментов для перевода. Возможно, имеется способ задать цифровое обозначение параметру TEXT, подобно используемому в trans.vlx методу.

Спасибо за уделенное время и внимание.
Аватара пользователя
rbd

 
Сообщения: 35
Зарегистрирован: Пт июн 09, 2006 15:55
Откуда: South Kazakhstan

Сообщение mikegor » Пн мар 24, 2008 19:45

В Традосе это не проблема. В памяти создаются три сегмента перевода {TEXT nnn}, {MTEXT nnn}, {DIMENSION nnn}, где номер nnn подставляется автоматом. Но не сложно сделать, скажем, комбинации типа T0001, M0001, D0001. Подойдет так? Можно и вообще без букв, как вы говорите, 1 - вместо TEXT, 2 - MTEXT, 3 - DIMENSION. Тоже не проблема. Хотя trans.vlx, насколько я помню, тоже делает комбинации букв и цифр, т.е. 16-ных цифр, т.е. 0-9 и A-F.

А 2008-й Autocad у меня есть, но больно уж он здоров, не стал я его ставить. Поэтому я еще не научил свои утилиты работать с форматом DXF от 2008-го.
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение rbd » Пн мар 24, 2008 22:44

Да, Вы правы, присвоение элементам {TEXT} буквенно-цифровых значений ускорит переход CAT-программы к следующему текстовому сегменту. По умолчанию, Wordfast останавливается на сегмнтах даже со 100% совпадением. Безусловно, изменение кода утилиты с применением обозначений сегментов в виде {T001} / {M002} / {D003} повысит эффективность Вашей программы.

Вероятно, наличие функции пакетной обработки файлов могло быть увеличить удобство пользования утилитой. Среди плюсов dxf2txt, следует отметить корректность представления строк в блоках из нескольких линий {TEXT}. В trans.vlx, строки из блоков данного типа переносятся в порядке снизу вверх, см. примеры ниже:

trans.vlx
Код: Выделить всё
{20CD}
SEATED FIRE SAFE VALVE.
{20CC}
ACTUATOR (AS  INDICATED IN PROCESS DATA SHEETS) AND METAL


dxf2txt
Код: Выделить всё
{TEXT 501}
ACTUATOR (AS  INDICATED IN PROCESS DATA SHEETS) AND METAL
{TEXT 502}
SEATED FIRE SAFE VALVE.


Однако, для обработки чертежей с различным содержанием экранов MODEL и LIST, применение поэкранной выборки текста trans.vlx является предпочтительным. В частности, в чертежах с готовым штампом на двух языках, показываемым только в экране LIST, может требоваться перевод содержимого экрана MODEL. В свою очередь, для чертежей с несколькими экранами LIST на основе одного экрана MODEL, метод извлечения текста Transit / dxf2txt может оказаться единственно возможным.

Спасибо за отличную утилиту!
Аватара пользователя
rbd

 
Сообщения: 35
Зарегистрирован: Пт июн 09, 2006 15:55
Откуда: South Kazakhstan

Сообщение mikegor » Пн мар 24, 2008 23:23

1.
rbd писал(а):изменение кода утилиты с применением обозначений сегментов в виде {T001} / {M002} / {D003} повысит эффективность Вашей программы.

2.
rbd писал(а):наличие функции пакетной обработки файлов могло быть увеличить удобство пользования утилитой.

Хорошо, я доработаю код, чтобы реализовать эти возможности.
rbd писал(а):В trans.vlx, строки из блоков данного типа переносятся в порядке снизу вверх

К сожалению, часто при создании чертежей многострочные текстовые блоки вводят как несколько отдельных текстовых строк, т.е. блоков типа TEXT, хотя удобнее было бы пользоваться многострочными текстовыми блоками MTEXT. Я обычно начинаю работу с чертежом с того, что вручную объединяю такие строки типа TEXT в единый многострочный блок MTEXT (Express - Text - Convert Text to Mtext). Это, конечно, занимает некоторое время, но зато потом окупается.
Что касается утилиты trans.vlx, то будьте с ней осторожны. Эта утилита не умеет корректно экспортировать длинные тестовые блоки. Если длина блока больше 231 символа, то экспортируются последние 231 символа блока, начало блока теряется. Именно этот недостаток trans.vlx в свое время и побудил меня сделать свою утилиту.
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение mikegor » Ср мар 26, 2008 16:58

Сделал новую версию.
http://slil.ru/25621528
файл DXF.rar без пароля, будет храниться месяц после последнего скачивания.
Подумав, остановился на чисто цифровом формате меток в текстовых файлах:

{1-nnn}
блок MTEXT
{2-nnn}
блок TEXT
{3-nnn}
блок DIMENSION

В этом случае и Традос эти метки проскакивает, и не надо их заносить в базу или помечать стилем DO_NOT_TRANSLATE.

Кроме того можно обрабатывать много файлов сразу. К сожалению, если вы запускаете exe-файлы в командной строке Windows, то нельзя пользоваться подстановочными символами, т.е. нельзя писать dxf2txt.exe *.dxf. Это работает только при запуске pl-файлов под Перлом. С другой стороны, это мне не кажется важным. Набор имени файла (или копирование мышкой) при любом раскладе требует гораздо меньше времени, чем перевод файла.
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Сообщение mikegor » Ср мар 26, 2008 17:16

Вот исправленная версия (в предыдущей забыл один из новых pl-файлов конвертировать в exe).
http://slil.ru/25621626
An Arbeitsplätzen kann es laut zugehen. Verlassen Sie sich nicht auf verbale Kommunikation!
Аватара пользователя
mikegor

 
Сообщения: 2334
Зарегистрирован: Пт дек 02, 2005 20:47
Откуда: Moscow
Язык(-и): нем-рус,дат-рус

Пред.След.


Словари русского языка

www.gramota.ru
Словарь Мультитран
Язык

Вернуться в Полезное программное обеспечение. Аллея Бродяги

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 10