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
Gelöst! Gehe zur Lösung
Gelöst von icse. Gehe zur Lösung
Gelöst von icse. Gehe zur Lösung
Hallo
Nein, wir haben für mehre Maschinen einzelne Vorlage gespeichert.
In den Vorlagen haben wir dann die Werkzeuge noch in Ordner aufgeteilte.
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.
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
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]
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}
}
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.
Sie finden nicht, was Sie suchen? Fragen Sie die Community oder teilen Sie Ihr Wissen mit anderen.