529.929 aktive Mitglieder*
2.492 Besucher online*
Kostenfrei registrieren
Anmelden Registrieren
SolidCAM GmbH Forum

Meldungs-Text (print) mit zeilenumbruch?

Beitrag 28.09.2009, 10:14 Uhr
orgelbie_
orgelbie_
Level 2 = IndustryArena-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 15.05.2007
Beiträge: 137

Hallo,

kann mir jemand sagen, ob es im SolidCAM-PP möglich ist, eine Meldung mittels des print-Befehls
mehrzeilig auszugeben?

Viele Dank für Eure Antworten im Vorraus!

orgelbie
TOP    
Beitrag 14.10.2009, 13:32 Uhr
JB_ZZ
JB_ZZ
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 29.01.2007
Beiträge: 155

Wo kommt denn der Meldungstext her?
Aus den Kommentarzeilen des Jobs, oder wird der im PP-Lauf selbst zusammengebaut?

Soweit ich weiss, kann SC das CRLF Zeichen (HEX : 0D) nicht interpretieren.
(Kann mich da aber auch täuschen),
Jedenfalls habe ich hab das so gelöst, das ich ein Semikolon ";" als Zeilenumbruchersatz verwende.


Vorgehensweise:

in der Section @init_post eine Systemweit geltende Variable definieren.
global String strMeldungsText
global String strMeldungsCRLF

strMeldungsCRLF = ';' ; kann durch eigenen Trenner angepasst werden



dann folgende Prozedur in den PP einfügen

@create_MultiLineText
; Ausgabe eines Mehrzeiligen Meldungstextes im NC-Programm

local Integer intI
local String strTmp


; wurde ein Text übergeben ?
if strlen(strMeldungsText) > 0 then

intI = 1
strTmp = ''

while intI <= strlen(msg)+1

if substr(strMeldungsText,intI,1) eq strMeldungsCRLF or intI eq strlen(strMeldungsText)+1 then
{nb,'(' + strTmp + ')'} ; hier die Ausgabe noch an die jeweilige Maschine anpassen!
strTmp = ''
intI = intI + 2
else
strTmp = strTmp + substr(strMeldungsText,intI,1)
endif

intI = intI + 1
endw

else
; {nb,'Kein Kommentar '}
endif
endp


Fertig ist die Laube !

Jetzt kann von überall ein mehrzeiliger Text ausgegeben werden.
vorher die Variable strMeldungsText mit dem auszugebenden Text betanken, dann die Prozedur aufrufen.


z.B. die Kommentarzeile eines Jobs
strMeldungsText=msg
call @create_MultiLineText


oder eine selbstgebaute Meldung:
strMeldungsText='ACHTUNG;TEIL MITTIG AUFSPANNEN;SONST KOLLISIONSGEFAHR'
call @create_MultiLineText


Have Fun !

Der Beitrag wurde von JB_ZZ bearbeitet: 14.10.2009, 13:45 Uhr
TOP    
Beitrag 15.10.2009, 06:08 Uhr
orgelbie_
orgelbie_
Level 2 = IndustryArena-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 15.05.2007
Beiträge: 137

Hallo JB_ZZ,

vielen Dank für deine ausführliche Antwort.

Meine Frage zielte auf den PRINT-Befehl, welcher aus dem PP (-Lauf) heraus Meldungen generiert.

Hintergrund ist es, dem Anwender auf eventuelle Fehler aufmerksam zu machen, etwa das Fehlen eines Eintrags in den Bohroptionen.
Es wäre oft übersichtlicher, wenn dies in mehreren Zeilen gehen würde.

Viele Grüße Orgelbie
TOP    
Beitrag 15.10.2009, 07:27 Uhr
JB_ZZ
JB_ZZ
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 29.01.2007
Beiträge: 155

Hmm, war da wohl etwas zu schnell wacko.gif

SC Verwendet hier anscheinend eine 'normale' Messagebox, die vom Betriebssystem bereitgestellt wird.
Will man eine mehrzeilige Meldung mit Zeilenumbruch ausgeben, wird nur die erste Zeile dargestellt, der Rest wird abgeschnitten.
Und mit binären Steuerzeichen (#13#10 oder ^M^J) ist leider auch nichts zu machen, SC interpretiert diese Zeichen als normalen Text.


zum Probieren:

@multiline

local string txt1
local string txt2
local string txt3

txt1='Hallo Welt,'
txt2 = '\r\n'
txt3='kalt ist es heute morgen'


print txt1 + txt2 + txt3
; gegenprobe
print txt1 + txt3

endp


Der Beitrag wurde von JB_ZZ bearbeitet: 15.10.2009, 07:33 Uhr
TOP    
Beitrag 15.10.2009, 08:25 Uhr
orgelbie_
orgelbie_
Level 2 = IndustryArena-Facharbeiter
**
Gruppe: Mitglied
Mitglied seit: 15.05.2007
Beiträge: 137

Hallo JB_ZZ,

jedenfalls vielen Dank für deine Bemühungen!!!

Gruß Orgelbie
TOP    
Beitrag 15.10.2009, 09:18 Uhr
nebbe
nebbe
Level 6 = IndustryArena-Doktor
******
Gruppe: Mitglied
Mitglied seit: 14.06.2002
Beiträge: 825

Moin orgelbie,

schon mal bei SC angefragt ?
ich weiss hier auch keine Lösung.
Ein work around bleibt dann nur, für jede Zeile, die Du ausgeben willst, den print Befehl auszugeben:

print 'hallo hallo1'
print 'hallo2 hallo3'

Steigert vielleicht sogar die Aufmerksamkeit des Programmierers...

Wieviele Zeilen würden denn da so rauskommen ?

Gruß,
Thorsten

(In meinem nachgeschalteten PPP (Post-Postprozessor) ist das kein Problem. Wenn also sooooo wichtig, können wir ja noch mal telefonieren)


--------------------
Grüßle
nebbe
TOP    
Beitrag 16.10.2009, 08:49 Uhr
JB_ZZ
JB_ZZ
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 29.01.2007
Beiträge: 155

[quote (In meinem nachgeschalteten PPP (Post-Postprozessor) ist das kein Problem. Wenn also sooooo wichtig, können wir ja noch mal telefonieren)
[/quote]

Was ist das genauer?
Was macht der ?
TOP    
Beitrag 16.10.2009, 09:19 Uhr
nebbe
nebbe
Level 6 = IndustryArena-Doktor
******
Gruppe: Mitglied
Mitglied seit: 14.06.2002
Beiträge: 825

Moin,

der bügelt alles das aus, was wir nicht von SC bekommen: fügt Text ein, erzeugt die Werkstattpapiere und noch einiges mehr. Habe ich im Forum auch schon mal beschrieben.

Kommste bei, kannste anschauen !

Gruß,
t.


--------------------
Grüßle
nebbe
TOP    
Beitrag 19.10.2009, 18:22 Uhr
JB_ZZ
JB_ZZ
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 29.01.2007
Beiträge: 155

ZITAT(nebbe @ 16.10.2009, 10:19) *
Moin,

der bügelt alles das aus, was wir nicht von SC bekommen: fügt Text ein, erzeugt die Werkstattpapiere und noch einiges mehr. Habe ich im Forum auch schon mal beschrieben.

Kommste bei, kannste anschauen !

Gruß,
t.



Würde mich Interessieren...
Ist das was selbst entwickeltes?
Hast du evtl. den Link zu der Beschreibung parat?

TOP    
Beitrag 20.10.2009, 07:28 Uhr
nebbe
nebbe
Level 6 = IndustryArena-Doktor
******
Gruppe: Mitglied
Mitglied seit: 14.06.2002
Beiträge: 825

Moin,

gibt keinen link, ist was selbst entwickeltes.

Gruß,
t.


--------------------
Grüßle
nebbe
TOP    
Beitrag 21.10.2009, 18:06 Uhr
JB_ZZ
JB_ZZ
Level 3 = IndustryArena-Techniker
***
Gruppe: Mitglied
Mitglied seit: 29.01.2007
Beiträge: 155

sorry, wenn ich evtl. nerve.

das ganze interessiert mich doch sehr.
kannst du das ganze mal beschreiben?

Funktionen?
selbst entwickelt, womit?
Entwicklungsdauer?

TOP    
Beitrag 22.10.2009, 07:49 Uhr
nebbe
nebbe
Level 6 = IndustryArena-Doktor
******
Gruppe: Mitglied
Mitglied seit: 14.06.2002
Beiträge: 825

Moin,

Du nervst doch nicht - ich bräuchte ja auch nicht zu antworten.

Das Ganze funktioniert grob so: ich schnappe mir die vom SC PP erzeugte NC-Datei und baue da alles das rein, was mir SC nicht liefert. Ist schon etwas älter und stammt aus einer Zeit, als SC die NC-Ausgabe noch nicht so weit hatte wie jetzt.

- wir wollen alle Nullpunkte und deren Berechnungen am Dateianfang haben. SC gibt die Daten eines NP aber erst dann aus, wenn er benutzt wird. Also brauchte es eine Funktion, die durch das ganze Prog liest, NPs zusammensammelt und bereits oben ausgibt.

- es gibt weiterhin sehr wenig Möglichkeiten, Texte ins NC-Programm zu bringen -> können wir

- automatische Erzeugung von Spannplan und Werkzeugliste

- Gewindefräsen -> können wir damit auch schon seit Jahren

und noch viele, kleine, mit der Zeit gewachsene Funktionen, die unsere Qualität der NC-Programme verbessern


Und dann möchte ich mal ein kleines Schmankerl erwähnen, wo ich bei JEDER Version von SC schmunzeln muss: die Simulationsfarben ( uns reicht ganz häufig die Simulation "Werkzeugweg auf Geometrie". Jede sechste Farbe eines Werkzeugs ist weiss !

Dazu zwei Bildchen: erstes ist Auslieferzustand JEDER Version seit Jahren. Zweites nach einem kleine Progrämmchen von mir. Soll SC nicht als harsche Kritik verstehen, aber es erezugt bei mir jedes Mal ein Schmunzeln.

Soweit von hier, Gruß,

Thorsten




Angehängte Datei(en)
Angehängte Datei  Simulation_Installationsfarben.jpg ( 144.37KB ) Anzahl der Downloads: 32
Angehängte Datei  Simulation_unsere_Farben.jpg ( 144.52KB ) Anzahl der Downloads: 27
 


--------------------
Grüßle
nebbe
TOP    



1 Besucher lesen dieses Thema (Gäste: 1)
0 Mitglieder: