Нужно разобрать .top файлы .top - неизвестный тип данных - PullRequest
0 голосов
/ 11 октября 2019

Мне нужно получить данные из файла необычного типа. Программное обеспечение представляет собой очень специфичный для отрасли пакет, созданный в Германии и не имеющий особой маркировки, но, кажется, его называют «Top10», и оно используется для укладки каменных столешниц на каменную плиту, которую затем подают на три мостовые пилы с ЧПУ на нашем заводе.

Файлы, экспортируемые на наши алмазные мостовые пилы, являются ".iso". Это открывается как обычный текстовый файл в Notepad ++. Я могу легко разобрать файл с помощью VBA / Excel и получить размеры разрезов. К сожалению, у него есть только числовые команды, и ничего, что просто показывает размер каменной плиты, из которой он вырезан. В каждой работе есть файл .iso для каждой каменной плиты.

Файл, в котором хранится весь проект (несколько каменных плит), представляет собой файл ".top". Открытие этого файла в Notepad ++ показывает несколько нормальных символов, но в основном NUL. Я не могу разобрать это с моим VBA / Excel на основе чтения .txt файлов вообще.

Удивительно, но я отчетливо вижу кусочки камня в файле .top, но символы, в которых хранятся их размеры, должны быть в символах "NUL".

Как узнать структуруэтого файла достаточно, чтобы просто прочитать другие символы?

Цель состоит в том, чтобы создавать отчеты и метрики без необходимости открывать тысячи файлов вручную.

'Это несколько верхних строк .isoфайл ... Я могу легко прочитать это как текстовый файл, но он не дает мне размер плиты.

N10 ; NC-File:      Q20294_3120.iso
N15 ; Date:         13:28:56 - 07.10.19
N20 ; Project-File: Q20294.top
N25 ; Program:      TOP
N30 ; Machine:      GMM Intra
N35 ; User:         Ollie
N40 ; Computer:     OLLIE-PC
N45 ; PP:           OSAI_V2
N50 ; Version:      10.0.4.9
N55 ; ------------------------
;
N60 ; ===== Preconditions =====
N65 E601=20.0000 ;Slab Thickness
N70 ( CLS, USER\PROGRAMS\SEKON\PRECOND )
;
N75 ; ===== Measure Thickness =====
N80 (DIS,"Step 0 -> MEASURE THICKNESS")
N85 E641=1525.0000 ; (Measure X)
N90 E642=725.0000 ; (Measure Y)
N95 E643=0 ; (Center)

'Это то, что файл .top показывает в Notepad ++, но это простопоказывает много NUL, и я не могу на самом деле разобрать его, используя мой существующий VBA вообще. Q20294 - это имя задания, а 3115 и т. Д. - идентификаторы плиты.

top@sekon.de
10.0.4 ; Ì d   Q20294                                                                                                                                                                                                  
; Ì   07.10.2019                                                                                                                                                                                              
‚
 GMM Intra €˜ 33333Ïz@š™™™™™@š™™™™™É?       @                            
d   ”    Ê  ¦         ÍÌÌÌÌÌ@                                                        
ƒ(       $À      @                    4@…        ž     Ÿ ²$    
                             ³
 GMM Intra · Q20294_3115.iso ¸ Q20294_3115.top ¹ Q20294_3115.jpg º  
²$                                 ³
 GMM Intra · Q20294_3116.iso ¸ Q20294_3116.top ¹ Q20294_3116.jpg º  
²$                                 ³
 GMM Intra · Q20294_3118.iso ¸ Q20294_3118.top ¹ Q20294_3118.jpg º  
²$                                 ³
 GMM Intra · Q20294_3120.iso ¸ Q20294_3120.top ¹ Q20294_3120.jpg º  
²$                                 ³
 GMM Intra · Q20294_3121.iso ¸ Q20294_3121.top ¹ Q20294_3121.jpg º  
Ð     ا@     pƒ@     ¨–@                      4@             .@      
D@      D@      .@                Tafel 3115

Это моя простая функция VBA для чтения txtfile.

Public Function readtxt(FulPath As String) As String
e ("readtxt (fulpath=" & FulPath & ")")
    readtxt = ""
    On Error Resume Next
    Open FulPath For Input As #1
    readtxt = Replace(Trim(Input$(LOF(1), 1)), vbLf, "")
    Close #1
End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...