Ankündigungen
Attention for Customers without Multi-Factor Authentication or Single Sign-On - OTP Verification rolls out April 2025. Read all about it here.

Werkzeugdatenbank (*.ptf) Export in Textdatei

j.schmittberger
Participant

Werkzeugdatenbank (*.ptf) Export in Textdatei

j.schmittberger
Participant
Participant

Hallo Zusammen

Wir haben unsere Werkzeugdatenbank als Vorlageprojekt im*.ptf) gespeichert.

Zweck einer Optimierung von Drehzahl und Vorschub auf verschiedene Maschinen, benötige ich eine Möglichkeit die Vorlagendateien in einen Text auszugeben.

Dieser sollen die Maschinenbediener dann nutzen um werte festzulegen , die später dann in PM wieder übernommen werden.

LG

Jörg

0 „Gefällt mir“-Angaben
Antworten
Akzeptierte Lösungen (2)
2.105Aufrufe
8Antworten
Antworten (8)

icse
Collaborator
Collaborator
Akzeptierte Lösung

Habt ihr für jedes werkzeug eine eigene vorlage gespeichert?

j.schmittberger
Participant
Participant

Hallo

Nein, wir haben für mehre Maschinen einzelne Vorlage gespeichert.

In den Vorlagen haben wir dann die Werkzeuge noch in Ordner aufgeteilte.

0 „Gefällt mir“-Angaben

icse
Collaborator
Collaborator
Ich könnte ein macro schreiben das alle vorlagen öffnet die daten der werkzeuge liest und in ein .csv file schreibt zum importieren in excel.

Brauche dazu nur den pfad wo die .ptf gespeichert sind und müsste wissen ob sie in unterordner verschachtelt sind.
0 „Gefällt mir“-Angaben

j.schmittberger
Participant
Participant

Hallo

Ich sehe schon ich sollte mich mehr mit dem Makro auseinandersetzen, bis jetzt habe ich nur einfache Makros geschrieben.

Der Pfad liegt zwar auf eine Netzlaufwerk, aber ich würde die Vorlagendateien lokal Speichern.

Pfad:

C:\Werkzeugdatenbank\Werkzeugliste1.ptf

Hänge auch mal eine Vorlage Datei an die als Beispieldatei genommen werden kann.

Es wäre auch möglich die Werkzeuge ohne Ordner zu Speichern.

Ich benötige nur Liste nur zum Anpassen von Vorschüben und Drehzahlen.

0 „Gefällt mir“-Angaben

icse
Collaborator
Collaborator
Akzeptierte Lösung

Müsste jetzt noch wissen wie genau ihr die Schnittdaten speichert, in Powermill lassen sich mehere Werte hinterlegen (Schruppen,Schlichten,Nuten Fräsen...etc)

 

Könntest du bitte ein Werkzeug aktivieren, folgendes in die kommando zeile kopieren und mir das Ergebniss zukommen lassen:

print par $tool

 

j.schmittberger
Participant
Participant

Hallo

Also im Moment benutzen wir nur den Allgemein Wert.

 

PowerMill > print par $tool

(REF) id:3a4bd96565cdd3960000b3b600000000 = (ROOT: tool:12 R0,5 (GQHG1203R05) (12U9T012023X4R00) (20 06 606/12 ZYL) L43)

                Tags: (ARRAY)

                FeedPerRevolution: (MAP)

                               finishing: (MAP)

profiling: (REAL) 0,0 [L]

                                               plunge_milling: (REAL) 0,0 [L]

                                               slotting: (REAL) 0,0 [L]

                                               face_milling: (REAL) 0,0 [L]

                                               drill: (REAL) 0,0 [L]

                                               copy_milling: (REAL) 0,0 [L]

                                               general: (REAL) 0,0 [L]

                               roughing: (MAP)

                                               profiling: (REAL) 0,0 [L]

                                               plunge_milling: (REAL) 0,0 [L]

                                               slotting: (REAL) 0,0 [L]

                                               face_milling: (REAL) 0,0 [L]

                                               drill: (REAL) 0,0 [L]

                                               copy_milling: (REAL) 0,0 [L]

                                               general: (REAL) 0,0 [L]

                Error: (STRING)

                Coolant: (ENUM) standard

                TipRadius: (REAL) 0,500000 = 0,5 [L]

                Length: (REAL) 10,0 [L]

                RadialDepthOfCut: (MAP)

                               finishing: (MAP)

                                               profiling: (REAL) 0,0

                                               plunge_milling: (REAL) 0,0

                                               slotting: (REAL) 0,0

                                               face_milling: (REAL) 0,0

                                               drill: (REAL) 0,0

                                               copy_milling: (REAL) 0,0

                                               general: (REAL) 0,5833333333

                               roughing: (MAP)

                                               profiling: (REAL) 0,0

                                               plunge_milling: (REAL) 0,0

                                               slotting: (REAL) 0,0

                                               face_milling: (REAL) 0,0

                                               drill: (REAL) 0,0

                                               copy_milling: (REAL) 0,0

                                               general: (REAL) 0,0

                IsHolderFromModel: (FUNCTION) 

                ToolFamily: (STRING)

                UserParameters: (MAP)

                HolderSetValues: (ARRAY)

                               [0] (MAP)

                                               UpperDiameter: (REAL) 31,4 [L]

                                               Length: (REAL) 58,9 [L]

                                               Ignore: (BOOL) 0

                                               LowerDiameter: (REAL) 24,0 [L]

                               [1] (MAP)

                                               UpperDiameter: (REAL) 35,4 [L]

                                               Length: (REAL) 2,0 [L]

                                               Ignore: (BOOL) 0

                                               LowerDiameter: (REAL) 31,4 [L]

                               [2] (MAP)

                                               UpperDiameter: (REAL) 63,0 [L]

                                               Length: (REAL) 16,000000000000007 [L]

                                               Ignore: (BOOL) 0

                                               LowerDiameter: (REAL) 63,0 [L]

                               [3] (MAP)

                                               UpperDiameter: (REAL) 180,0 [L]

                                               Length: (REAL) 80,0 [L]

                                               Ignore: (BOOL) 0

                                               LowerDiameter: (REAL) 180,0 [L]

                HolderProfile: (MAP)

                               ShankClearance: (REAL) Tool.HolderProfile.Clearance = 2,5 [L]

                               Clearance: (REAL) min(2,5;0,25*Rootpar.Diameter) = 2,5 [L]

                               Tolerance: (REAL) min(Tool.HolderProfile.Clearance;Tool.HolderProfile.ShankClearance)*0,1 = 0,25 [L]

                               MaximumDiameter: (REAL) 0,0 [L]

                HolderName: (STRING) SK40 D12 A80 302235_12 (GARANT)

                ShankSetValues: (ARRAY)

                               [0] (MAP)

                                               UpperDiameter: (REAL) 11,5 [L]

                                               Length: (REAL) 13,0 [L]

                                               LowerDiameter: (REAL) 11,5 [L]

                               [1] (MAP)

                                               UpperDiameter: (REAL) 11,5 [L]

                                               Length: (REAL) 20,0 [L]

                                               LowerDiameter: (REAL) 11,5 [L]

                               [2] (MAP)

                                               UpperDiameter: (REAL) 12,0 [L]

                                               Length: (REAL) 45,0 [L]

                                               LowerDiameter: (REAL) 12,0 [L]

                AxialDepthOfCut: (MAP)

                               finishing: (MAP)

                                               profiling: (REAL) 0,0

                                               plunge_milling: (REAL) 0,0

                                               slotting: (REAL) 0,0

                                               face_milling: (REAL) 0,0

                                               drill: (REAL) 0,0

                                               copy_milling: (REAL) 0,0

                                               general: (REAL) 0,0166666667

                               roughing: (MAP)

                                               profiling: (REAL) 0,0

                                               plunge_milling: (REAL) 0,0

                                               slotting: (REAL) 0,0

                                               face_milling: (REAL) 0,0

                                               drill: (REAL) 0,0

                                               copy_milling: (REAL) 0,0

                                               general: (REAL) 0,0

                Type: (ENUM) tip_radiused

                Identifier: (STRING) 12 R0,5 (GQHG1203R05) (12U9T012023X4R00) (20 06 606/12 ZYL) L43

                CuttingSpeed: (MAP)

                               finishing: (MAP)

                                               profiling: (REAL) 0,0 [L/T]

                                               plunge_milling: (REAL) 0,0 [L/T]

                                               slotting: (REAL) 0,0 [L/T]

                                               face_milling: (REAL) 0,0 [L/T]

                                               drill: (REAL) 0,0 [L/T]

                                               copy_milling: (REAL) 0,0 [L/T]

                                               general: (REAL) 185,0 [L/T]

                               roughing: (MAP)

                                               profiling: (REAL) 0,0 [L/T]

                                               plunge_milling: (REAL) 0,0 [L/T]

                                               slotting: (REAL) 0,0 [L/T]

                                               face_milling: (REAL) 0,0 [L/T]

                                               drill: (REAL) 0,0 [L/T]

                                               copy_milling: (REAL) 0,0 [L/T]

                                               general: (REAL) 0,0 [L/T]

                NumberOfFlutes: (INT) 2

                IDTracksName: (BOOL) 1

                Overhang: (REAL) 43,0 [L]

                FeedPerTooth: (MAP)

                               finishing: (MAP)

                                               profiling: (REAL) 0,0

                                               plunge_milling: (REAL) 0,0

                                               slotting: (REAL) 0,0

                                               face_milling: (REAL) 0,0

                                               drill: (REAL) 0,0

                                               copy_milling: (REAL) 0,0

                                               general: (REAL) 0,0166666667

                               roughing: (MAP)

                                               profiling: (REAL) 0,0

                                               plunge_milling: (REAL) 0,0

                                               slotting: (REAL) 0,0

                                               face_milling: (REAL) 0,0

                                               drill: (REAL) 0,0

                                               copy_milling: (REAL) 0,0

                                               general: (REAL) 0,0

                HolderConnectionType: (STRING)

                Description: (STRING)

                IsTurningType: (FUNCTION) 

                Number: (MAP)

                               Value: (INT) 1

                               UserDefined: (BOOL) 1

                StockMaterial: (STRING) 1

                ConnectionType: (STRING)

                TurningDepthOfCut: (MAP)

                               finishing: (MAP)

                                               profiling: (REAL) 0,0 [L]

                                               plunge_milling: (REAL) 0,0 [L]

                                               slotting: (REAL) 0,0 [L]

                                               face_milling: (REAL) 0,0 [L]

                                               drill: (REAL) 0,0 [L]

                                               copy_milling: (REAL) 0,0 [L]

                                               general: (REAL) 0,0 [L]

                               roughing: (MAP)

                                               profiling: (REAL) 0,0 [L]

                                               plunge_milling: (REAL) 0,0 [L]

                                               slotting: (REAL) 0,0 [L]

                                               face_milling: (REAL) 0,0 [L]

                                               drill: (REAL) 0,0 [L]

                                               copy_milling: (REAL) 0,0 [L]

                                               general: (REAL) 0,0 [L]

                Status: (STRING) Gültig

                Diameter: (REAL) 12,0 [L]

jschmittberger_0-1707997121006.png

 

 

0 „Gefällt mir“-Angaben

icse
Collaborator
Collaborator
string $templatePath = "C:\Werkzeugdatenbank"

if not dir_exists($templatePath) {
	message info 'Pfad Exestiert Nicht'
	return
}

string list $templates = list_files('files',$templatePath,'.ptf')
foreach $template in $templates {
	string $cmd = 'IMPORT TEMPLATE PROJECT FILEOPEN "' + $template + '"'
	docommand $cmd
}

string $op = 'WerkzeugName;Dm;vc;vz;S;F' + CRLF

foreach $t in folder('tool') {
	real $s =  round($t.CuttingSpeed.finishing.general * 1000 / PI / $t.Diameter,0)
	real $f =  round($s * $t.FeedPerTooth.finishing.general * $t.NumberOfFlutes,0)
	$op = $op + $t.Name + ";" + round($t.Diameter,3) + ";" + round($t.CuttingSpeed.finishing.general,3) + ";" +  round($t.FeedPerTooth.finishing.general,3) + ";" + $s + ";" + $f + CRLF
}


string $toolData = $templatePath + "\ToolData.csv"

if file_exists($toolData) {
	bool $query = 0
	$query = query 'Bestehende Datei ersetzen?'
	if $query {
		delete File $toolData
	} else {
		int $count = 1
		while file_exists($toolData) {
			$toolData = $templatePath + "\ToolData_" + $count + ".csv"
			$count = $count + 1
		}
	}
}

dialogs message off
file open $toolData for write as output
string $errorstate = powermill.status.errorstate
if $errorstate == 'error' {
	dialogs message on
	string $msg = 'Keine Schreibrechte' + CRLF + CRLF + $toolData
	message info $msg
} else {
	file write $op to output
	file close output
	ole fileaction 'open' ${toolData}
}

j.schmittberger
Participant
Participant

Hallo

Danke, das ist was ich wollte. Problem gelöst.

Jedoch wird der Vorschub falsch ausgegeben. (VZ entspricht WDE und nicht m/min)

Ich habe diese Variable schon angepasst.

Dann werden 2 Lehre Spalten Nach der Drehzahl und des Vorschub Einfügen, sodass die Angepassten Werte eingetragen werden können.

In Excel werde ich die Tabelle noch etwas anpassen, sobald alles abgesegnet ist, wird ich mich wieder

Melden und das Ergebnis hier ein Beispiel veröffentlichen.

0 „Gefällt mir“-Angaben