Предпросмотр разноформатных чертежей, для импорта в базу.
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Предпросмотр разноформатных чертежей, для импорта в базу.

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

Ответ
Поиск в этой теме
Непрочитано 15.06.2007, 10:37 #1
Предпросмотр разноформатных чертежей, для импорта в базу.
T-Yoke
 
Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Где-то около Москвы
Регистрация: 29.11.2004
Сообщений: 16,754

Наконец-то, уговорились мои боссы на нормальную базу данных.
Поставленная задача!
Как из существующей базы конструкторской документации, которая выглядит как набор папок с чертежами, выполненными в трех разных программах (AutoCAd, T-Flex и SW), и сканированных чертежей в формате tiff. Вытянуть превьюшки или скриншот чертежа и вставить его в поле базы данных для предварительного просмотра.
Если кто-то решал подобную задачу, не могли бы предложить наиболее простой алгоритм и программы для выполнения этой задачи.
А то в жару сидеть и открывать каждый чертеж, ну муторно очень получается...
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
Просмотров: 7906
 
Непрочитано 15.06.2007, 11:37 Re: Сложная конвертация базы чертежей.
#2
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,176


Цитата:
Сообщение от T-Yoke
Наконец-то, уговорились мои боссы на нормальную базу данных.
Поставленная задача!
Как из существующей базы конструкторской документации, которая выглядит как набор папок с чертежами, выполненными в трех разных программах (AutoCAd, T-Flex и SW), и сканированных чертежей в формате tiff. Вытянуть превьюшки или скриншот чертежа и вставить его в поле базы данных для предварительного просмотра.
Если кто-то решал подобную задачу, не могли бы предложить наиболее простой алгоритм и программы для выполения этой задачи.
А то в жару сидеть и открывать каждый чертеж, ну муторно очень получается...
Не знаю, как T-FLEX и SW, но превьюшки файлов DWG и TIFF проще всего вытянуть, установив в папке режим "Эскизы страниц" (если винда XP). А там скриншот и повыдергивать кусочки, соотв. каждому файлу
kp+ вне форума  
 
Автор темы   Непрочитано 15.06.2007, 13:41
#3
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,754
Отправить сообщение для T-Yoke с помощью Skype™


превьюшки, надо не просто увидеть в проводнике, а поместить в поле базы даных, как картинку формата bmp или gif
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 15.06.2007, 15:07
#4
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,176


Цитата:
Сообщение от T-Yoke
превьюшки, надо не просто увидеть в проводнике, а поместить в поле базы даных, как картинку формата bmp или gif
Увидев превьюшки в проводнике, можно нажать print screen, вставить скриншот в любой редактор и настричь из него нужных фрагментов.
Кстати, ACDSEE ведет какую-то базу превьюшек.
Но можно ли ей воспльзоваться - не знаю
kp+ вне форума  
 
Непрочитано 15.06.2007, 18:06
#5
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 23,259
<phrase 1=


Цитата:
Сообщение от T-Yoke
превьюшки, надо не просто увидеть в проводнике, а поместить в поле базы даных, как картинку формата bmp или gif
Может есть смысл не делать базу данных, а использовать TDM? ИМХО, от превьюшек толк небольшой, кроме того на изменение чертежа простые картинки никак не отреагируют.
Солидворкер вне форума  
 
Автор темы   Непрочитано 15.06.2007, 18:21
#6
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,754
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от Солидворкер
Может есть смысл не делать базу данных, а использовать TDM? ИМХО, от превьюшек толк небольшой, кроме того на изменение чертежа простые картинки никак не отреагируют.
А вот с этого места, поподробней пожалуйста.
То что превьюшки плохо, я и сам знаю, но альтернативы, просто и главое быстро, позволяющее оценить графическую составляющую разноформатных чертежных файлов, пока не нашел. Пусть даже не имеющих постоянную адаптивную связь и отражающих реальное состояние чертежа. Потому и прошу совета!
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 15.06.2007, 18:42
#7
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 23,259
<phrase 1=


Цитата:
Сообщение от T-Yoke
А вот с этого места, поподробней пожалуйста.
То что превьюшки плохо, я и сам знаю, но альтернативы, просто и главое быстро, позволяющее оценить графическую составляющую разноформатных чертежных файлов, пока не нашел. Пусть даже не имеющих постоянную адаптивную связь и отражающих реальное состояние чертежа. Потому и прошу совета!
Если чуть поподробнее, то TDM- это системы электронного документооборота. Отслеживание изменений, разграничение прав, сетевое планирование и т.д.
Для Тифлекса:
FLEX DOCs
Для Cолида:
SWR-PDM

Лоцман от Аскона -хавает много форматов различных Кад-систем

Для Автокада не знаю, но товарищи с форума наверное подскажут.
Солидворкер вне форума  
 
Автор темы   Непрочитано 15.06.2007, 18:58
#8
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,754
Отправить сообщение для T-Yoke с помощью Skype™


Мне нужно описать изделия в системе ИС-ПРО, с подключением предварительного просмотра чертежа. Поскольку чертежи в разном формате, то подключать разнородные вьюеры не считаю целесообразным, тем более что большая часть компьютеров очень слабые и работают в терминальнм режиме. И задача стоит только дать общее представление о изделии (чертеже изделия). Без привлечения САПРов или даже вьюеров.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 15.06.2007, 19:07
#9
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 23,259
<phrase 1=


Цитата:
Сообщение от T-Yoke
Мне нужно описать изделия в системе ИС-ПРО, с подключением предварительного просмотра чертежа. Поскольку чертежи в разном формате, то подключать разнородные вьюеры не считаю целесообразным, тем более что большая часть компьютеров очень слабые и работают в терминальнм режиме. И задача стоит только дать общее представление о изделии (чертеже изделия). Без привлечения САПРов или даже вьюеров.
:roll: А к одному формату не перейти?
Солидворкер вне форума  
 
Непрочитано 15.06.2007, 21:05
#10
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411


> Солидворкер : ты, наверное, ошибся немного в одной букве? Не TDM, а PDM - Project (Product) data management [system].
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 15.06.2007, 22:53
#11
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,754
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от Солидворкер
...А к одному формату не перейти?
При моей жизни я этого не дождусь, только предварительный этап принципиального осознания моими боссами необходимости этого занял несколько лет. Кроме того база чертежей уже существует. И вопрос о конвертации не стоит.
Содание новых еще куда ни шло, а старые пусть живут как есть.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 16.06.2007, 06:42 Re: Сложная конвертация базы чертежей.
#12
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от T-Yoke
Вытянуть превьюшки или скриншот чертежа и вставить его в поле базы данных для предварительного просмотра.
Если кто-то решал подобную задачу, не могли бы предложить наиболее простой алгоритм и программы для выполнения этой задачи.
Такие задачи решаются программированием, а не всякими PrintScreen. А для программирования ты не должен спрашивать алгоритм (для ручной работы он прост - "бери больше, кидай дальше"), а дать настоящую постановку.

Даже для советов надо знать:
1. Какая именно база данных
2. Ее структура, взаимосвязи между таблицами, ограничения и прочее.
3. Что за поле, куда надо вставить - тип и прочее
4. Какая дополнительная информация о файле хранится в базе
5. Как и где хранятся файлы, условия доступа и ограничения, возможность их переезда
6. Полный перечень возможных типов файлов.

В общем случае программа должна сканировать папки, отбирать требуемые файлы, сама делать превьювы. Из DWG они извлекаются достаточно просто.

Одновременно программа должна уметь работать именно с этой БД. Тут много нюансов. Такую программу надо заказывать специалистам.
ShaggyDoc вне форума  
 
Непрочитано 16.06.2007, 07:59
#13
Солидворкер
Moderator

Конструктор (машиностроение)
 
Регистрация: 23.10.2006
Россия
Сообщений: 23,259
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc
> Солидворкер : ты, наверное, ошибся немного в одной букве? Не TDM, а PDM - Project (Product) data management [system].
Конечно ошибся, каюсь. Технологией башка забита...
Солидворкер вне форума  
 
Автор темы   Непрочитано 16.06.2007, 21:46 Re: Сложная конвертация базы чертежей.
#14
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,754
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от ShaggyDoc
Такие задачи решаются программированием, а не всякими PrintScreen. А для программирования ты не должен спрашивать алгоритм... программа должна уметь работать именно с этой БД. Тут много нюансов. Такую программу надо заказывать специалистам.
Чую практического опыта пока ни у кого не было, либо народ делиться шишками от грабель не хочет. Только общие фразы и советы обратиться к спецам.
Так к спецам я уже обращался, выкатили такую цену, что проще на эти деньги выучить нескольких своих спецов (причем за границей) и решить все поставленные и сопутствуюшие задачи.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 17.06.2007, 05:48 Re: Сложная конвертация базы чертежей.
#15
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от T-Yoke
Цитата:
Сообщение от ShaggyDoc
Такие задачи решаются программированием, а не всякими PrintScreen. А для программирования ты не должен спрашивать алгоритм... программа должна уметь работать именно с этой БД. Тут много нюансов. Такую программу надо заказывать специалистам.
Чую практического опыта пока ни у кого не было, либо народ делиться шишками от грабель не хочет. Только общие фразы и советы обратиться к спецам.
Так к спецам я уже обращался, выкатили такую цену, что проще на эти деньги выучить нескольких своих спецов (причем за границей) и решить все поставленные и сопутствуюшие задачи.
Чуешь ты неправильно. Что, ты хочешь чтобы достаточно сложную задачу организации документооборота тебе здесь расписали или программы выложили?

А я вот чую, что ты сам не представляешь задачи. Но раз чуешь, что "проще выучить" - выучи. И реши сам "все поставленные и сопутствуюшие задачи".
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 17.06.2007, 07:56 Re: Сложная конвертация базы чертежей.
#16
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,754
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от ShaggyDoc
...
Чуешь ты неправильно. Что, ты хочешь чтобы достаточно сложную задачу организации документооборота тебе здесь расписали или программы выложили?
...
НЕ усложняйте вопрос, постановкой технического документооборота ни кто не предлагал заниматься. А вот как вытянуть картинку предварительного просмотра разноформатных чертежей, не открывая все чертежи чохом, я бы выслушал. А уж куда, и как её вставить это я потом решу сам.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 17.06.2007, 09:04 Re: Сложная конвертация базы чертежей.
#17
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Сообщение от T-Yoke
А вот вытянуть картинку предварительного просмотра разноформатных чертетежей, не открывая все чертежи чохом, я бы выслушал. А уж куда, и как её вставить это я потом решу сам.
"А может возьмете частями?" (С)

Код:
[Выделить все]
procedure TruDwgPreview.ImportDwgThumbnail(DWGFileName: string);
const
  ImageSentinel: array[0..15] of Byte =
  ($1F, $25, $6D, $07, $D4, $36, $28, $28, $9D, $57, $CA, $3F, $9D, $44, $10,
    $2B);
type
  TDwgFileHeader = packed record
    Signature: array[0..5] of Char;
    Unused: array[0..6] of Char;
    ImageSeek: LongInt;
  end;
var
  DwgFile: file;
  StoreFileMode: Byte;
  DwgFileHeader: TDwgFileHeader;
  DwgSentinelData: array[0..15] of Byte;

  function LoadBMPData(const BitmapInfo: PBitmapInfo): Boolean;
  var
    BitmapHandle: HBITMAP;
    Bits: Pointer;
    NumColors: Integer;
    DC: HDC;

    function GetDInColors(BitCount: Word): Integer;
    begin
      case BitCount of
        1, 4, 8: Result := 1 shl BitCount;
      else
        Result := 0;
      end;
    end;

  begin
    Result := False;
    DC := GetDC(0);
    if DC = 0 then
      Exit;
    try
      with BitmapInfo^ do
      begin
        NumColors := GetDInColors(bmiHeader.biBitCount);
        Bits := Pointer(Longint(BitmapInfo) + SizeOf(bmiHeader) + NumColors *
          SizeOf(TRGBQuad));
      end;
      BitmapHandle := CreateDIBitmap(DC, BitmapInfo.bmiHeader, CBM_INIT, Bits,
        BitmapInfo^, DIB_RGB_COLORS);
      if BitmapHandle <> 0 then
      begin
         inherited Picture.Bitmap.Handle := BitmapHandle;
         inherited Show;
        Result := True;
      end;
    finally
      ReleaseDC(0, DC);
    end;
  end;


  procedure ProcessImageData;
  type
    TImageDataHeader = packed record
      TotalCount: LongInt;
      ImagesPresent: Byte;
    end;
    TImageDataRecord = packed record
      DataType: Byte;
      StartOfData: LongInt;
      SizeOfData: LongInt;
    end;
  var
    ImageHeader: TImageDataHeader;
    ImageRecord: TImageDataRecord;
    BMPData, WMFData: TImageDataRecord;
    ThumbData: Pointer;
  begin
    BlockRead(DwgFile, ImageHeader, SizeOf(ImageHeader));
    if ImageHeader.TotalCount + FilePos(DwgFile) > FileSize(DwgFile) then
      Exit;
    FillChar(BMPData, SizeOf(BMPData), 0);
    FillChar(WMFData, SizeOf(WMFData), 0);
    while (IOResult = 0) and (ImageHeader.ImagesPresent > 0) do
    begin
      BlockRead(DwgFile, ImageRecord, SizeOf(ImageRecord));
      if (IOResult <> 0) or (ImageRecord.StartOfData > FileSize(DwgFile)) then
        Break;
      case ImageRecord.DataType of
        2: BMPData := ImageRecord;
        3: WMFData := ImageRecord;
      end;
      Dec(ImageHeader.ImagesPresent);
    end;
    if BMPData.StartOfData > 0 then
      ImageRecord := BMPData
    else
      Exit;
    Seek(DwgFile, ImageRecord.StartOfData);
    GetMem(ThumbData, ImageRecord.SizeOfData);
    BlockRead(DwgFile, ThumbData^, ImageRecord.SizeOfData);
    try
        LoadBMPData(ThumbData);
    finally
      FreeMem(ThumbData);
    end;
  end;

begin
  Visible:=False;
  StoreFileMode := FileMode;
  FileMode := 0; // read-only
  System.Assign(DwgFile, DWGFileName);
  Reset(DwgFile, 1);
  FileMode := StoreFileMode;
  if IOResult <> 0 then
    Exit;
  try
    BlockRead(DwgFile, DwgFileHeader, SizeOf(DwgFileHeader));
    if (IOResult = 0) and (Copy(DwgFileHeader.Signature, 1, 4) = 'AC10') and
      (DwgFileHeader.ImageSeek <= FileSize(DwgFile)) then
    begin
      Seek(DwgFile, DwgFileHeader.ImageSeek);
      BlockRead(DwgFile, DwgSentinelData, SizeOf(DwgSentinelData));
      if (IOResult = 0) and CompareMem(@DwgSentinelData, @ImageSentinel,
        SizeOf(DwgSentinelData)) then
        ProcessImageData;
    end;
  finally
    Close(DwgFile);
  end;
end;
ShaggyDoc вне форума  
 
Непрочитано 17.06.2007, 09:13
#18
gh5rjn

умею проводить линии
 
Регистрация: 11.10.2005
Россия
Сообщений: 292


что касается ДВГ, то эти файлы можно просмотреть вьювером XnView 1.91.1
Для СВ и Тфлекса нужно разработать свои дополнительные Plugins
gh5rjn вне форума  
 
Автор темы   Непрочитано 17.06.2007, 09:46 Re: Сложная конвертация базы чертежей.
#19
T-Yoke

Артиллерист - вертолётчик. Дипломированный инженер-механик. Technologist
 
Регистрация: 29.11.2004
Где-то около Москвы
Сообщений: 16,754
Отправить сообщение для T-Yoke с помощью Skype™


Цитата:
Сообщение от ShaggyDoc
"А может возьмете частями?" (С)
....
Спасибо, завтра на работе попробую.
__________________
«Артиллерия не токмо грохот, но и наука!» Пётр I
T-Yoke вне форума  
 
Непрочитано 17.06.2007, 11:30 Re: Сложная конвертация базы чертежей.
#20
k168


 
Регистрация: 23.06.2005
Сообщений: 79


Цитата:
Сообщение от T-Yoke
НЕ усложняйте вопрос, постановкой технического документооборота ни кто не предлагал заниматься. А вот как вытянуть картинку предварительного просмотра разноформатных чертежей, не открывая все чертежи чохом, я бы выслушал. А уж куда, и как её вставить это я потом решу сам.
Решишь-то ты конечно сам, но если задача технического документооборота не стоит, то для чего все эти заморочки с превьюшками? Какие задачи решать-то собираетесь?
Есть интересный ресур, на Lav начинается на Team кончается. Там хорошо на эту тему было написано, причем в открытом разделе. К сожалению он уже неделю на профилактике, но как поднимется настоятельно рекомендую!
k168 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Предпросмотр разноформатных чертежей, для импорта в базу.