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

Provide a placeholder "next_extruder_extruded_volume" to custom toolchange gcode #5903

Closed
spiky2021 opened this issue Jan 27, 2021 · 5 comments

Comments

@spiky2021
Copy link

Version

2.3.0

Operating system type + version

Win 10

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

Anycubic I3 Mega S, Craftbot Flow IDEX XL

Many users of multi extruder printers like to define their own purge/retract procedure during toolchange. Now the problem occurs, that PS alway adds a travel with retract in case an extruder wasn't used before and thus wasn't retract by a toolchange retract. Meaning without information about the actual extruded volumen of the next extruder a custom toolchange gcode can't decide wether the sclicer adds a travel retract or not. To gain control in the custom gcode, one can use the workaround to bring all first extrusion to the bed (partially described in issue #5823) , but this is much less then user friendly.
Therefore I added an additional placeholder parser key to the set_extruder method of the GCode Class.
The toolchange gcode I use for a Craftbot Flow IDEX XL and the GCode.cpp files are attached.
additional_placeholder_custom_gcode.zip
I know, that adding another placeholder interferes with the standard documentation of Slic3r placeholders.
But if PrusaSlicer not extends at this point, it will stay in the bounderies defined by a more or less historical Slic3r.
It is a small change, but intrinsically opens PS to a much wider range of newly developed printers and users, developers, etc..
Is this a new feature request? Yes

Project File (.3MF) where problem occurs

@bubnikv
Copy link
Collaborator

Would you please provide a pull request through github? Or at least a diff?

@spiky2021
Copy link
Author

Hm, well my VS2019 is not linked to the repository so far, I just downloaded the sources. Seems like I have to do that, then to create a fork/branche and then I'm able provide a pull request? Sorry, if I'm wrong, I'm completely new to git.

@spiky2021
Copy link
Author

Now provided as pull request combined with changes under #5823.

@spiky2021
Copy link
Author

Dear Vojtěch Bubník,
I provided a pull request as you requested to me. But since that I havn't got any responce! Maybe I did something wrong, but then please inform me about your guidelines. Otherwise I have to percieve it as rude to request something and not to respond after it is done. I worked together with teams from universities like MIT, KIT, ETH, NSU, etc., as well as institutions like NASA, CERN, Academia Sinica, etc., as well as international companies and this was always commen sense. Therefore I expect the same for any open source community, if it is really open minded. Maybe this is overreacted, but I feel a little offended, since i solved some issue placed about 4 years ago and nobody is interrested about that.

bubnikv added a commit that referenced this issue Feb 15, 2021
under soluble supports. #5823
Implemented as a pull request #5903 by @spiky2021
and reworked.

commit c7993e6
Author: spiky2021 <77010315+spiky2021@users.noreply.github.com>
Date:   Thu Feb 11 12:39:25 2021 +0100

    Base type interfaces for soluble interface supports

    At the moment soluble support material adhesion is weak due to sparse support layers under soluble support layers. I reported as issue #5823 with pictures, as well.
    I modified two methods to the SupportMaterial Class including their headers.
    The new methods add two base type interface layers to the support structure, in case the extruders are different and soluble support is choosen.
    Since it is conditionally activated, it in general doesn't need a GUI input. But a GUI option number of base interface layers may enabled users to adapt this feature to their needs.
    This is my second try to provide a pull request on this topic. Reset my fromer repository, because first I merged this and all other changes to my master and couldn't provide separate pull request anymore.
@bubnikv
Copy link
Collaborator

Merged with 32db22b
Thanks for your contribution.

YuSanka added a commit that referenced this issue Sep 7, 2021
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called
YuSanka added a commit that referenced this issue Sep 7, 2021
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called
YuSanka added a commit that referenced this issue Sep 21, 2021
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called
YuSanka added a commit that referenced this issue Sep 22, 2021
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called
YuSanka added a commit that referenced this issue Sep 22, 2021
* Check Unsaved changes (partially related to #5903)
 + Allow create new project when Plater is empty, but some of presets are modified (related to #5903)
 + When creating new project allow Keep or Discard modification from previous project
 + Added check of changes:
    * before any load project (including DnD and "Load From Recent Projects")
    * before preset updater
    * when configuration is changing from the ConfigWizard
 + Dialog caption is added for each check

 + Create/Destroy ConfigWizard every time when it's called

* Check Unsaved changes: Next Improvements
 + For dialog "Save project changes" added a reason of saving and name of the current project (or "Untitled")
 + UnsavedChangesDialog: Headers are extended to better explain the reason
 + Preferences: Fixed tooltiops for "Always ask for unsaved changes when..."
 + Suppress "Remember my choice" checkbox for actions which are not frequently used

* Fixed behavior of the application when try to save changed project but "Cancel" button is selected in "Save file as..." dialog

* Check unsaved changes: Improvements for Config Wizard - Check all cases when presets should be updated
 + Fixed info line for Materials pages. Text of the info relates to the printer technology now

* Improved suggested name for a project when Application is closing

* Fixed Linux/OSX build warnings
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

2 participants