Jump to content

GregValiant

Expert
  • Posts

    5,048
  • Joined

  • Last visited

  • Days Won

    198

Everything posted by GregValiant

  1. This is one of the reasons I find myself designing things with one eye on the slicing software. Sometimes you have to fool Cura into doing what you want. Without the option you described (call it Last Layer Height) and in the situation you described, adjusting the Initial Layer Height to .6 (or .2) would adjust the top layer to end up at 25mm. Setting the layer heights to .403 would get really close to 25mm. But what if the model has a second feature below the top level (Ex: a step) that needs to be held to a tight tolerance as well? I haven't played with Adaptive Layers much. Maybe that would be work for multiple features.
  2. In the main Cura screen and with the Prepare view on-screen, there is a block right under the word Prepare. Clicking on it SHOULD bring up a box to enter material and nozzle size.
  3. There are two kinds of profiles - one for the machine and one for slicing. 1. Cura needs to know your machine so it can generate Gcode files that the printer can understand. You need to go into the machine settings in Cura (did you add your printer as a custom printer?) and make sure the build plate size (75x75x70?) and Gcode flavor (Marlin, RepRap, whatever) and the other options are set for your printer. 2. If you open one of the Gcode files that came with the printer (with any text editor like Windows Notepad), there are lines at the beginning that will give some information regarding some of the slicer settings and what software was used to slice the model. You should learn about Gcode since it is what makes the printer print. Something like "M104 S205" doesn't make a lot of sense to just look at (it sets the hot end temperature), but at the Marlin.org site the Gcodes and Mcodes are explained. So deciphering the Gcode file a bit should give you enough information to come up with your own Cura software profile for slicing. It looks like you'll be limited to PLA with a max hot end temp of 205. Leveling the bed and getting a good first layer is covered in numerous videos.
  4. We belong to the Tin Can Tourist club. Members have old camping trailers or motorhomes that they've reconditioned. Ours is a 1972 Shasta Compact. For our next rally I'm bringing some coaster holders (and coasters) to pawn off on unsuspecting folk. The two on the left are the production models.
  5. Darn. I was hoping to delete that one before anybody saw it. Too quick on the send button, or my fingers are faster than my brain.
  6. I think I'll stay out of this one. I'm feeling a little bad for Carla though...ouch!!
  7. Well there ya go. You can carry on a conversation with your printer now. "M503" you said. "echo:busy: processing" it replied.
  8. M302 needs a parameter or two. M302 S100 would set the temp below your extrusion temperature. This remains in effect until the printer is shut off. The next time you turn it on it will be back at 175 degrees. M302 P1 disables the cold extrude safety. For coding you should add M302 P0 to your ending gcode to re-enable the safety at the end of the file. I'm not sure if this gets cancelled at power off. I don't know what firmware you are running but the Marlin Gcodes are here.
  9. The plugin keys on the term ";layer:" rather than the Z height. From it's point of view it does work at Layer change. The question would seem to be why is the ;layer: comment where it is instead of at the Z change. I agree plugins are macros. Something similar to what you want is done by the Pause at Height plugin. It checks the previous X Y Z E and restores them after the pause. I played with that for a minute and it generated this code in the file: G1 F2700 E942.81886 ; A retraction G1 F300 Z0.7 ; A Z-Hop ;MESH:NONMESH G0 F7500 X126.647 Y80.826 Z0.7 G0 X129.221 Y79.165 ;TIME_ELAPSED:634.017759 ;TYPE:CUSTOM ;added code by post processing ;script: PauseAtHeight.py ;current layer: 1 M83 ; switch to relative E values for any needed retraction G1 F300 Z1.7 ; move up a millimeter to get out of the way G1 F9000 X190 Y190 ;This parks the head - you could throw this out G1 F300 Z15 ; too close to bed--move to at least 15mm M104 S205 ; standby temperature M0 ; Do the actual pause ;If this was G28 I think it would work as you want. M109 S205 ; resume temperature G1 F300 Z1.7 G1 F9000 X129.221 Y79.165 ;Move back to re-start X Y G1 F300 Z0.7 ; move back down to the resume Z-hop height G1 F2700 ; restore extrusion feedrate M82 ; switch back to absolute E values G92 E942.81886 ; Extruder reset ;LAYER:1 M140 S50 M106 S42.5 G0 X129.221 Y79.165 Z0.9 ;TYPE:SUPPORT G1 F300 Z0.4 G1 F2700 E948.81886 I understand what you want to do and yes, the plugins are essentially macros. If someone was to take the Pause at Height code and loop through it NumberOfLayers times then a couple of minor changes and you would have it. Unfortunately (I think) it would be specific to the G28 command and that probably makes it a one-off custom routine. Maybe one of the Ultimaker folk will chime in with an opinion.
  10. If you would post a copy of the Gcode file from the SD card (not from your hard drive) that would be good. Also mention the printer brand and model and what firmware it runs.
  11. A person who knew absolutely nothing about Python or plug-ins might say something ignorant like "self._timeout = 30" But then he/she would be neither aware of nor responsible for any of the possible ramifications of adding a single zero nor how many times the variable is used in the plugin nor what else it is used for. Entropy always increases and ignorance is bliss.
  12. You have run into the problem that many have. Gcode is a machine movement language, not a programming language. You can use M114 to get the current location of all 4 axis (example response = X:95.52 Y:102.69 Z:1.40 E:489.90 Count X:7890 Y:8753 Z:566) but it would need to be parsed outside the Gcode to pull the E value out. In your first code example, the G28 is at the end of layer 0. The Z move just prior could be a Z hop, but the next two moves are non-extrusion moves. You want the plug-in to notice that and put the G28 ahead of the non-extruding moves. That would fix your problem, but for the next person it may not be true that the moves are non-extruding. From the G28 Home position, the next Gcode line (in your file) must be an extrusion line. You would need to pull out the XY position and return the head there before allowing that extrusion line to run. Right now, it is being told to extrude from Home to whatever the next defined position is in the Gcode. What it expects, is to be at the previous XY of 234.25, 18.25. Some machines support G60 (save position) and G61 (return to saved position). You might be able to incorporate them into your code. Something like... G60 S0 G28 G61 S0 The Marlin firmware in my machine doesn't support G60 or G61. I have no intention of fooling with it even though from time to time it would be useful.
  13. As Smithy says, the settings in Cura need to match your printer. It appears that the build volume of your machine is 350 x 350 x 400. The origin should be left front corner (not the center). The Home Offset settings in the printer firmware will have an effect on the virtual center of the build plate. Explaining that goes beyond your question but IF your build surface is 350 x 350 and you use the LCD controls to send the print head to X=175 Y=175 it should be at the center of the build surface. If it isn't then you need to adjust the X Y Home Offsets. Home Offset Z should be zero.
  14. This must have to do with the Gcode flavor that your printer uses. Have you figured out what it is? Cura needs to match the Gcode flavor to the machine the Gcode is intended for and there is a drop down list in Machine Settings. Here is a list of the Marlin Gcode commands at Marlin.org and here is the listing for RepRap commands. M106 is layer cooling fan speed. M566 is supported by RepRap as a jerk setting. M204 is an acceleration setting. All three are normal things you should expect to see. Within the gcode files do the G1 lines look similar? Usually "E" means extrude but some machines used "A" instead. There is also the issue of "volumetric" extrude vs. extrusion by mm. That has to match as well as the language. The LCD on my printer has a menu command for "About Printer" and states the version of the firmware (but not the flavor). When I open the printer port with my host software the printer response includes the flavor and version number: start echo:Marlin 1.1.8 echo: Last Updated: 2019-01-11 | Author: (Ender-3 Pro) echo:Compiled: May 30 2019 echo: Free Memory: 9448 PlannerBufferBytes: 1232 echo:SD card ok Init power off infomation. size: 585 You could send M115 to the printer as well.
  15. There should be many more on that list. First below Ultimaker BV is "Custom" and below that are a lot of different manufacturers. I wonder if they somehow got missed during the installation.
  16. When you add a non-networked printer BIBO is listed in the drop down box. You have the correct software. It's very good. When saving the file select Gcode from the "Save as Type" box. Well, that should cover this mornings problems.
  17. An option would be to set the printing temperature in Cura to 205. In your Gcode file at the start of the second layer (layer:1) manually add M104 S195. Layer 0 would print at 205, the M104 line would be read, and printing would be uninterrupted as the temp fell to 195 for the rest of the layers. There is the "Insert at Layer Change" plugin. You could use that set to "After" and Gcode to M104 S195. The M104 line would be inserted after every layer. Layer 0 would print at 205 and the rest would print at 195. However, if you needed to tune the temperature for some reason it would revert to 195 at the end of every layer.
  18. Thanks for the explanation. Once again I get confirmation that Everything effects Everything.
  19. Here is the plan view of the Gcode file in Nail's second post (read into autocad as a wireframe). It looks square from any direction.
  20. This is a trick I just learned here. It might work for you. Multiply the model 10 times. Export the model as a binary STL file. All 10 instances will be exported as a single entity. Clear the build plate. Open the new STL file. Multiply the new file 10 times. You get 100 pieces on the plate and hopefully you won't run out of resources.
  21. If that is part of a host-side thermal runaway precaution it would probably be hard to get rid of (lawyers being as they are). While poking around the various cited threads I went back to Marlin and noticed this under M105 Some hosts may hide the reply from M105. A better way for hosts to get regular temperature updates is to use M155 (requires AUTO_REPORT_TEMPERATURES and EXTENDED_CAPABILITIES_REPORT). Hosts then no longer need to run an extra process or use up slots in the command buffer to receive temperatures. It would seem that the printer would have to be queried to check if those options are enabled before M155 could be used successfully. Since Cura (and other hosts) must work with multiple flavors of firmware running on numerous models of printers I'm guessing that even if it were possible it would get really clumsy really fast. I find this interesting because I use my own host program to run the printer (just VBA macros from within MSExcel). I tried to add USB printing and it worked...for specific models like a calibration cube. If the model had large meshes and/or any round features. I was unable to coordinate the data flow to account for how fast or slow the data was being processed by the printer. I put a lot of thought into the code and it all ended up in the toilet. The SD card works well. I control SD printing from the host program rather than sending the Gcode line-by-line via USB. I understand that isn't an option for Cura, and some folk will always want to print via USB.
  22. I do some things with fine relieved text on the bottom. So far there haven't been any problems with loosing definition of the letters. I usually hand code speed changes into the Gcode file so the first few layers are slow and then after the lettering I speed things up. My inconsistencies with leveling have pretty much gone away since I started using parchment paper. At .04 thickness it gives me more control over first layer thickness. Theoretically, when I tell it to make the first layer .2 and I've leveled with a piece of printer paper at .1, the nozzle should be .3 above the surface. At any rate, somewhat more than .2mm. I think that was where my first layer under-extrusion was coming from I'd be loose on the leveling and the first layer may have been closer to .35 or .4. Not enough squish. I'm much better at adjusting the bed while the skirt / brim is printing, but at first, I was worried about dragging the nozzle so I just pushed more plastic to fill the large gap (instead of closing the gap). I once tried using a feeler gauge of .1mm with the nozzle at Z=.1 hoping for an exact zero on the Z axis. That didn't work out I think because I was trying to cut things too fine. There is no BLTouch in my future. All in all I'm pleased. The $220 Chinese POS printer is accurate if not terribly dependable. It now has near 500hrs on it at the cost of a hot end, and 2 fans (1 was my fault). I've had to take it apart probably 6 or 8 times to fix various problems. It's a learning curve. Some of the pieces on the motorbike were my first attempts at printing and I think there are about 60 separate pieces on it now. I was a machine tool designer in a former life. I've been running AutoCad for decades and have some experience with Gcode. What I don't know about 3d printing fills libraries, but I've been involved with Gcode CNC machines since the late 60's and used to market my own software for monitoring lab equipment and racing timers via serial ports using MSExcel and VBA. I'll close here with some compliments. Cura dazzles me. The support here is excellent even though there are numerous non-Ultimaker products being discussed. I also appreciate the fact that there is very little "look at my mini" or "see how fast I can print" stuff here. It's a nuts and bolts kind of site. Now go back to work. I'm tired from hi-jacking this thread. I think I'll have a nap.
  23. Yes sir, but you have 8 years experience. Those of us starting out need to build confidence and getting consistent good first layers does that. Pushing the flow seemed an easy way to get good plate adhesion and good bonding between the lines of mesh. Compensating for the over-extruded first layer by under-extruding a couple of layers seemed a small price to pay for getting some kind of system that worked. As I get better at this I've reduced the initial layer flow to only 5% over and the subsequent layers run at 100%. That has helped get rid of the elephants foot too. It comes together. Troubleshooting is still a pain when things all of a sudden go south on me. It seemed like it was always something different, but when all was said and done - I'd be back rebuilding and cleaning the hot end and everything would be OK. I think that these are both the simplest and most complicated machines I've dealt with. Tuning a set of Weber carbs is a piece of cake next to these.
  24. When printing via USB does Cura poll the printer for temperature with M105?
×
×
  • Create New...