Jump to content

rhino5fan

Dormant
  • Posts

    3
  • Joined

  • Last visited

Personal Information

  • Country
    US

rhino5fan's Achievements

0

Reputation

  1. gr5, I appreciate the clear, concise answer. I’m printing a 5.5” high piece with vertical, curved surfaces. I noticed some shallow, narrow grooves running vertically in the printed piece. When I looked at the code (in ms Word), and compared several layers that (I thought) should have been identical, it was obvious they were not. The coordinates for the start of the inner wall were X107.889, Y92.268 on the first level and X11.830, Y130.877 on the second. I assumed this was a random variation generated by Cura. However, I just now looked more closely and found that the gcode alternates between these two microscopically different layers on a consistent basis, so it must be intentional. The variation between similar layers is very much smaller: on the range of 0.015 or so. Still, I was off and running. It occurred to me that I could copy the gcode describing one layer into a subroutine. The main program, after printing the base as specified by Cura, would then call the subroutine a specific number of times to print truly identical layers. (This could be done with the layer pairs Cura actually produces.) The control logic of the loop would permit easy changes to the printed height of the item. I also wanted to put in control logic to print a test version, one that would print the brim, skip the base, and print the inner and outer walls a limited number of times, and skip the top cap. This way, I could identify a layer that did not have the groove flaw, or repair one that did, and replicate it in the final program. X and Y coordinates would be stacked with mathematical precision. The problem was the extrusion amount per individual move command. If it were expressed in relative amounts, each layer would be coded identically, with each move allocated the proper amount of filament by Cura, and being the same on every layer. Pretty simple. Being stuck in absolute mode is a huge problem, because each G0 command would have to be supplied its E-value through a variable… or better yet … calculated by an expression containing a variable, such as: X Y E0.21000+Cumulative_Length_of_Previous_Layers X Y E3.83816+Cumulative_Length_of_Previous_Layers This would still require a cut and paste into each command on the replicated layer, but you’d get the advantages of program logic. Unfortunately, this is all hypothetical given that Marlin does not do conditionals or loops. When I experimented with CNC for plasma cutting, I built a library of subroutines that gave a lot of flexibility. Anyway … that was my reasoning for wanting absolute mode. Will be looking into plugins, Excel, etc. Very clever idea with the plow. Thanks very much for the time and effort of your replies. I couldn’t be happier with my decision to buy Ultimake—it was the right choice.
  2. Thanks gr5. My printer is a brand new (like 10 days old) Ultimaker 2 Extended Plus. It's a great machine and prints very well out of the box. I installed the firmware upgrade recommended, but I really don't know what's under the hood. I've played with g-code to do some cnc machine work, but this is my first time with UltiGcode and 3d printing. 1) Maybe first I should ask: what are the detailed specs of this printer as it came from the factory? What is the firmware? RepRap wiki refers to FiveD, sprinter, marlin, teacup, reprap firmware, etc. Is it Marlin? What version? Does it use Arduino? (All of this is new to me. Do I even need to know what Arduino is?) So, is there a reference page I can go to that will tell me exactly what my machine is? Thanks much. 2) My real interest is in adding if-then logic and do-until loops to the g-code that's generated by Cura, as well as write and call subroutines. (I've done this in my cnc experimentation.) Is this even possible in UltiGcode? If so, where can I find the documentation? 3) This leads to how the extrusion parameter works. Right now the g-code looks like this, which I now understand to be absolute mode: G1 X..... Y..... E0.21000 G1 X..... Y..... E0.83816 G1 X..... Y..... E0.15971 G1 X..... Y..... E0.95161 ... G1 X..... Y..... E4690.69623 starting from the first G1 move of the program. My question is how do I get Cura to output the E parameter in relative mode? And will my firmware interpret it correctly? I just generated a new code with a machine setting of 10 steps per mm, but it didn't change the E parameter. Also looked at files that came from Ultimaker-- Coffin's Cube and Earring Circle -- both generated by Cura Steam Engine 13.10 and they also are in absolute mode. Thanks again for any guidance you can give me.
  3. HI. I'm slicing stl models with Cura 15.04.4, set to output UltiGcode. When I read the gcode, the G01 commands have x,y, and e parameters. The e parameter in each individual command is expressed in total mm from the beginning of the print. The documentation I've found only refers to mm per move instruction. Is there some way to get Cura to generate gcode with the mm per move instead of cumulative mm? Also, under Machine Settings, E-steps per 1mm filament is set = 0. What is an E-step and how do I set this parameter? Thanks
×
×
  • Create New...