@T3P3Tony V4 says "Filament Length:" at the bottom. V5 says "Material Length:" at the bottom
GeneRisi
@GeneRisi
Former IBM engineer (35 years), retired and doing volunteer work and playing. I am into Amateur Radio and 3d printing.
Best posts made by GeneRisi
-
RE: Simplify3d and Filament Timings
-
RE: Dumbfounded ! Firmware bug in 3.4 beta 6?
@dc42 I found the problem.
When tool T1 was being returned, the Y "parking" coordinate was off by 1 mm. The tool parking location didn't budge but the firmware thought that the tool location was 1mm beyond where it actually was. The machine is a corexy (E3D), so even though only the Y coordinate was off, I suspect it affected both the x and y location from the the firmware's perspective.
-
RE: Best IDEX nozzle wipe mechanisms?
@oliof I have the pebble wiper design installed and it works very well once you have it set up properly. Does it do more than any other purge and wipe tool? Maybe not.
I have an e3d tool changer with a couple of home made Orbiter / v6 hot end tools and a Hemera. The version I use is on a linear rail so that it can accommodate different size tools.
-
RE: Extruder parameter format question
I just created SeqTest.g which contains this:
M584 X0
M350 X16
M584 Y1
M350 Y16It runs fine. Did it do the right thing? I don't know yet.
-
RE: Accelerometer Usage
FWIW, twisted pair wiring is designed to use both wires in the pair. The signals we are carryng are not differential, so try connecting the "other" wire in the pair to ground at both ends of the wiring. You might find that it cleans up the signal quite a bit. I am using CAT5 unshielded cable for both the accelerometer and the Paneldue serial link without any issues (as far as I can tell)
-
RE: PanelDue 3.4.0-pre2 released
@mfs12 Has anyone mentioned a problem on the 5i where using the extrusion control (with tool 1) the extrusion length and speed do not remain highlighted after being selected? What would I provide for you to check this out if it is a new issue? I am using 3.4.0 b4.
On another note, could DWC report which version of firmware the Paneldue is running? It would be nice to have.
-
RE: All of a sudden, my corexy steppers aren't working
@generisi I found errors that make me wonder how it ever worked... It is fixed now - thank you!
-
RE: Dumbfounded ! Firmware bug in 3.4 beta 6?
@t3p3tony Here is a simple print file that demonstrates T1,T0,T1,T0:
G90 M83 M117 Preheat & Level G28 G10 P0 S242 R200; set extruder 0 active and standby temps G10 P1 S242 R200; set extruder 1 active and standby temps M190 S85 ; wait for bed temperature ;mesh gcode G29 Q0 T1 G1 E-0.8000 F3000 ; feature skirt ; tool H0.200 W0.400 G1 Z0.200 F360 G1 X145.575 Y112.700 F9000 G1 E0.8000 F3000 G1 X139.600 Y106.725 E0.2810 F90 G1 X137.300 Y104.425 E0.1082 G1 X137.300 Y95.575 E0.2944 G1 X145.575 Y87.300 E0.3892 G1 X154.425 Y87.300 E0.2944 G1 X156.725 Y89.600 E0.1082 G1 X162.700 Y95.575 E0.2810 G1 X162.700 Y104.425 E0.2944 G1 X154.425 Y112.700 E0.3892 G1 X145.575 Y112.700 E0.2944 G1 E-0.8000 F3000 ; feature cross - external single extrusion ; tool H0.200 W0.400 G1 Z0.400 F360 G1 X147.738 Y100.000 F9000 G1 Z0.200 F360 G1 E0.8000 F3000 G1 X149.641 Y100.000 E0.0633 F45 G1 X150.000 Y99.641 F9000 G1 X150.000 Y97.738 E0.0633 F45 G1 E-0.8000 F3000 G1 Z0.400 F360 G1 X152.262 Y100.000 F9000 G1 Z0.200 F360 G1 E0.8000 F3000 G1 X150.279 Y100.000 E0.0659 F45 G1 X150.200 Y100.000 E0.0026 ; tool H0.200 W0.416 G1 X150.117 Y100.000 E0.0029 ; tool H0.200 W0.499 G1 X150.000 Y100.000 E0.0049 G1 X150.000 Y100.117 E0.0049 ; tool H0.200 W0.416 G1 X150.000 Y100.200 E0.0029 ; tool H0.200 W0.400 G1 X150.000 Y100.279 E0.0026 G1 X150.000 Y102.262 E0.0659 G1 E-0.8000 F3000 ; layer end T0; G1 E-0.8000 F3000 ; feature skirt ; tool H0.200 W0.400 G1 Z0.200 F360 G1 X145.575 Y112.700 F9000 G1 E0.8000 F3000 G1 X139.600 Y106.725 E0.2810 F90 G1 X137.300 Y104.425 E0.1082 G1 X137.300 Y95.575 E0.2944 G1 X145.575 Y87.300 E0.3892 G1 X154.425 Y87.300 E0.2944 G1 X156.725 Y89.600 E0.1082 G1 X162.700 Y95.575 E0.2810 G1 X162.700 Y104.425 E0.2944 G1 X154.425 Y112.700 E0.3892 G1 X145.575 Y112.700 E0.2944 G1 E-0.8000 F3000 ; feature cross - external single extrusion ; tool H0.200 W0.400 G1 Z0.400 F360 G1 X147.738 Y100.000 F9000 G1 Z0.200 F360 G1 E0.8000 F3000 G1 X149.641 Y100.000 E0.0633 F45 G1 X150.000 Y99.641 F9000 G1 X150.000 Y97.738 E0.0633 F45 G1 E-0.8000 F3000 G1 Z0.400 F360 G1 X152.262 Y100.000 F9000 G1 Z0.200 F360 G1 E0.8000 F3000 G1 X150.279 Y100.000 E0.0659 F45 G1 X150.200 Y100.000 E0.0026 ; tool H0.200 W0.416 G1 X150.117 Y100.000 E0.0029 ; tool H0.200 W0.499 G1 X150.000 Y100.000 E0.0049 G1 X150.000 Y100.117 E0.0049 ; tool H0.200 W0.416 G1 X150.000 Y100.200 E0.0029 ; tool H0.200 W0.400 G1 X150.000 Y100.279 E0.0026 G1 X150.000 Y102.262 E0.0659 G1 E-0.8000 F3000 ; layer end ; pass 2 T1 G1 E-0.8000 F3000 ; feature skirt ; tool H0.200 W0.400 G1 Z0.200 F360 G1 X145.575 Y112.700 F9000 G1 E0.8000 F3000 G1 X139.600 Y106.725 E0.2810 F90 G1 X137.300 Y104.425 E0.1082 G1 X137.300 Y95.575 E0.2944 G1 X145.575 Y87.300 E0.3892 G1 X154.425 Y87.300 E0.2944 G1 X156.725 Y89.600 E0.1082 G1 X162.700 Y95.575 E0.2810 G1 X162.700 Y104.425 E0.2944 G1 X154.425 Y112.700 E0.3892 G1 X145.575 Y112.700 E0.2944 G1 E-0.8000 F3000 ; feature cross - external single extrusion ; tool H0.200 W0.400 G1 Z0.400 F360 G1 X147.738 Y100.000 F9000 G1 Z0.200 F360 G1 E0.8000 F3000 G1 X149.641 Y100.000 E0.0633 F45 G1 X150.000 Y99.641 F9000 G1 X150.000 Y97.738 E0.0633 F45 G1 E-0.8000 F3000 G1 Z0.400 F360 G1 X152.262 Y100.000 F9000 G1 Z0.200 F360 G1 E0.8000 F3000 G1 X150.279 Y100.000 E0.0659 F45 G1 X150.200 Y100.000 E0.0026 ; tool H0.200 W0.416 G1 X150.117 Y100.000 E0.0029 ; tool H0.200 W0.499 G1 X150.000 Y100.000 E0.0049 G1 X150.000 Y100.117 E0.0049 ; tool H0.200 W0.416 G1 X150.000 Y100.200 E0.0029 ; tool H0.200 W0.400 G1 X150.000 Y100.279 E0.0026 G1 X150.000 Y102.262 E0.0659 G1 E-0.8000 F3000 ; layer end T0; G1 E-0.8000 F3000 ; feature skirt ; tool H0.200 W0.400 G1 Z0.200 F360 G1 X145.575 Y112.700 F9000 G1 E0.8000 F3000 G1 X139.600 Y106.725 E0.2810 F90 G1 X137.300 Y104.425 E0.1082 G1 X137.300 Y95.575 E0.2944 G1 X145.575 Y87.300 E0.3892 G1 X154.425 Y87.300 E0.2944 G1 X156.725 Y89.600 E0.1082 G1 X162.700 Y95.575 E0.2810 G1 X162.700 Y104.425 E0.2944 G1 X154.425 Y112.700 E0.3892 G1 X145.575 Y112.700 E0.2944 G1 E-0.8000 F3000 ; feature cross - external single extrusion ; tool H0.200 W0.400 G1 Z0.400 F360 G1 X147.738 Y100.000 F9000 G1 Z0.200 F360 G1 E0.8000 F3000 G1 X149.641 Y100.000 E0.0633 F45 G1 X150.000 Y99.641 F9000 G1 X150.000 Y97.738 E0.0633 F45 G1 E-0.8000 F3000 G1 Z0.400 F360 G1 X152.262 Y100.000 F9000 G1 Z0.200 F360 G1 E0.8000 F3000 G1 X150.279 Y100.000 E0.0659 F45 G1 X150.200 Y100.000 E0.0026 ; tool H0.200 W0.416 G1 X150.117 Y100.000 E0.0029 ; tool H0.200 W0.499 G1 X150.000 Y100.000 E0.0049 G1 X150.000 Y100.117 E0.0049 ; tool H0.200 W0.416 G1 X150.000 Y100.200 E0.0029 ; tool H0.200 W0.400 G1 X150.000 Y100.279 E0.0026 G1 X150.000 Y102.262 E0.0659 G1 E-0.8000 F3000 ; layer end M117 Print Complete ! T-1 M999
-
[Feature request] add sort options to file list
@mfs12 It would be great to have an option in setup where the file name sorting could be specified. I would like "sort by date, most recent first" because I do a lot of test runs and find myself wanting to use the web interface to start the job because I can have it sort the files names by date. Thanks for considering my suggestion!
-
RE: different milling results dispite same G10 Offset
@cmp I wish I had better insight to help you out... what firmware version are you running? If the experiments below don't provide insight, would you please post the Tool1 and Tool4 pre,.g , post.g and free.g macros?
Please try typing M999 (this will force the firmware to do a reset) just before you start your print. Make sure that you don't execute any additional gcode before starting your print. See if running the normal "print, then mill" sequence a couple of times give the same offsets or different offsets.
Another variation of this experiment is to home the machine, then pick up the milling tool, then put it back, then pick up the print tool, then print the object, then return the print tool, pick up the milling tool and then mill the object. Try this sequence at least twice to see if the offsets are the same or different.
One more variation: Print the object, then pick up the milling tool but don't use it, then put the milling tool back, then pick up the printing tool and add layers on top. Do the additional layers line up with the original layers?
Latest posts made by GeneRisi
-
RE: SDCard reading stops while power was on
@jay_s_uk thank you! M122 shows there sdcard being recognized, so I tried to run config.g and got an error "insufficient axis homed" . When I removed the problem everything worked as expected.
-
SDCard reading stops while power was on
My Duet2 failed running after I edited the tpostx.g files to use the Z coordinate saved before the tool change occurred. I can read the SDCard successfully on my Mac. I copied the contents of the SDCard onto another one that I had. It also was not read by the Duet2. The firmware seems to be in its default state with the extruder 0 fan constantly running.
How should I proceed?
Gene
-
RE: Error for fan not found running 3.4.6
@jay_s_uk Thank you so much for pointing that out! There are a few things that are wrong; I really appreciate your help!
This is closed. Thanks for the help!
Gene
-
RE: Error for fan not found running 3.4.6
@droftarts Thanks, Ian. I started a trace because I am even more suspicious that it has to do with running 3.5.x on my 5 inch Paneldue.
Here’s my config.g:
; Configuration file for Duet WiFi / Ethernet ; executed by the firmware on start-up ; *** General preferences *** ; M111 S0 ; Debugging off M550 P"ToolChanger" ; Set machine name G21 ; Work in millimetres G90 ; Send absolute coordinates... M83 ; ...but relative extruder moves M555 P2 ; Set firmware compatibility to look like Marlin ; ; *** Network *** ; M552 S1 ; Enable Networking M586 P0 S1 ; Enable HTTP M586 P1 S1 ; Enable FTP M586 P2 S0 ; Disable Telnet ; ; *** Kinematics *** ; M667 S1 ; Select CoreXY mode ; ; *** Endstops *** ; M574 X1 P"xstop" S1 ; Set X endstop as active high switch M574 Y1 P"ystop" S1 ; Set Y endstop as active high switch M574 Z1 S2 ; Set Z endstop probe ; note that M574 not used here for A or C M915 C S5 F0 H200 ; Coupler end stop is stall M915 A S10 F0 H200 ; Wiper "A" end stop is stall ;M915 B S10 F0 H200 ; Wiper "B" end stop is stall M558 P8 C"zstop" X0 Y0 Z2 H3 F360:180 I0 T20000 ; Set Z probe type to switch, the axes for which it is used and the dive height + speeds G31 P200 X0 Y0 Z0 ; Set Z probe trigger value, offset and trigger height ; ; *** Bed Leveling *** ; M557 X10:290 Y20:180 S40 ; Define mesh grid M376 H15 ; bed compensation taper if !exists(global.freshMesh) global freshMesh = false else set global.freshMesh = false G29 Q2 ; turn off bed mesh compensation (shouldn't be on, but ...) ; ; *** Drive direction *** ; M569 P0 S0 ; Drive 0 X M569 P1 S0 ; Drive 1 Y M569 P2 S1 ; Drive 2 Z M569 P3 S1 ; Drive 3 E0 - something strange here M569 P4 S1 ; Drive 4 E1 M569 P5 S1 ; Drive 5 E2 M569 P6 S1 ; Drive 6 E3 M569 P7 S0 ; Drive 7 COUPLER M569 P8 S1 ; Drive 8 Wiper "A" ;M569 P9 S1 ; Drive 9 Wiper "B" ; ; *** Drive Mapping *** ; M584 X0 Y1 Z2 A8 C7 E3:4:5:6 ; Apply custom drive mapping ;M584 B9 ; Apply custom drive mapping ; ; *** AXES min and max *** ; M208 X-27:330 Y-49:243 Z0:300 A-43:0 C0:500 S0 ; Set axis maxima & minima ; M208 B0:43 ; ; *** Stepping *** ; M92 X100 Y100 Z1600 ; Set steps per mm at default 1/16 microstepping M350 X16 Y16 Z16 I1 ; Configure microstepping with interpolation M350 E16:16:8:16 A16 C8 I1 ; Configure microstepping without interpolation except for Extruder 3 ;M350 B16 M92 C100 A400 E690:690:417:409 ; Set steps per mm at just defined microstepping ;M92 B400 ; ; *** Motion Settings *** ; M566 X400 Y400 Z8 A8 C2 E300:300:300:300 ; Set maximum instantaneous speed changes (mm/min) ;M566 B8 M203 X35000 Y35000 Z1200 A1200 C5000 E7200:7200:3600:3600 ; Set maximum speeds (mm/min) ;M203 B1200 M201 X6000 Y6000 Z400 A400 C400 E7000:7000:600:3000 ; Set accelerations (mm/s^2) ;M201 B400 ;M593 F48 ; cancel ringing at 50Hz (https://forum.e3d-online.com/threads/accelerometer-and-resonance-measurements-of-the-motion-system.3445/) ; ; *** Drive Currents *** ; ; motor currents (mA) maxes M906 X1400 Y1400 I30 M906 E1200:1200:500:1380 I10 M906 A700 I40 ;M906 B700 I40 M906 C600 I50 M906 Z1250 I70 ; M84 S120 ; Set idle timeout ; ; *** PanelDue 5i *** ; M575 P1 S1 B57600 ; set baud rate to PanelDue 5 ; ; *** fine Z offset - only adjust if probe has changed trigger point *** ; var z_trigger_offset = -0.01 ; ; *** Define Tools *** ; if !exists(global.toolA) global toolA = 0 if !exists(global.toolB) global toolB = 1 if !exists(global.toolC) global toolC = 2 if !exists(global.toolD) global toolD = 3 ; ; *** *** > Bed < ; M308 S0 P"bedtemp" Y"thermistor" A"bed" T100000 B4138 C0 ; Thermistor M950 H0 C"bedheat" T0 ; Heater M140 H0 ; define the bed heater M143 H0 S225 ; Set temperature limit to 225C (bed) M307 H0 R1.001 C428.841:428.841 D10.89 S1.00 V24.4 B0 I0 ; set PID parameters ; ; *** *** > Tool 0 < ; M308 S1 P"spi.cs1" Y"rtd-max31865" A"T0" F60 ; PT100 M950 H1 C"e0heat" T1 ; Heater M143 H1 S390 ; Set temperature limit to 390C M307 H1 R1.631 C239.974:239.974 D4.07 S1.00 V24.3 B0 I0 ; set PID parameters ; M950 F8 C"fan1" ; HE fan M106 P8 S255 H1 T70 M950 F0 C"fan2" ; PCF fan 0 M106 P0 S0 ; M569 P3 S1 ; Extruder Stepper ; M563 P0 D0 H1 F2 ; Define tool ; M568 P0 R0 S0 ; Reset initial tool active and standby temperatures to 0C ; G10 P0 X-9.0 Y39.0 Z{-5.02 + var.z_trigger_offset} ; Define Tool Offset; homed and leveled hot, bed mesh on, measured at bed=85c, nozzle=240c ; ;M572 D0 S0.025 ; pressure advance for Orbiter if !exists(global.T0_Park_X) global T0_Park_X = -4.2 global T0_Park_Y = 240.0 ; ; *** *** > Tool 1 < ; M308 S2 P"spi.cs2" Y"rtd-max31865" A"T1" F60 ; PT100 M950 H2 C"e1heat" T2 ; Heater M143 H2 S390 ; Set temperature limit to 390C M307 H2 R1.940 C222.050:222.050 D5.17 S1.00 V24.3 B0 I0 ; set PID parameters ; M950 F9 C"duex.fan3" ; HE fan M106 P9 S255 H2 T70 M950 F1 C"duex.fan4" ; PCF fan 1 M106 P1 S0 ; M569 P4 S1 ; Extruder Stepper ; M563 P1 D1 H2 F4 ; Define tool ; M568 P1 R0 S0 ; Reset initial tool active and standby temperatures to 0C ; G10 P1 X-8.65 Y39.15 Z{-5.06 + var.z_trigger_offset} ; Define tool offset - was x-9.1 ;M572 D1 S0.025 ; pressure advance for Orbiter M207 P1 S1.5 F7200 T3000 Z0.075 ; for hardware based retraction if !exists(global.T1_Park_X) global T1_Park_X = 86.0 ; strange change here global T1_Park_Y = 240.5 ; ; *** *** > Tool 2 (unpopulated) < ; ;M308 S3 P"spi.cs3" Y"rtd-max31865" A"T2" F60 ; PT100 ;M950 H3 C"duex.e2heat" T3 ; Heater ;M143 H3 S390 ; Set temperature limit to 390C ; ;M950 F5 C"duex.fan5" ; HE fan ;M106 P5 S255 H3 T70 ;M950 F6 C"duex.fan6" ; PCF fan ;M106 P6 S0 ; ;M569 P5 S1 ; Extruder Stepper ; ;M563 P2 D2 H3 F6 ; Define tool ;G10 P2 X0 Y0 Z0 ; Reset tool axis offsets ;G10 P2 R0 S0 ; Reset initial tool active and standby temperatures to 0C ; ;G10 P2 X-9 Y39 Z-5 ; Define Tool Offset ; ; *** *** > Tool 3 (Hemera) < ; M308 S4 P"spi.cs4" Y"rtd-max31865" A"T3" F60 ; PT100 M950 H4 C"duex.e3heat" T4 ; Heater M143 H4 S390 ; Set temperature limit to 390C ;M307 H4 ... ; Set PID values ; M950 F11 C"duex.fan7" ; HE fan M106 P11 S255 H4 T70 M950 F3 C"duex.fan8" ; PCF fan 3 M106 P3 S0 ; M569 P6 S1 ; Extruder Stepper ; M563 P3 D3 H4 F8 ; Define tool ; M568 P3 R0 S0 ; Reset initial tool active and standby temperatures to 0C ; G10 P3 X19.77 Y43.50 Z{-5.71 + var.z_trigger_offset} ; z was -6.06, then 6.00, y43.65 ; ;M572 D3 S0.07 ; ? Pressure advance ??? if !exists(global.T3_Park_X) global T3_Park_X = 308 global T3_Park_Y = 225.25 ; ; *** Accelerometer *** M955 P0 C"duex.cs5+duex.cs6" ; ; *** Define Servos *** ; > Wiper A < M950 P0 C"duex.pwm4" Q50 ; > Wiper B < M950 P1 C"duex.pwm5" Q50 ; ; *** Stepper noise tuning ;M569 P0 F1 Y10:00 ;M569 P1 F12 Y10:00 ;M569 P2 F6 Y05:03 ; ; M501 ; ; *** Actions *** ; T-1 ;de-select all tools ; ; finis
And this is my “nozzle cleaning” macro:
; for tools T0 and T1 ; echo "begin pblwiper_A" var extlen=15 ;if exists(param.L) ; set var.extlen=param.L ; var fanspd=0.0 if exists(param.F) set var.fanspd = param.F / 100 ; var cooltime=1500 if exists(param.C) set var.cooltime=param.C ; var scrubOnly=false if exists(param.S) set var.scrubOnly=true ; var a0_to_wiper=-5.25 var a0_to_brush=-8.50 ; ;;;;;;; g-code below ; G91 G1 Z1 F500 ; Drop Z 1mm for Safety G90 G1 E-1.00 F1800 ; retract ; G1 Y175 F2000 ; move tool to standby position G1 X-20 F2000 ; M98 p"/macros/set_A_min.g" ; set A wiper to use bottom endstop ; G1 A-33 F500 ; move A wiper out of the way M280 P0 S170 ; move wiper arm to ready position G4 P1000 ; ; Set Up for Pebble Purge ; G1 X-25.7 Y147.9 F24000 ; move to brad location - here to make testing easier - only for tools 0 and 1 ; M98 p"/macros/set_A_max.g" ; set A wiper to use top endstop - determine nozzle tip location ; G1 A{var.a0_to_wiper} E0.75 F500 ; move wiper to tip of std v6 nozzle ; if !var.scrubOnly G4 P0 M280 P0 S18 ; cut off any hanging string from the nozzle G4 P1000 ; ; G1 A-2 F500 ; move brass brad closer G4 P0 ; ; G1 E1 F120 ; trying to avoid strange extrusion speed that happens here G1 P500 ; echo "...Extruding" G1 E{var.extlen} F300 ; Pebble Purge G4 P0 ; G1 A-6 F500 ; move away from nozzle tip M106 S1.00 ; Cooling On M106 S0.93 ; G1 E-0.6 F300 ; Retract G4 P{var.cooltime} ; Dwell for cooltime ; ;M280 P0 S170 ; Servo Wipe 1 - toss pebble G4 P500 ; ; ;M280 P0 S18 ; G4 P1000 ; M280 P0 S170 G4 P1000 ; G1 A{var.a0_to_wiper} F500 ; go back to nozzle tip ; M280 P0 S18 ; G4 P500 ; M280 P0 S170 G4 P1000 else G1 E1.0 F1800 ; restore retracted plastic echo "...Wiping" M42 P0 S0 ; Turn Servo off ; ; ; Move Nozzle Across Nylon Brush ; G1 A{var.a0_to_brush} F500 ; move brush down ; G91 G1 X+0 Y-50 F6000 G1 X+5 Y+50 G1 X+5 Y-50 ; G1 Z-1 F500 ; restore Z height ; G90 ; locations now absolute ; G92 E0 ; Reset Extrusion - extruding ? echo "M106 S", {var.fanspd} M106 S{var.fanspd} ; restore fan speed G4 P0 echo "End of pblwiper_a" ; ;finis
-
RE: Error for fan not found running 3.4.6
@fcwilt I have macros but nothing appears to be calling for Fan 4, in fact, Fan 4 is not even assigned in config.g.
The model code has only 3 instances of M106 and no instances of M107.
-
RE: Error for fan not found running 3.4.6
@fcwilt Yes, I have. I am starting to suspect that running 3.5.x on Paneldue and 3.4.6 on Duet2 might have caused the problem. I have reinstalled the 3.4 version of Paneldue and am running the same code file to see if it still puts out the warning message.
-
Error for fan not found running 3.4.6
I am getting a strange error, "Fan 4 not found". I would like to trace it. What gcodes besides M106 and M107 might generate that error message? Also, is there a way to see which line number caused the last error?
It is occurring in the main body of my print.
-
RE: Parameter passing from within a macro
@fcwilt I think I have to change the way I wrote the macro being called slightly, which is fine. The existence of one of the parameters passed to the macro controls a set of actions in the macro; the value associated with that parameter doesn't matter. This approach won't work if I can't build a conditional list of parameters.
I wonder if there is a write up of how commands are parsed that would explain why a string containing a list of parameters isn't parsed as such?
-
RE: Parameter passing from within a macro
@fcwilt Did you do this from within a macro?
I don't know how to do this when there are 4 different parameters that may or may not be used. I do think it is worth seeing if the call with a string variable works when not inside of a macro.
Thanks for your response! -
Parameter passing from within a macro
I have a macro that calls one of two macros and passes the parameters sent to the calling macro from the model code. It looks like this:
; for all tools ; var params="" if exists(param.L) set var.params=var.params ^ " L" ^ param.L ; if exists(param.F) set var.params=var.params ^ " F" ^ param.F ; if exists(param.C) set var.params=var.params ^ " C" ^ param.C ; if exists(param.S) set var.params=var.params ^ " S" ^ param.S ; echo "pblwiper passed params", {var.params} if (state.currentTool = 0 | state.currentTool = 1) M98 P"/macros/pblwiper_A.g" {var.params} elif (state.currentTool = 2 | state.currentTool = 3) M98 P"/macros/pblwiper_B.g" {var.params} else echo "pblwiper.g: No active tool" ; ;finis
The macros being called do not "see" that parameters being passed to them. I have verified that the parameters are correct with the included "echo" command. Is this a bug or am I doing something incorrectly?