Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vendor bundles Documentation about printer configuration INI creation #3560

Closed
photodude opened this issue Jan 22, 2020 · 26 comments
Closed

Comments

@photodude
Copy link
Contributor

photodude commented Jan 22, 2020

I'm looking at cleaning up a community custom PrusaSlicer profile for my BIBO 2 dual extruder. Where can I find documentation for developing printer configurations like those included in PrusaSlicer

Version

2.2.9

Operating system type + version

win10

3D printer brand / version + firmware version (if known)

  • Printer
    • BIBO2 Touch
      • Minor Upgrades
        • PEI sheet build surface
        • 5015 cooling blowers
  • Firmware

Behavior

Can't find documentation for developing custom printer configurations. Looking to build printer configurations like those included in PrusaSlicer

Specific questions:

  • needing direction for Dual extruder setup at the code INI level settings
  • what is the meaning of the bed_shape = -100x-100,100x-100,100x100,-100x100 definition and what do I need to change for a 214mm X by 186mm Y by 160mm Z build volume?
@photodude photodude changed the title Documentation about printer configuration Documentation about printer configuration INI creation Jan 22, 2020
@bubnikv
Copy link
Collaborator

bubnikv commented Jan 22, 2020 via email

@bubnikv
Copy link
Collaborator

bubnikv commented Jan 22, 2020

Please note that the wiki page is quite raw. For example, we currently deliver our config files from our content delivery network, and we will only support downloading the configs from there for security reasons.

@photodude
Copy link
Contributor Author

@bubnikv Awesome. Thank you. I've made my first round of edits and I'm now working on reducing config redundancy. I'll need to make some other printer-specific adjustments as some things I just carried over from the suggested starting point.

Once the redundancy is cleaned up I think it would be ready to pass to the BIBO community for verification testing.

I've attached my first draft. If you or @rtyr have any recommendations for this I would be grateful for the advice.
BIBO2Touch.zip

@photodude photodude changed the title Documentation about printer configuration INI creation Vendor bundles Documentation about printer configuration INI creation Jan 23, 2020
@photodude
Copy link
Contributor Author

@bubnikv @rtyr I think I have things set up correctly for dual extrusion, but with the dual extruder there are many cases where we want to only print with one of the two nozzles and keep the other extruder disabled. With other slicers, we usually have this setup for 3 printer variants, one for Dual extruder, one for E1 right extruder only, and one for E2 left extruder only.

For the E1 only case it seems I just say that there is only one extruder, dual extrusion I indicate that there are two extruders. Where I'm lost is set up for using E2 the left extruder only, and ensuring E1 is disabled or otherwise ignored. Any guidance on that case?

@rtyr
Copy link
Collaborator

rtyr commented Jan 23, 2020

Extruder can be selected via UI, so maybe you don't need separate printer profiles for E1/E2?

You can use T[initial_tool] placeholder in the start gcode.

I noticed that you have same extruder color for both extruders in your printer profile. I recommend to set them differently (much better preview).
bn

@bubnikv
Copy link
Collaborator

bubnikv commented Jan 24, 2020

For the E1 only case it seems I just say that there is only one extruder, dual extrusion I indicate that there are two extruders. Where I'm lost is set up for using E2 the left extruder only, and ensuring E1 is disabled or otherwise ignored. Any guidance on that case?

PrusaSlicer will not emit any tool change commands into the G-code for a single extruder printer. If you want to create a single extruder profile to use just the 2nd extruder, configure it as a single extruder printer and then add the selection of the 2nd extruder into your custom start G-code.

Please note that if you do that, you likely will want to add the selection of the 1st extruder into your custom start G-code for the single extruder printing profile using just the 1st extruder.

@bubnikv
Copy link
Collaborator

bubnikv commented Jan 24, 2020

I am adding a reference to #3566 here, where some other issues regarding the vendor bundles configuration structure has been discussed.

@photodude
Copy link
Contributor Author

Thanks @bubnikv and @rtyr, I've taken into consideration your suggestions and made some modifications to the start gcode. I also fixed an issue with the compatible printers selection for the print profiles to ensure all the printer variants are covered.

at the moment I'll stick to the 3 printers as specialized configurations concept that the manufacturer uses on other slicers (some users get confused with how to do single extruder printing on dual extruders which is the primary justification I've heard for keeping all three variants)

One thing I'm noticing with the config bungle import is I get 2 copies of the filaments, like "generic PLA" and a second with the same name but appended with @BIBO. not sure why I'm getting 2 copies of all the filaments.
BIBO2Touch.zip

I've tried to add to the Wiki as I've had questions and found answers.

@bubnikv
Copy link
Collaborator

bubnikv commented Feb 8, 2020 via email

@photodude
Copy link
Contributor Author

photodude commented Feb 8, 2020

@bubnikv Thank you, That fixed the duplicate materials.

Apparently, something after the start gcode or after the start gcode is causing prints to stop after the start gcode purge lines. It's very odd. I'm trying to get gcode from users who are reporting the issue to see if I can track down the issue. Nothing seems obvious as to the cause of the stop after start gcode.

@photodude
Copy link
Contributor Author

@bubnikv I think the stopping after start gcode issue may have been related to an extra /n at the end of the start gcode. not sure why a trailing /n would cause the printer to halt, but removing that seems to have solved the error, that or it was changing G92 E0 to G92 E0.0. Checking with some other users to confirm the issue has been solved.
BIBO2Touch.zip

At the moment I think there is one last item to check off, I've hardcoded the standby temperature for the other nozzle in the start gcode. using M109 S170 T1 for standby when printing with just the first nozzle. it would be helpful if there was away to tie that value to a replacement like M109 S[standby_temperature_1] T1

I saw there was a standby_temperature_delta token but that's not real helpful when the start gcode doesn't allow calculations in the replacements to do something like M109 S{first_layer_temperature_1-standby_temperature_delta] T1

What would be the right approach for setting up standby temperatures for replacement tokens?

@bubnikv
Copy link
Collaborator

bubnikv commented Feb 8, 2020 via email

@photodude
Copy link
Contributor Author

@bubnikv Thank you I will look over that information. I've also added it to the Wiki.

I found the standby_temperature_delta token in the wiki, must be a carryover from older information and not relevant anymore.
https://github.com/prusa3d/PrusaSlicer/wiki/Slic3r-placeholders-(a-copy-of-the-mauk.cc-page

@photodude
Copy link
Contributor Author

@bubnikv I tried the following the start gcode

S{temperature_0 *0.8} to attempt to get an 80% standby temperature but I got the following error.

G-code export to C:\Users\[user]\AppData\Local\Temp\.20796.gcode failed due to invalid custom G-code sections:
start_gcode
Please inspect the file C:\Users\[user]\AppData\Local\Temp\.20796.gcode.tmp for error messages enclosed between
!!!!! Failed to process the custom G-code template ...
and
!!!!! End of an error report for the custom G-code template ...

Seems either I got the syntax wrong or the macro constructs don't work right in the start gcode.

@photodude
Copy link
Contributor Author

@bubnikv Looks like I got the Syntax wrong, I found S{first_layer_temperature[0] * 0.7} will work but S{temperature_0 * 0.7} would not.

@bubnikv
Copy link
Collaborator

bubnikv commented Feb 9, 2020 via email

@photodude
Copy link
Contributor Author

photodude commented Feb 12, 2020

@bubnikv Thank you. I've made some more adjustments and will be putting this to our community for more testing to make sure it's all working as expected and I didn't overlook anything.
BIBO2Touch.zip

@bubnikv
Copy link
Collaborator

bubnikv commented Feb 18, 2020 via email

@photodude
Copy link
Contributor Author

photodude commented Feb 18, 2020

@bubnikv I'll submit a PR once I'm confident in the config bundle. It's close but not fully ready. In the meantime, I've opened a repository in my account to track future changes with the config bundle while the community is testing.

I also need to figure out setting up the STL and SVG bed files and test those.

There are a couple of odd things I've noticed in my testing.

  1. With the Ooze prevention enabled the stand by temperature variation applies to the wrong extruder. It's applying to the active extruder and not to the extruder which should be in standby. In my testing with extruder T0 being first the standby temperature delta is applied to T0 and not to the T1 extruder just after the start gcode. Perhaps something needs to be added to the custom gcode to get that to apply correctly.
  2. Setting the infill to extruder 2 doesn't seem to do anything, and prints with extruder 2 set for infill have no change in the slicer preview or in the actual print.
  3. The wipe tower throws an error saying it requires relative extruder positioning. I'm unsure if the BIBO2 printer could be set to relative extruder positioning. I need to verify if the extruders can be set to relative positioning and change the profiles and start gcode to match.
  1. prime all printing extruders is always placing the prime lines half off the right edge of the bed.

@photodude
Copy link
Contributor Author

photodude commented Mar 2, 2020

@bubnikv @rtyr Could one of you give an explanation of, and criteria for selecting values with, the following fields? I've looked at a few things but haven't been able to wrap my head around the meaning of these fields or the criteria for selecting values for them.

parking_pos_retraction = 92
cooling_tube_length = 5
cooling_tube_retraction = 91.5
extra_loading_move = -2
filament_minimal_purge_on_wipe_tower = 15

Thank you again on the advice and guidance for building the vendor config bundle.
We are getting really close to having everything ready to push for a PR. We do have some minor issues to clean up but so far it's looking really good.

@rtyr
Copy link
Collaborator

rtyr commented Mar 2, 2020

These settings are mainly for our multi-material upgrade or similar single-nozzle multi-material printers. It is not used for traditional dual extruder printers like BIBO2 and these settings are not even visible in the UI when the "Single Extruder Multi Material" parameter is not enabled.

filament_minimal_purge_on_wipe_tower - you can specify minimal amount of plastic to be purged on the wipe tower (if enabled). Main purpose of this setting is to make sure, that pressure in the nozzle is stabilized before printing main object.

photodude added a commit to photodude/BIBO2-PrusaSlicer that referenced this issue Mar 2, 2020
Single Extruder Multi Material fileds do not apply to traditional dual extruder printers.
See link for more information. prusa3d/PrusaSlicer#3560 (comment)
@photodude
Copy link
Contributor Author

Thanks @rtyr that makes a lot more sense about when and where those fields apply. I've removed those fields from our config bundle, and I'll add a note to the Wiki for that. I still need to address a couple of things in the config bundle and then I'll be ready to submit a PR.

@mikolaszuza
Copy link
Collaborator

@photodude Thanks for the edits to the Vendor bundle tutorial!

You said your profile "is close but not fully ready". Any chance it will be "good enough" for a starting profile for 2.2 final release? We would love to include profiles for at least a few different printers to kickstart the discussion about making these.

@photodude
Copy link
Contributor Author

photodude commented Mar 3, 2020

@mikolaszuza you are welcome. Here are a few items that I need to address, I think these are the big ones holding back a PR.

  • refine bed_model
    • bed model must be set so the build surface is at 0 Z and all bed components are below the Z axis
  • refine bed_texture
    • SVG settings are very important to get this right, see wiki
  • z-seam blobs and pits
    • needs testing following recent change to retraction settings
      • needs more adjustments following recent testing.
  • reported issue with start gcode causing filament to unload
    • I haven't been able to replicate this and the solution proposed by the user reporting the issue breaks the wipe tower functionality
  • reported issue with start gcode being too long for printing over USB drives causing printers to stall on start gcode
    • personally consider this one something that can't be addressed
  • add soluble support print profiles
    • mostly copy from PrusaResearch.ini with minor edits

a non-blocker item would be to clean up more of the redundancy in the profiles, it's a to do item but shouldn't hold back any PRs for inclusion.

You can check the current work or participate in the development in my github repo, I have the bed_model and bed_texture in there but those are just early drafts.
https://github.com/photodude/BIBO2-PrusaSlicer

@photodude
Copy link
Contributor Author

With the adoption of the BIBO vendor profile and the creation of the Wiki document I think we have enough documentation now to close this issue. Thanks everyone for your help and guidance on this project.

@bubnikv
Copy link
Collaborator

bubnikv commented Mar 13, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants