Bläddra i källkod

added missing files

bscheibel 4 år sedan
förälder
incheckning
df08aa2ea0

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 13912 - 0
drawings/GV_12.DXF


BIN
drawings/GV_12.PDF


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 19262 - 0
drawings/Stahl_Adapterplatte.DXF


+ 104 - 0
file_out.csv

@@ -0,0 +1,104 @@
+,TEXT,X,Y,Text
+0,LAYOUT,420,297,LAYOUT
+1,Stahl,9,8,Stahl
+2,Adapterplatte,9,0,Adapterplatte
+3,ENTGRATEN,0,1,ENTGRATENWENN NICHT ANDERS DEFINIERT:
+4,UND SCHARFE,0,-1,UND SCHARFEBEMASSUNGEN SIND IN MILLIMETER
+5,KANTEN,0,-4,KANTENOBERFL?CHENBESCHAFFENHEIT:
+6,BRECHEN,0,-6,BRECHENTOLERANZEN:
+7,WENN NICHT ANDERS DEFINIERT:,0,1,ENTGRATENWENN NICHT ANDERS DEFINIERT:
+8,BEMASSUNGEN SIND IN MILLIMETER,0,-1,UND SCHARFEBEMASSUNGEN SIND IN MILLIMETER
+9,OBERFL?CHENBESCHAFFENHEIT:,0,-4,KANTENOBERFL?CHENBESCHAFFENHEIT:
+10,TOLERANZEN:,0,-6,BRECHENTOLERANZEN:
+11,LINEAR: +0.1/-0.1,1,-9,LINEAR: +0.1/-0.1
+12,WINKEL:,1,-11,WINKEL:
+13,0,172,108,0
+14,"25,00",185,99,"25,00"
+15,"39,90",192,99,"39,90"
+16,"160,10",252,96,"160,10"
+17,"175,00",260,96,"175,00"
+18,"200,00",272,96,"200,00"
+19,0,154,128,0
+20,"25,00",145,141,"25,00"
+21,"39,90",145,148,"39,90"
+22,"160,10",142,208,"160,10"
+23,"175,00",142,216,"175,00"
+24,"200,00",142,228,"200,00"
+25,"R10,00",276,235,"R10,00"
+26,4 x,300,149,4 x
+27,%%c,307,149,%%c
+28,"11,00",314,149,"11,00"
+29,"20,00",333,149,"20,00"
+30,%%c,308,144,%%c
+31,"18,00",315,144,"18,00"
+32,"12,00",334,144,"12,00"
+33,4 x M8 Gewinde durchgehend,0,4,4 x M8 Gewinde durchgehend
+34,"20,00",47,241,"20,00"
+35,A,17,31,A
+36,A,412,31,A
+37,B,17,75,B
+38,B,412,75,B
+39,C,17,125,C
+40,C,412,125,C
+41,D,17,175,D
+42,D,412,175,D
+43,E,17,225,E
+44,E,412,225,E
+45,F,17,269,F
+46,F,412,269,F
+47,8,42,9,8
+48,8,42,291,8
+49,7,89,9,7
+50,7,89,291,7
+51,6,139,9,6
+52,6,139,291,6
+53,5,189,9,5
+54,5,189,291,5
+55,4,239,9,4
+56,4,239,291,4
+57,3,289,9,3
+58,3,289,291,3
+59,2,339,9,2
+60,2,339,291,2
+61,1,387,9,1
+62,1,387,291,1
+63,GEWICHT:,285,12,GEWICHT:
+64,Stahl,307,21,Stahl
+65,A3,401,24,A3
+66,BLATT 1 VON 1,374,12,BLATT 1 VON 1
+67,MASSSTAB:1:2,330,12,MASSSTAB:1:2
+68,ZEICHNUNGSNR.,330,25,ZEICHNUNGSNR.
+69,BENENNUNG:,330,46,BENENNUNG:
+70,?NDERUNG,383,62,?NDERUNG
+71,ZEICHNUNG NICHT SKALIEREN,342,62,ZEICHNUNG NICHT SKALIEREN
+72,WERKSTOFF:,285,25,WERKSTOFF:
+73,DATUM,277,46,DATUM
+74,SIGNATUR,260,46,SIGNATUR
+75,NAME,244,46,NAME
+76,OBERFL?CHENG?TE:,264,63,OBERFL?CHENG?TE:
+77,QUALIT?T,230,25,QUALIT?T
+78,PRODUKTION,230,29,PRODUKTION
+79,GENEHMIGT,230,34,GENEHMIGT
+80,GEPR?FT,230,38,GEPR?FT
+81,GEZEICHNET,230,42,GEZEICHNET
+82,<>,174,132,<><><><><><>
+83,<>,174,132,<><><><><><>
+84,<>,174,132,<><><><><><>
+85,<>,174,132,<><><><><><>
+86,<>,174,132,<><><><><><>
+87,<>,174,132,<><><><><><>
+88,<>,179,127,<><><><><><>
+89,<>,179,127,<><><><><><>
+90,<>,179,127,<><><><><><>
+91,<>,179,127,<><><><><><>
+92,<>,179,127,<><><><><><>
+93,<>,179,127,<><><><><><>
+94,<>,269,222,<>
+95,"4 x <> {\fGDT;x} 20,00\P{\fGDT;v}%%c 18,00 {\fGDT;x} 12,00\P",257,139,"4 x <> {\fGDT;x} 20,00\P{\fGDT;v}%%c 18,00 {\fGDT;x} 12,00\P"
+96,A,196,242,A
+97,A,196,115,A
+98,<>,71,237,<>
+99,SCHNITT A-A,75,115,SCHNITT A-A
+100,Layout1,0,0,Layout1Layout2Model
+101,Layout2,0,0,Layout1Layout2Model
+102,Model,0,0,Layout1Layout2Model

+ 11 - 0
main.py

@@ -0,0 +1,11 @@
+import read_text_lines
+import merge_pandas
+import read_data
+
+drawing = "drawings/Stahl_Adapterplatte.DXF"
+file_out = "temporary/extracted_Stahladapter.csv"
+#file_out = "temporary/extracted_GV_12.csv"
+#file_out = "temporary/extracted_Laeufer.csv"
+#read_text_lines.read(drawing, file_out)
+#merge_pandas.merge_lines(file_out)
+read_data.read_dimensions(file_out, 0)

+ 34 - 0
old/dxf_line_reader.py

@@ -0,0 +1,34 @@
+
+def printpoint(b):
+    print(b)
+    obj = dict(zip(b[::2], b[1::2]))
+    try:
+        if obj['100'] == 'AcDbMText':
+            print('{}'.format(obj['0']))
+    except:
+        pass
+
+buffer = ['0', 'fake']
+filepath = 'GV_12.DXF'
+with open(filepath,'r', errors="replace") as fp:
+    line = fp.readline()
+    cnt = 1
+    #while line:
+        #line = fp.readline()
+    #line = line.rstrip()
+    print(line)
+    if line == '0':  # we've started a new section, so
+        print("Line {}: {}".format(cnt, line.strip()))
+            #try:
+            #    printpoint(buffer)  # handle the captured section
+            #except:
+            #    print("ERROR")
+
+    #buffer = []  # and start a new one
+    #buffer.append(line)
+    cnt += 1
+#f.close()
+
+#printpoint(buffer)        # buffer left over from last pass through loop
+
+#https://leancrew.com/all-this/2016/12/dxf-data-extraction/

+ 24 - 0
old/dxf_reader.py

@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+
+#from fileinput \
+import fileinput
+
+
+def printpoint(b):
+    print(b)
+    obj = dict(zip(b[::2], b[1::2]))
+    if obj['0'] == 'AcDbMText':
+        print('{}'.format(obj['0']))
+
+
+print('Code','Text')# header line
+buffer = ['0', 'fake']    # give first pass through loop something to process
+for line in fileinput.input("GV_12.DXF", errors="replace"):
+    line = line.rstrip()
+    print(line)
+    if line == '0':         # we've started a new section, so
+        printpoint(buffer)      # handle the captured section
+        buffer = []             # and start a new one
+    buffer.append(line)
+
+printpoint(buffer)        # buffer left over from last pass through loop

+ 43 - 0
old/merge_lines.py

@@ -0,0 +1,43 @@
+import csv
+
+## open CSV file and rea it
+myfile  = open('text.csv', "r")
+reader = csv.reader(myfile, delimiter=";")
+## create an empty dictionary
+mydictionary = {}
+
+rownum = 0
+
+for row in reader:
+    ## check if it is the header
+    if rownum == 0:
+        pass
+    else:
+        ## split the line of CSV in elements..Use the name for the key in dictionary and the other two in a list
+        #line = row.split(";")
+        #print(row)
+        text = row[0]
+        #print(text)
+        x = row[1]
+        y = row[2]
+
+        if x in mydictionary:
+            mydictionary[text][1] += text
+            print(mydictionary[text][1] )
+        else:
+            mydictionary[text] = [x,y]
+
+    rownum += 1
+
+myfile.close()
+
+## create a new list of lists with the data from the dictionary
+newcsvfile = ["text","x","y"]
+
+for i in mydictionary:
+    newcsvfile.append(mydictionary[i])
+
+## write the new list of lists in a new CSV file
+with open("output.csv", "wb") as f:
+    writer = csv.writer(f)
+    writer.writerows(newcsvfile)

+ 42 - 0
old/ocr_test.py

@@ -0,0 +1,42 @@
+import PyPDF2
+from tika import parser
+from nltk.tokenize import word_tokenize
+from nltk.corpus import stopwords
+import nltk
+
+
+#write a for-loop to open many files -- leave a comment if you'd #like to learn how
+filename = "GV_12.pdf"
+#open allows you to read the file
+pdfFileObj = open(filename,'rb')
+#The pdfReader variable is a readable object that will be parsed
+pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
+#discerning the number of pages will allow us to parse through all #the pages
+num_pages = pdfReader.numPages
+count = 0
+text = ""
+#The while loop will read each page
+while count < num_pages:
+    pageObj = pdfReader.getPage(count)
+    count +=1
+    text += pageObj.extractText()
+#This if statement exists to check if the above library returned #words. It's done because PyPDF2 cannot read scanned files.
+if text != "":
+   text = text
+#If the above returns as False, we run the OCR library textract to #convert scanned/image based PDF files into text
+else:
+    raw = parser.from_file("GV_12.pdf")
+    raw = str(raw)
+    safe_text = raw.encode('utf-8', errors='ignore')
+    text = str(safe_text).replace("\n", "").replace("\\", "")
+    print(text)
+
+#The word_tokenize() function will break our text phrases into #individual words
+tokens = word_tokenize(text)
+#we'll create a new list which contains punctuation we wish to clean
+punctuations = ['(',')',';',':','[',']',',']
+#We initialize the stopwords variable which is a list of words like #"The", "I", "and", etc. that don't hold much value as keywords
+stop_words = stopwords.words('english')
+#We create a list comprehension which only returns a list of words #that are NOT IN stop_words and NOT IN punctuations.
+keywords = [word for word in tokens if not word in stop_words and not word in punctuations]
+print(keywords)

+ 16 - 0
old/read_pdf.py

@@ -0,0 +1,16 @@
+# from tika import parser
+#
+# raw = parser.from_file("GV_12.pdf")
+# raw = str(raw)
+#
+# safe_text = raw.encode('utf-8', errors='ignore')
+#
+# #safe_text = str(safe_text).replace("\n", "").replace("\\", "")
+# print('--- safe text ---' )
+# print(safe_text
+#
+# )
+
+
+import textract
+text = textract.process("GV_12.pdf")

+ 1 - 0
read_data.py

@@ -4,6 +4,7 @@ import re
 
 def read_dimensions(file_out, num):
     toleranzen_included = False
+    
     with open(file_out) as csv_file:
         csv_reader = csv.reader(csv_file, delimiter=';')
         for row in csv_reader:

+ 91 - 0
temporary/extracted_GV_12.csv

@@ -0,0 +1,91 @@
+LAYOUT;420;297
+Concepts, principales and rules according to:;0;2
+Dimensions according to:;0;-1
+Tolerances of form, orientation, location and run-out:;0;-3
+Edge finish according to:;0;-6
+Surface texture according to:;0;-9
+Limits according to:;0;-12
+16% rule:;0;-15
+ISO 8015;0;2
+ISO 14405 1-3;0;-1
+ISO 1101;0;-3
+ISO 13715;0;-6
+ISO 1302;0;-9
+ISO 286-2;0;-12
+not applicable;0;-15
+Rz 16;4;3
+2x;163;195
+%%c;163;199
+19,20;163;203
+-;163;210
+0,00;160;211
+0,05;163;211
+%%c;152;197
+15,15;152;200
++;149;208
+0,05;149;209
+0,00;152;209
+1,5;87;182
++;92;185
+0,1;93;185
+0,0;93;182
+4,8;86;170
+?0,05;91;170
+2;113;179
++;116;182
+0,1;117;182
+0,0;117;179
+9,3;112;170
++;117;173
+0,1;119;173
+0,0;119;170
+%%c;140;158
+4,5;140;161
++;137;167
++;140;167
+0,040;137;168
+0,028;140;168
+A;17;31
+A;202;31
+B;17;75
+B;202;75
+C;17;125
+C;202;125
+D;17;175
+D;202;175
+E;17;225
+E;202;225
+F;17;269
+F;202;269
+4;39;9
+4;39;291
+3;84;9
+3;84;291
+2;134;9
+2;134;291
+1;179;9
+1;179;291
+BEATE GV12;160;42
+GV_12;152;22
+A4;191;24
+Page 1/1;164;12
+Scale: 2:1;120;12
+Drawing nr.:;120;25
+Designation:;120;46
+Surface material/treatment:;21;47
+Material: 1.4021;20;64
+Surface Texture:;65;64
+Hardened to 48 HRC +2/-0;86;47
+Quality Standard: EN 10095;20;17
+A;130;108
+A;91;107
+2x %%c <>;165;225
+%%c<>;155;221
+<>;101;180
+<>;108;167
+<>;105;177
+<>;108;167
+%%c<>;143;210
+Layout1;0;0
+Layout2;0;0
+Model;0;0

+ 73 - 0
temporary/extracted_Laeufer.csv

@@ -0,0 +1,73 @@
+LAYOUT;420;297
+Concepts, principales and rules according to:;0;2
+Dimensions according to:;0;-1
+Tolerances of form, orientation, location and run-out:;0;-3
+Edge finish according to:;0;-6
+LAYOUT;420;297
+Concepts, principales and rules according to:;0;2
+Dimensions according to:;0;-1
+Tolerances of form, orientation, location and run-out:;0;-3
+Edge finish according to:;0;-6
+Surface texture according to:;0;-9
+Limits according to:;0;-12
+16% rule:;0;-15
+ISO 8015;0;2
+ISO 14405 1-3;0;-1
+ISO 1101;0;-3
+ISO 13715;0;-6
+ISO 1302;0;-9
+ISO 286-2;0;-12
+not applicable;0;-15
+%%c;89;145
+40.00;95;145
+?0.00 0.02 ; 108;145
+%%c;97;230
+4.00;102;230
++;113;234
+-;113;230
+0.10;115;234
+0.03;115;230
+38.00;135;170
++;131;183
+-;135;184
+0.10;131;186
+1.00;135;186
+A;17;31
+A;202;31
+B;17;75
+B;202;75
+C;17;125
+C;202;125
+D;17;175
+D;202;175
+E;17;225
+E;202;225
+F;17;269
+F;202;269
+4;39;9
+4;39;291
+3;84;9
+3;84;291
+2;134;9
+2;134;291
+1;179;9
+1;179;291
+BEATE Laeufer;160;42
+Laeufer;155;26
+A4;191;24
+Page 1/1;164;12
+Scale: 1:1;120;12
+Drawing nr.:;120;25
+Designation:;120;46
+Surface material/treatment:;21;47
+Material: Aluminium;20;64
+Surface Texture:;65;64
+Harden;86;47
+Quality Standard: EN 10095;20;17
+Entgratet;84;57
+%%c<> 0,2;90;140
+%%c<>;108;225
+<>;140;200
+Layout1;0;0
+Layout2;0;0
+Model;0;0

+ 103 - 0
temporary/extracted_Stahladapter.csv

@@ -0,0 +1,103 @@
+LAYOUT;420;297
+Stahl;9;8
+Adapterplatte;9;0
+ENTGRATEN;0;1
+UND SCHARFE;0;-1
+KANTEN;0;-4
+BRECHEN;0;-6
+WENN NICHT ANDERS DEFINIERT:;0;1
+BEMASSUNGEN SIND IN MILLIMETER;0;-1
+OBERFL?CHENBESCHAFFENHEIT:;0;-4
+TOLERANZEN:;0;-6
+LINEAR: +0.1/-0.1;1;-9
+WINKEL:;1;-11
+0;172;108
+25,00;185;99
+39,90;192;99
+160,10;252;96
+175,00;260;96
+200,00;272;96
+0;154;128
+25,00;145;141
+39,90;145;148
+160,10;142;208
+175,00;142;216
+200,00;142;228
+R10,00;276;235
+4 x;300;149
+%%c;307;149
+11,00;314;149
+20,00;333;149
+%%c;308;144
+18,00;315;144
+12,00;334;144
+4 x M8 Gewinde durchgehend;0;4
+20,00;47;241
+A;17;31
+A;412;31
+B;17;75
+B;412;75
+C;17;125
+C;412;125
+D;17;175
+D;412;175
+E;17;225
+E;412;225
+F;17;269
+F;412;269
+8;42;9
+8;42;291
+7;89;9
+7;89;291
+6;139;9
+6;139;291
+5;189;9
+5;189;291
+4;239;9
+4;239;291
+3;289;9
+3;289;291
+2;339;9
+2;339;291
+1;387;9
+1;387;291
+GEWICHT:;285;12
+Stahl;307;21
+A3;401;24
+BLATT 1 VON 1;374;12
+MASSSTAB:1:2;330;12
+ZEICHNUNGSNR.;330;25
+BENENNUNG:;330;46
+?NDERUNG;383;62
+ZEICHNUNG NICHT SKALIEREN;342;62
+WERKSTOFF:;285;25
+DATUM;277;46
+SIGNATUR;260;46
+NAME;244;46
+OBERFL?CHENG?TE:;264;63
+QUALIT?T;230;25
+PRODUKTION;230;29
+GENEHMIGT;230;34
+GEPR?FT;230;38
+GEZEICHNET;230;42
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;269;222
+"4 x <> {\fGDT;x} 20,00\P{\fGDT;v}%%c 18,00 {\fGDT;x} 12,00\P";257;139
+A;196;242
+A;196;115
+<>;71;237
+SCHNITT A-A;75;115
+Layout1;0;0
+Layout2;0;0
+Model;0;0

+ 103 - 0
temporary/extracted_text.csv

@@ -0,0 +1,103 @@
+TEXT;X;YLAYOUT;420;297
+Stahl;9;8
+Adapterplatte;9;0
+ENTGRATEN;0;1
+UND SCHARFE;0;-1
+KANTEN;0;-4
+BRECHEN;0;-6
+WENN NICHT ANDERS DEFINIERT:;0;1
+BEMASSUNGEN SIND IN MILLIMETER;0;-1
+OBERFL?CHENBESCHAFFENHEIT:;0;-4
+TOLERANZEN:;0;-6
+LINEAR: +0.1/-0.1;1;-9
+WINKEL:;1;-11
+0;172;108
+25,00;185;99
+39,90;192;99
+160,10;252;96
+175,00;260;96
+200,00;272;96
+0;154;128
+25,00;145;141
+39,90;145;148
+160,10;142;208
+175,00;142;216
+200,00;142;228
+R10,00;276;235
+4 x;300;149
+%%c;307;149
+11,00;314;149
+20,00;333;149
+%%c;308;144
+18,00;315;144
+12,00;334;144
+4 x M8 Gewinde durchgehend;0;4
+20,00;47;241
+A;17;31
+A;412;31
+B;17;75
+B;412;75
+C;17;125
+C;412;125
+D;17;175
+D;412;175
+E;17;225
+E;412;225
+F;17;269
+F;412;269
+8;42;9
+8;42;291
+7;89;9
+7;89;291
+6;139;9
+6;139;291
+5;189;9
+5;189;291
+4;239;9
+4;239;291
+3;289;9
+3;289;291
+2;339;9
+2;339;291
+1;387;9
+1;387;291
+GEWICHT:;285;12
+Stahl;307;21
+A3;401;24
+BLATT 1 VON 1;374;12
+MASSSTAB:1:2;330;12
+ZEICHNUNGSNR.;330;25
+BENENNUNG:;330;46
+?NDERUNG;383;62
+ZEICHNUNG NICHT SKALIEREN;342;62
+WERKSTOFF:;285;25
+DATUM;277;46
+SIGNATUR;260;46
+NAME;244;46
+OBERFL?CHENG?TE:;264;63
+QUALIT?T;230;25
+PRODUKTION;230;29
+GENEHMIGT;230;34
+GEPR?FT;230;38
+GEZEICHNET;230;42
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;269;222
+"4 x <> {\fGDT;x} 20,00\P{\fGDT;v}%%c 18,00 {\fGDT;x} 12,00\P";257;139
+A;196;242
+A;196;115
+<>;71;237
+SCHNITT A-A;75;115
+Layout1;0;0
+Layout2;0;0
+Model;0;0

+ 92 - 0
temporary/merged.csv

@@ -0,0 +1,92 @@
+,Text,x,y
+0,LAYOUT,420,297
+1,Concepts principales and rules according to:ISO 8015,0,2
+2,Dimensions according to:ISO 14405 1-3,0,-1
+3,"Tolerances of form, orientation, location and run-out:ISO 1101",0,-3
+4,Edge finish according to:ISO 13715,0,-6
+5,Surface texture according to:ISO 1302,0,-9
+6,Limits according to:ISO 286-2,0,-12
+7,16% rule:not applicable,0,-15
+8,Concepts principales and rules according to:ISO 8015,0,2
+9,Dimensions according to:ISO 14405 1-3,0,-1
+10,"Tolerances of form, orientation, location and run-out:ISO 1101",0,-3
+11,Edge finish according to:ISO 13715,0,-6
+12,Surface texture according to:ISO 1302,0,-9
+13,Limits according to:ISO 286-2,0,-12
+14,16% rule:not applicable,0,-15
+15,Rz 16,4,3
+16,2x,163,195
+17,%%c,163,199
+18,"19,20",163,203
+20,"0,00",160,211
+19,-,163,210
+21,"0,05",163,211
+22,%%c,152,197
+23,"15,15",152,200
+24,+,149,208
+25,"0,05",149,209
+26,"0,00",152,209
+27,"1,5",87,182
+28,+,92,185
+29,"0,1",93,185
+30,"0,0",93,182
+31,"4,8",86,170
+32,"?0,05",91,170
+33,"2,0",113,179
+34,+,116,182
+35,"0,1",117,182
+36,"0,0",117,179
+37,"9,3",112,170
+38,+,117,173
+39,"0,1",119,173
+40,"0,0",119,170
+41,%%c,140,158
+42,"4,5",140,161
+43,+,137,167
+44,+,140,167
+45,"0,040",137,168
+46,"0,028",140,168
+47,A,17,31
+48,A,202,31
+49,B,17,75
+50,B,202,75
+51,C,17,125
+52,C,202,125
+53,D,17,175
+54,D,202,175
+55,E,17,225
+56,E,202,225
+57,F,17,269
+58,F,202,269
+59,4,39,9
+60,4,39,291
+61,3,84,9
+62,3,84,291
+63,2,134,9
+64,2,134,291
+65,1,179,9
+66,1,179,291
+67,BEATE GV12,160,42
+68,GV_12,152,22
+69,A4,191,24
+70,Page 1/1,164,12
+71,Scale: 2:1,120,12
+72,Drawing nr.:,120,25
+73,Designation:,120,46
+74,Surface material/treatment:,21,47
+75,Material: 1.4021,20,64
+76,Surface Texture:,65,64
+77,Hardened to 48 HRC +2/-0,86,47
+78,Quality Standard: EN 10095,20,17
+79,A,130,108
+80,A,91,107
+81,2x %%c <>,165,225
+82,%%c<>,155,221
+83,<>,101,180
+84,<><>,108,167
+85,<>,105,177
+86,<><>,108,167
+87,%%c<>,143,210
+88,Layout1Layout2Model,0,0
+89,Layout1Layout2Model,0,0
+90,Layout1Layout2Model,0,0

+ 0 - 0
temporary/output.csv


+ 196 - 0
temporary/text.csv

@@ -0,0 +1,196 @@
+Text;x;y
+LAYOUT;420;297
+Concepts principales and rules according to:;0;2
+Dimensions according to:;0;-1
+Tolerances of form, orientation, location and run-out:;0;-3
+Edge finish according to:;0;-6
+Surface texture according to:;0;-9
+Limits according to:;0;-12
+16% rule:;0;-15
+ISO 8015;0;2
+ISO 14405 1-3;0;-1
+ISO 1101;0;-3
+ISO 13715;0;-6
+ISO 1302;0;-9
+ISO 286-2;0;-12
+not applicable;0;-15
+Rz 16;4;3
+2x;163;195
+%%c;163;199
+19,20;163;203
+-;163;210
+0,00;160;211
+0,05;163;211
+%%c;152;197
+15,15;152;200
++;149;208
+0,05;149;209
+0,00;152;209
+1,5;87;182
++;92;185
+0,1;93;185
+0,0;93;182
+4,8;86;170
+?0,05;91;170
+2;113;179
++;116;182
+0,1;117;182
+0,0;117;179
+9,3;112;170
++;117;173
+0,1;119;173
+0,0;119;170
+%%c;140;158
+4,5;140;161
++;137;167
++;140;167
+0,040;137;168
+0,028;140;168
+A;17;31
+A;202;31
+B;17;75
+B;202;75
+C;17;125
+C;202;125
+D;17;175
+D;202;175
+E;17;225
+E;202;225
+F;17;269
+F;202;269
+4;39;9
+4;39;291
+3;84;9
+3;84;291
+2;134;9
+2;134;291
+1;179;9
+1;179;291
+BEATE GV12;160;42
+GV_12;152;22
+A4;191;24
+Page 1/1;164;12
+Scale: 2:1;120;12
+Drawing nr.:;120;25
+Designation:;120;46
+Surface material/treatment:;21;47
+Material: 1.4021;20;64
+Surface Texture:;65;64
+Hardened to 48 HRC +2/-0;86;47
+Quality Standard: EN 10095;20;17
+A;130;108
+A;91;107
+2x %%c <>;165;225
+%%c<>;155;221
+<>;101;180
+<>;108;167
+<>;105;177
+<>;108;167
+%%c<>;143;210
+Layout1;0;0
+Layout2;0;0
+Model;0;0
+LAYOUT;420;297
+LAYOUT;420;297
+Stahl;9;8
+Adapterplatte;9;0
+ENTGRATEN;0;1
+UND SCHARFE;0;-1
+KANTEN;0;-4
+BRECHEN;0;-6
+WENN NICHT ANDERS DEFINIERT:;0;1
+BEMASSUNGEN SIND IN MILLIMETER;0;-1
+OBERFL?CHENBESCHAFFENHEIT:;0;-4
+TOLERANZEN:;0;-6
+LINEAR: +0.1/-0.1;1;-9
+WINKEL:;1;-11
+0;172;108
+25,00;185;99
+39,90;192;99
+160,10;252;96
+175,00;260;96
+200,00;272;96
+0;154;128
+25,00;145;141
+39,90;145;148
+160,10;142;208
+175,00;142;216
+200,00;142;228
+R10,00;276;235
+4 x;300;149
+%%c;307;149
+11,00;314;149
+20,00;333;149
+%%c;308;144
+18,00;315;144
+12,00;334;144
+4 x M8 Gewinde durchgehend;0;4
+20,00;47;241
+A;17;31
+A;412;31
+B;17;75
+B;412;75
+C;17;125
+C;412;125
+D;17;175
+D;412;175
+E;17;225
+E;412;225
+F;17;269
+F;412;269
+8;42;9
+8;42;291
+7;89;9
+7;89;291
+6;139;9
+6;139;291
+5;189;9
+5;189;291
+4;239;9
+4;239;291
+3;289;9
+3;289;291
+2;339;9
+2;339;291
+1;387;9
+1;387;291
+GEWICHT:;285;12
+Stahl;307;21
+A3;401;24
+BLATT 1 VON 1;374;12
+MASSSTAB:1:2;330;12
+ZEICHNUNGSNR.;330;25
+BENENNUNG:;330;46
+?NDERUNG;383;62
+ZEICHNUNG NICHT SKALIEREN;342;62
+WERKSTOFF:;285;25
+DATUM;277;46
+SIGNATUR;260;46
+NAME;244;46
+OBERFL?CHENG?TE:;264;63
+QUALIT?T;230;25
+PRODUKTION;230;29
+GENEHMIGT;230;34
+GEPR?FT;230;38
+GEZEICHNET;230;42
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;174;132
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;179;127
+<>;269;222
+"4 x <> {\fGDT;x} 20,00\P{\fGDT;v}%%c 18,00 {\fGDT;x} 12,00\P";257;139
+A;196;242
+A;196;115
+<>;71;237
+SCHNITT A-A;75;115
+Layout1;0;0
+Layout2;0;0
+Model;0;0