To the best of my knowledge, there is no way to access macro system string variables from the .tmp file. The mcl that Mike's using must be writing a #S1 assignment statement into one of the places that Fred talks about.
==== NOTE this is different for numbers. In the #EVAL() implementation for numeric variables it will access macro variable values. Since the two variable systems are seperate, the key is actually to NOT use a .tmp variable name. ex. @DECLARE #dec #myTempVar @ . . @SOME_SECTION #EVAL(#myTmpVar=#myMacroVar) . . @ The numeric evaluator will first look in the .tmp variable system for a matching word (in this case #myMacroVar), if it doesn't find one in the .tmp var system it will then look in the macro variable system. Unfortunately there isn't similar capability for strings. --gregg Michael Senack wrote: > -----Original Message----- > From: Lauzus, Frederick [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 16, 2001 10:38 AM > To: Michael Senack; '[EMAIL PROTECTED]' > Subject: RE: Passing values from macro variables to template variables > > Mike, > > Questions: > > 1. What method are you using to assign the value of #S1? > > I'm assigning the #S1 via user input from the CUT2.mcl > The format is as follows HS????A REV.?? DWG # DIE # > > 2. What method are you using to attempt to pass the value > of #PROGA and #PROGB to the template file? > > All I'm trying to pass to the template file is #S1 and #PROGB > string variables. The #PROGB variable is the first six > charactors of #S1 variable. > ie: #S1 = HS9999A REV.A 244898-003 DIE 222 PUNCH > #PROGB = HS9999 > > 3. The template variable #S1 is a pre-declared user string variable > while #PROGA and #PROGB are not. Have they been declared in the > @DECLARE section of the template file? > > @DECLARE > #STR #PROGA > #STR #PROGB > > I've done the following for #PROGB > @DECLARE > #STR #PROGB > > 4. I believe you have a syntax error in the following line (#PROBA?): > GEO D:\\JOB\\#PROBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 > TO > Yes there is a syntax error. I fixed it but no go. > ---------------------------------------------------------------------------- > - > Technical Mumbo Jumbo: > > The value of Macro variables are not automatically shared with the > template file. you can transfer variables to the code generator by > several methods: > > 1. Inserting a user command with a variable assignment into the > database with an active step. The values will be in effect at > the point in database where they are inserted and will remain > in effect unless re-evaluated. > > UEVENT[XS=0, YS=0, LV=0, TX=STRTMP("#PROGA=%PROGA,#PROGB=%PROGB")] > > 2. Placing the variables in the Job Notes section of the planner. > These values will be in effect at the beginning of coding and > will remain in effect unless re-evaluated. > > JOS_CONTEXT_OPEN[BASEITEM=16, USERNAME=""] > JOS_FIELD_EDIT[FLDNAME="job_note", EXPR=STRTMP("#PROGA=%PROGA\n > #PROGB=%PROGB")] > JOS_CHANGES_PROMOTE[] > JOS_CONTEXT_CLOSE[] > > NOTE: This macro command will overwrite your Job Notes section. > If you wish to append the variables to the current > information you must save it to a variable first, then > concatenate the string. > > STRING:#JobNotes > JOS_CONTEXT_OPEN[BASEITEM=16, USERNAME=""] > #JobNotes=jos_str(job_note) > JOS_CONTEXT_CLOSE[] > > JOS_CONTEXT_OPEN[BASEITEM=16, USERNAME=""] > JOS_FIELD_EDIT[FLDNAME="job_note", EXPR=STRTMP("%JobNotes\n > #PROGA=%PROGA\n > #PROGB=%PROGB")] > JOS_CHANGES_PROMOTE[] > JOS_CONTEXT_CLOSE[] > > 3. Placing the variables in the Step Notes section of a step in > the planner. These values will be in effect when the step > becomes active and will remain in effect unless re-evaluated. > This example uses step 10. > > JOS_CONTEXT_OPEN[BASEITEM=1, USERNAME="10"] > JOS_FIELD_EDIT[FLDNAME="st_notes", EXPR=STRTMP("#PROGA=%PROGA\n > #PROGB=%PROGB")] > JOS_CHANGES_PROMOTE[] > JOS_CONTEXT_CLOSE[] > > NOTE: This macro command will overwrite your Step Notes section. > If you wish to append the variables to the current > information you must save it to a variable first, then > concatenate the string. > > STRING:#StepNotes > JOS_CONTEXT_OPEN[BASEITEM=1, USERNAME="10"] > #StepNotes=jos_str(st_notes) > JOS_CONTEXT_CLOSE[] > > JOS_CONTEXT_OPEN[BASEITEM=1, USERNAME="10"] > JOS_FIELD_EDIT[FLDNAME="st_notes", EXPR=STRTMP("%StepNotes\n > #PROGA=%PROGA\n > #PROGB=%PROGB")] > JOS_CHANGES_PROMOTE[] > JOS_CONTEXT_CLOSE[] > > BUG: There seems to be a problem with this method in that it > only recognizes the first variable of a multiple list. > This was not always the case. Does anyone in the group have > any experience with this problem? > > ============================================= > Fred Lauzus, CAM Programming Coordinator > High Steel Structures, Incorporated > mailto:[EMAIL PROTECTED] http://www.highsteel.com > ============================================= > > > -----Original Message----- > From: Michael Senack [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 16, 2001 8:48 AM > To: '[EMAIL PROTECTED]' > Subject: > > 1) This is the TMP file > > @START > CUT100 COMPLETE MM > ! #S1 > ! > ! BLOUNT CANADA 5 CUT CARBIDE 80 MM HIGH WORKPIECES > ! > CNC RES > CNC SAV RETRY FROM : 9 TIMES WITH PRG TECH SKIP STP IF NOT THREAD STOP > TEC D:\\TECH\\5C_80 > CNC SCA 01.000:1 > CNC ROT +000.00000 > ! > DDR D01, P16, S01, T01 > GEO D:\\JOB\\#PROBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO > 999 > DDR D02, P16, S02, T02 > GEO D:\\JOB\\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO > 999 > DDR D03, P16, S03, T03 > GEO D:\\JOB\\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO > 999 > DDR D04, P16, S04, T04 > GEO D:\\JOB\\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO > 999 > DDR D05, P16, S05, T05 > GEO D:\\JOB\\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO > 999 > ! > CNC OFS D10=+0.250 ! MAIN CUT OFFSET FROM 5C_80.TED > ! > DDR D10, P16, S96, T96 ! CUTS OFF PUNCH > GEO D:\\JOB\\#PROGBB EXEC STP SKIP WIE EXEC T01 EXEC S01 FROM 001 TO > 999 > FIN > > 2) this is part of the MCL for #PROGB string variable that I'm > trying to pass to the above template file... > > AUTO_ANSWER[AA="OK"] > STRING: #PROGB > STRING: #B > #PROGB = STRSUB(#S1, 1, 6) > #B = B > > SAVE[FN=STRTMP("%PATH%PROGB%B"), FT=3, GS=0, WP="XY_PLANE"] > > CODE[FN=STRTMP("%PATH%PROGB%B%END"), MS1="W:\\SM4\\SMF\\HS.SMF", > MT1="W:\\SM4\\SMF\\HS.TMP",SH=1, DC=1, ST=1, DT=1, SP=9] > > AUTO_ANSWER[AA="OFF"] > > 3) this is what I get when I code using step 1 template file > > CUT100 COMPLETE MM > ! HS9999B CUTS OFF TW0 PUNCHES <----- #S1 is okay! > ! > ! BLOUNT CANADA 5 CUT CARBIDE 80 MM HIGH WORKPIECES > ! > CNC RES > CNC SAV RETRY FROM : 9 TIMES WITH PRG TECH SKIP STP IF NOT THREAD STOP > TEC D:\TECH\5C_80 > CNC SCA 01.000:1 > CNC ROT +000.00000 > ! > DDR D01, P16, S01, T01 > GEO D:\JOB\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > <---- #PROGB does not work! > DDR D02, P16, S02, T02 > GEO D:\JOB\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > DDR D03, P16, S03, T03 > GEO D:\JOB\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > DDR D04, P16, S04, T04 > GEO D:\JOB\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > DDR D05, P16, S05, T05 > GEO D:\JOB\#PROGBA SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > ! > CNC OFS D10=+0.250 ! MAIN CUT OFFSET FROM 5C_80.TED > ! > DDR D10, P16, S96, T96 ! CUTS OFF PUNCH > GEO D:\JOB\#PROGBB EXEC STP SKIP WIE EXEC T01 EXEC S01 FROM 001 TO 999 > FIN > > 4) this is what I want the template file to output > > CUT100 COMPLETE MM > ! HS9999B CUTS OFF TW0 PUNCHES > ! > ! BLOUNT CANADA 5 CUT CARBIDE 80 MM HIGH WORKPIECES > ! > CNC RES > CNC SAV RETRY FROM : 9 TIMES WITH PRG TECH SKIP STP IF NOT THREAD STOP > TEC D:\TECH\5C_80 > CNC SCA 01.000:1 > CNC ROT +000.00000 > ! > DDR D01, P16, S01, T01 > GEO D:\JOB\HS9999A SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > DDR D02, P16, S02, T02 > GEO D:\JOB\HS9999A SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > DDR D03, P16, S03, T03 > GEO D:\JOB\HS9999A SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > DDR D04, P16, S04, T04 > GEO D:\JOB\HS9999A SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > DDR D05, P16, S05, T05 > GEO D:\JOB\HS9999A SKIP STP EXEC WIE EXEC T01 EXEC S01 FROM 001 TO 999 > ! > CNC OFS D10=+0.250 ! MAIN CUT OFFSET FROM 5C_80.TED > ! > DDR D10, P16, S96, T96 ! CUTS OFF PUNCH > GEO D:\JOB\HS9999B EXEC STP SKIP WIE EXEC T01 EXEC S01 FROM 001 TO 999 > FIN > > After running the MCL file, I checked my variables and they are as > follows... > PROGB = HS9999 = STRING > S1 = HS9999A REV.AA TEST = STRING > > My question is how come I cannot get PROGB to code HS9999 in > the template file? > > Regards, > > Michael Senack, X354 > Your local friendly neighborhood CNC Programmer > > ====================================================================== > To find out more about this mailing list including how to unsubscribe, > send the message "info mfg-smartcam" to [EMAIL PROTECTED] > ====================================================================== > ====================================================================== > To find out more about this mailing list including how to unsubscribe, > send the message "info mfg-smartcam" to [EMAIL PROTECTED] > ====================================================================== -- Gregg Olson Development Manager SDRC CAM Products ====================================================================== To find out more about this mailing list including how to unsubscribe, send the message "info mfg-smartcam" to [EMAIL PROTECTED] ======================================================================
