Prusaslicer: Cannot move part in Z direction

Created on 25 Dec 2018  ·  108Comments  ·  Source: prusa3d/PrusaSlicer

Version

Slic3rPE-1.42.0-alpha1+win64-full-201812231738

Operating system type + version

Win10 x64

Behavior

  • _Describe the problem_

I can move part in X and Y direction with the new function.
If I move it in Z direction up or down it instantly goes back to default position.

  • _Steps needed to reproduce the problem_

Use move symbol in x , y and z direction.

  • _Expected Results_

Z works like X and Y.
I would need to lower the part below the bed (like with not-so-comfortable cut function) so that lower part is not printed.
Or need to lift a part up in the air if you want to continue a failed print... or just do some tests with support function...

  • _Actual Results_

Does not work...

  • _Screenshots from __Slic3r__ preview are preferred_

cannotmovezbefore

cannotmovezafter

STL/Config (.ZIP) where problem occurs

_Upload a zipped copy of an STL and your config (File -> Export Config)_

cannotmoveZ.zip

Most helpful comment

I would disagree, I have a model that can/should be stacked on top of each other. But they are individual files. If I bring them all into Slic3r, I cannot stack them, and cannot add them together as one part so they all are affected by one change, ex rotation or scale.

All 108 comments

I have found that this only affects files that are not parts of a "part". With the new split to object and split to part options, a file with two pieces split into objects will both always be on the ground. But with a file that is split into a part, both items will stay where they are and can be moved in the z direction. Would it be possible to at least allow us to add other files to a group AKA part?

I would suggest a two part fix

  1. Adding a "group to part" UI icon next to the two splits.
  2. for individual objects, graying out the Z position box and adding hover text that says that its only available for grouped parts.

With this also allowing users to group/ungroup parts by dragging them in the sidebar into/out of parts would be 👌

EXOgreen ... sounds complicated.
Cannot we just take a part and lift or lower it to our desired Z position and fine without any cut/split/group/append/modify/... ?
It has been months that I moved from Cura to Slic3r PE (still happy with slic3r PE :-) ) but I think I remember that in cura you just took the part and lifted it up and that was it.

You should not need to move the object up in Z. If you are printing without
raft, you print the first object layer on the print bed. If you are
printing with raft, then Slic3r will apply the prescribed number of raft
layers for you, thus it will lift the object as required.

On Wed, Dec 26, 2018 at 4:44 PM faboaic notifications@github.com wrote:

Reopened #1513 https://github.com/prusa3d/Slic3r/issues/1513.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/prusa3d/Slic3r/issues/1513#event-2044751683, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFj5I9Xb71m0Pw4YpZFNXoO3lbf6Zvdoks5u85lFgaJpZM4Zg__d
.

I would disagree, I have a model that can/should be stacked on top of each other. But they are individual files. If I bring them all into Slic3r, I cannot stack them, and cannot add them together as one part so they all are affected by one change, ex rotation or scale.

@bubnikv There are many cases when moving the part in Z direction really makes a lot of sense.
See expected result in my first post.

Try to print a part that has one area of its underside touching the build plate and another area of its underside 0.5mm higher in Z direction.
You will get better results if you lift it up so that support is everywhere and not only 0.5mm below that higher area.
0.5mm is too less height for interface layers, etc... it will be really bad result without lifting it up.
.... just as a not so usual example ;-)

But to resume a failed print is really easy with lifting the part up.

I cannot find a reason why it should be forbidden to move a part up or down.
With the "lay flat" icon you can drop it down on the bed again, if necessary.

I would need to lower the part below the bed (like with not-so-comfortable cut function) so that lower part is not printed.

What is not-so-comfortable on the cut function?

But to resume a failed print is really easy with lifting the part up.

I don't understand how this is supposed to help to resume a failed print.

I cannot find a reason why it should be forbidden to move a part up or down.

Any functionality, which is not needed, will stay in somebody's way.

Try to print a part that has one area of its underside touching the build plate and another area of its underside 0.5mm higher in Z direction.
You will get better results if you lift it up so that support is everywhere and not only 0.5mm below that higher area.

This is easily achieved by enabling the raft.

@EXOgreen You can stack objects in Slic3r by right clicking on the object in the 3D view or at the object list, and selecting "Add Part -> Load ...". You can then manipulate the parts in Z as you wish.

Can the Z axis be greyed out for files not in a part? This should remove some of the confusion.

Also can we add this functionality of combining files as parts in the sidebar for files already loaded in Slic3r. This is what's happening with right click > load, but not for existing parts. So if someone has loaded two file's and made changes they can be combined into a part, essentially grouping them.

Yes, this makes sense, possibly with drag & drop at the side bar.

On Wed, Jan 2, 2019 at 5:24 PM Benjamin Dalton notifications@github.com
wrote:

Can we add this functionality of combining files as parts in the sidebar
for files already loaded in Slic3r. This is what's happening with right
click > load, but not for existing parts. So if someone has loaded two
file's and made changes they can be combined into a part, essentially
grouping them.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/prusa3d/Slic3r/issues/1513#issuecomment-450909587,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFj5I7VzNNTsKleKXPxum_igvUDYEL-Nks5u_N03gaJpZM4Zg__d
.

What is not-so-comfortable on the cut function?

It works but is not as intuitive as just lowering the part below the Z = 0 plane.

But to resume a failed print is really easy with lifting the part up.

I don't understand how this is supposed to help to resume a failed print.

Find out the height of the failure (caliper, log, ... ) then cut the part at that height in the slicer.
Raise the part to that height in slicer.
Export gcode, print --> Printer will continue at the layer where the failure happened.

I cannot find a reason why it should be forbidden to move a part up or down.

Any functionality, which is not needed, will stay in somebody's way.

It is needed ;-) see above.

Try to print a part that has one area of its underside touching the build plate and another area of its underside 0.5mm higher in Z direction.
You will get better results if you lift it up so that support is everywhere and not only 0.5mm below that higher area.

This is easily achieved by enabling the raft.

Maybe this was not my best example without a drawing.
Have you ever used cura? It is very intuitive to just take a part in 3D space and rotate it in every direction and move it in every direction. Even Z ;-)

While I agree with being able to lift a part in the Z axis can be used for this, I'd rather parts stick to the ground. Working for a university having the ability for parts to float is asking for trouble. To complete a failed print, I have just been opening the gcode file and deleting everything between the first layer and the layer that the print stopped at, by using find to find the comment Slic3r leaves at layer changes. It works especially well when you have a gcode viewer and can even delete lines up to where the print actually stopped and not just the layer.

It is confusing for me that a part is treated differently than a modifier at moving.

When I have a part and a modifier, I can lift the modifier.
Then I change the modifier to a part... It is lifted.
I change the lower part to a modifier, then both parts are moved.... That is really strange behavior.

If parts and modifiers could be positioned freely it would be feeling just normally and intuitive.
Changing type from part to modifier and back should not move the part.

If you need a part touching the build plate you have the perfectly working new function 'lay flat '.

I have also commented on another issue thread. Stacking parts to increase productivity when producing a large number of smaller parts is an important feature. The parts are stacked with support material turned on between the layers. Other slicers have this capability. The attached screen grab is from Simplify3D.
image

Another good reason to have the abiltiy to move an object above the build plate so no part is resting, is for miniature printing. You can often get a much better angle to print it at by not having it lay flat, and instead entirely rest on supports. The inability to manipulate models in the Z direction is about the only thing keeping me using simplify3D or Cura over Slic3r PE.

You can often get a much better angle to print it at by not having it lay flat, and instead entirely rest on supports.

Just enable the raft.

@bubnikv Then why not simply remove the Z Arrow and text box, since they not only do nothing, they are extremely confusing, as witnessed by the presence of this thread.

That said, I would rather have the option to move things in the Z-axis. People make clever plans when they have options, and the nature of this community is those kinds of people. Perhaps just include a visual indicator or warning if a part is not flat on the bed?

Using a torus (donut) shape with 3D printing won't work properly if you can't raise the model off the build plate - the edge that touches the build plate gets flattened - so it's VITAL that users can lift their models off the build plate!!

More user choice is ALWAYS good. Especially if it's disabled by default and if anyone wants to use it, they simply go to the Expert settings.

Using a torus (donut) shape with 3D printing won't work properly if you can't raise the model off the build plate - the edge that touches the build plate gets flattened - so it's VITAL that users can lift their models off the build plate!!

How are you printing the object then? On raft? Without raft but with supports?

I can't print it successfully, even with a Raft it does the same thing!

On Mon, Aug 19, 2019 at 2:59 AM Vojtěch Bubník notifications@github.com
wrote:

Using a torus (donut) shape with 3D printing won't work properly if you
can't raise the model off the build plate - the edge that touches the build
plate gets flattened - so it's VITAL that users can lift their models off
the build plate!!

How are you printing the object then? On raft? Without raft but with
supports?


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/prusa3d/PrusaSlicer/issues/1513?email_source=notifications&email_token=ALPPE4KP2SZHKX262MNVCNTQFJVJFA5CNFSM4GMD77O2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4SLSKQ#issuecomment-522500394,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALPPE4NG73MUMHVBKD7WVVLQFJVJFANCNFSM4GMD77OQ
.

I would also like this feature. For instance, I'm currently trying to stack 4mm thick fan guards so I'm not having to clear the build plate every 1.5 hours. Unfortunately, I'm not able to get a small "raft" to print between the parts. I've tried support enforcers (using 'load' to load another instance of the object marked as a support enforcer) and support blockers (by modeling the inverse of the print and extruding it very high, through the full stack) both. I've also tried just a "slab" between the parts as a support enforcer. No matter what, the slicer seems to want to build supports for supports, all the way down to the build plate, even when nothing is above the area.

image
image

with a support blocker
image
image
image

I too, wish that I could raise and lower objects. My initial use case is manually stacking items, often just as a preview of what things would look like, without having to open STLs in TinderCAD or similar. Simplify3D has this feature.

As others have mentioned, it could cause issues for beginners, but we do have simple, advanced, and export modes now. It could be a preference that only shows up for other than simple mode.

I also want the ability to lift in z-axis. I often ‘kitbash’ where I add two files together in slicer. Imagine a had a model of a D&D character and another model of sun glasses, I can add the sun glasses, scale and move where I want. The object would merge into a single object to be printed.

Another common thing is for me to have a flat textured ‘tile’ for D&D. I want to add a wall so I want to put it ‘on top’ of the floor tile to make one piece.

I would also join the "why this useful feature not available" chain.
Why? Is it hard to implement in the code?
What if I just want to generate gcode for such a model, which is "flying" in the air?
Why do you constrain the ability to move the part in 3D space anywhere the user wants?
Craftware, cura, S3D (just the ones I use) all has this very simple function - only Prusa thinks it is not useful? :D How is that?
After nine month and PrusaSlicer 2.1 still lacks this very basic feature - simply funny :)

Used google to try and understand why this didn't work and found this thread. I also agree this is a useful feature and it is counter-intuitive for it to appear possible but then not work for no apparent reason.

I think the reasoning as to why it shouldn't be included is deeply flawed, but if it is in fact the direction that the authors want to go, then don't let me try to do it?

I agree with the majority of users! Please allow the Z to be moved as everyone would like.
This "automatic" z placing of models is completely unusefull as my opinion.

I've been struggling with trying to figure this out for 20 minutes now. It makes no sense. I have two objects, one that should sit on top of the other. The base object is effectively a raft with a custom shape and the top object is a more complex design to be printed on top of the base object. It has a bunch of separate pieces so splitting is would be cumbersome (and non-intuitive).

Yes, I could bring both objects into another 3D software and combine them but that should be an extra uneccessary step. I also want to be able to easily use the base with different top object designed and just swap them out. Just let me move the thing up please!

Kulberda, place your base object normally, then right click on it and 'add part', select your model that you want to place on top. You should now be able to move the 'top' part around freely including into the air on top of it. By adding it as part of the original model Prusa Slicer groups them as a logical entity and as long as some part of the logical group touches the build plate its requirements are met.

Yes, thanks, that works! But, still, not intuitive and not at all clear why that's any different than trying to reposition two separate parts on top of each other. At the very least it should tell you why you can't move the other part up (and what to do about it).

Floating separate objects could still be useful to create custom supports which need to be printed with a different layer height: #3117

Over a year worth of updates to the slicer and this is still a problem? Why do the other 'big' slicers have this and PS doesn't?

I ran into a usage case for this feature a month or so ago, I wanted to print some pin badges, where the pin is encapsulated in the print itself. I developed a methodology that works and can be seen on my blog post here. I ended up using a huge number of raft layers which sort of worked, however the pin section was difficult to fit because the raft layers so you have to push the pin through the raft layers.

If I was able to raise the print above the print bed and then generate supports as normal this sort of print would be much simpler.

While I do see the point of having the ability to move parts in the Z dirrection, most people I work with who use our prusas (students) dont know half what they should. I would rather the parts auto snap to the ground in almost every case.

@darraghbr There is a much simpler way to move parts in the Z direction. when two STL objects are part of a group, they will be able to move in the Z direction. there SHOULD be a way to group objects to a part but I see that hasn't been added yet. my current workaround is to add my objects to the buildplate, export the buildplate as an STL, then clear the board and import the new STL. As soon as you select split to part, you will be able to select each object and give them their own Z height.

I would like to take this opportunity to reiterate my suggestion from when this first became an issue almost exactly a year ago ( @bubnikv )

I would suggest a two-part fix

Adding a "group to part" UI icon next to the two split options.
for individual objects, graying out the Z position box and adding hover text that says that its only available for grouped parts.

With this also allowing users to group/ungroup parts by dragging them in the sidebar into/out of parts would be 👌

@EXOgreen I attempted to replicate what you have suggested and while I would consider it more of a workaround than a real solution. For instance, what if I only want to print one part? Plus your suggestion only works when one component remains on the build plate while the other one moves in Z relative to that, as soon as you move the second component off the build plate it gets pushed down in Z again.

If you are concerned with making the software overly complex for new users, I would suggest that this feature would only be enabled if the user were using the 'Advanced' or 'Expert' mode.

This seems to been problem for long time... 😮

Well i was trying to make MMU print and because i cant z those parts it will trying to print different color in same place after slicing....

image

image

Maybe we will get solution for this in year 2020 😄
And yeah.. i think "Enable z" for expert/advanced mode would be nice

I was looking to move a part up so I could print it on top of a (non-printed) object sitting on the bed. This should be a feature. I agree that it's undesirable to ruin prints accidentally by moving them away from the bed, but this is easily solved. Simply have a setting for "snap parts to bed" that defaults to on and is only visible in expert mode.

I was looking to move a part up so I could print it on top of a (non-printed) object sitting on the bed. This should be a feature. I agree that it's undesirable to ruin prints accidentally by moving them away from the bed, but this is easily solved. Simply have a setting for "snap parts to bed" that defaults to on and is only visible in expert mode.

This shouldn't be a feature, this should be a basic function...

An hour of my life I can't get back. All I wanted was to stack my temperature tower tests so I could edit it as needed by material without a gcode revamp. Sooo many posts about why. Why? Because the functionality is right there and the text box reverts the number I type with no explanation. Why? Because any and every object 3d manipulation software on the planet allows it, even my kids Minecraft. Years later and we are still typing paragraphs about use cases. I don't program on this project, but on the projects I do work on this would be labeled as a BUG and treated as such. And don't even get me started on a design standard that overwrites a user input with no notification ... good grief.

The z-snap to build plate made me sad today. I had a large 24" x 22" object I wanted to print on my MK3S MMU2S - I had the part split into multiple interlocking pieces. It had letters on top that I wanted to be in a different color from the rest of the part, for labeling.

The STL has over 250 shells. The UI feature to bulk-set extruders took over an hour to discover.

Splitting the STL into parts meant I can't use marquee selection to disable printing on the parts outside of the build volume, or easily identify which parts I should assign to which extruder. Splitting the STL into objects meant the letters automatically snapped to the build plate - if I hadn't used the layer by layer preview, I'd have been even sadder.

The current UI is unusable for the use case of "i have 250+ shells.".

Why can't there be a setting for that? I agree that default should be to drop. But why not give users a way to choose if he has special needs?

I'm seeing a number of groups making face shields trying to get quick and efficient prints that need minimal human contact and stacking on the Z axis is what many are asking for. Can 'snap to z-axis' be made an advanced toggle feature so face shields can be stacked?

@CrazyJake88 Pretty much I came back to this topic, yes. I had to switch to Cura for that. It's a shame.

Gluing model to bed in z axis is maybe convenient, but more convenient would be checking box next to "Z" for that, maybe in advanced mode?

@soswow You can also simply add the models as parts of one object. But there is much less fun in that :-)

@lukasmatena please explain. And don't forget to check and make sure it works what you suggesting (if I understood you correctly - Slicer won't allow you that.)

Here is my original comment. I removed it because I thought I made a mistake. But I didn't I forgot important step:

Btw, someone (not me) has discovered this workaround. First prep. single model that contains empty layers. Do it with meshmixer or via CURA.
I do this with CURA:

  1. Go to CURA. Turn the option "Automatically drop model to the build plate" off.
  2. Add your models, align and move each up using number input for z (my model is 6mm, so I move the second model at 6.2mm, third at 12.4mm etc)
  3. File -> Export ... -> somename.stl

Now, import that stacked model into PrusaSlicer. Add Support Enforcer. Specify "Supports for enforcers only" Place it so it touches slightly your model and spans vertically between all layers. Slice! =) PrusaSlicer is happy now.

please explain. And don't forget to check and make sure

  1. Add your object
  2. Add a part (Right-click the object -> Add part -> Load...)
  3. Make sure the new part is selected (it should be)
  4. Select the 'Move' manipulator from the left menu
  5. Move the part wherever you want it (or use the object manipulation to enter precise values)

To add to Lukasmatenas instructions,
-if you are stacking and want to leave a gap between the parts Prusa Slicer will then point out there are empty layers.
-To get around this simply right click your Object, and add a modifier, for example a cylinder and make it 0.5mm (or just wider than your extrusion width) and as high as your stack.
-Then position it somewhere in the stack where it will be easy to trim with a blade.

No more empty layers and you have a stack of parts. All of the printing requirements are met and you can happily print.

@lukasmatena +++ You taught me something new today. That's cool. I didn't notice "Add Part" way of adding it.
@neophyl yeah, that was my point. Though I was using another workaround (adding support enforcer) where you suggest actual part. Similar thing.

So many options. And so annoying considering the issue we are currently in.

I would like to raise some parts in Z direction, and put different raft/supporters for each part. Check the images (top avobe and from bottom) of a gyroscope I want to print. If PS does not let me do, I will use TinkerCAD to create some thin "supporter layers" under the central parts, and pray that they will be easily removed...
02
01

please! Please just make this a feature! For years people have asked to have it and it still isn't a thing! Literally every other slicer has these capabilities and yet still to this day.

I used the "add part into model" function, with "support only in plate" and PS let me slice! See the images (from top and a near-bottom slice):
01-2-600x500
02-1-600x500

I cannot find a reason why it should be forbidden to move a part up or down.

Any functionality, which is not needed, will stay in somebody's way.

@bubnikv has a bigger picture view of necessary functionality. I am not an expert. I am just a PrusaSlicer user. I registered on GitHub to make my first post because I would have found the requested _simple_ and _easy to implement_ flexibility in Z be very useful today. I needed to join two thirdparty .stls to print them as one part, and would have much preferred to position one part over the other in PrusaSlicer without need for additional editing.

Please reconsider enabling this. Thanks.

wonder what this line's for:

https://github.com/prusa3d/PrusaSlicer/blob/be9dcf0c77d106393b08f961042ea44cd56f8745/src/slic3r/GUI/GUI_ObjectManipulation.cpp#L623

refers to something about a drop to bed button. What'd happen if we nuked that if statement and had the drop to bed button always be available? (possibly in advanced or expert mode).

I needed to join two thirdparty .stls to print them as one part, and would have much preferred to position one part over the other in PrusaSlicer without need for additional editing.

Please reconsider enabling this. Thanks.

Until then, you should do it outside PS. For example, Tinkercad or similar, the one you feel more confortable

I needed to join two thirdparty .stls to print them as one part, and would have much preferred to position one part over the other in PrusaSlicer without need for additional editing.

Please reconsider enabling this. Thanks.

Until then, you should do it outside PS. For example, Tinkercad or similar, the one you feel more confortable

I indicated in my post that I had to do what you are suggesting.

This is BULLSHIT! as a sr software developer I'll tell whoever is denying to work on this feature that YOU DO NOT MAKE CHOICES FOR THE USER! you create features as options where each user opts in on what they want to use...

For the guy with the argument that he's working with students that do not know what they're doing... let me guess, you let those students use a 3D printer which's hot end operates at 200c, right? what could go wrong if they place the object 100mm above the build plate? wasted filament and that's it. Lesson learned.

This reminds me, yet again, that I'm trying to use prusaslicer and I go back to cura because it doesn't force you to go through some shitty process that someone else decided you should do.

This is simple, in expert mode, add a checkbox and label "Allow free object manipulation" or whatever is more intuitive.

P.S. Go back to take classes about improving UX (User Experience), you should know how important that is.

I mean just like put in a setting in preferences to enable this as a feature like cura, it's not incredibly difficult and you guys are getting paid to do this sort of stuff anyways, literally everyone wants it

Well, I'm back to this same problem again. Although this time I have a mesh that isn't completely flat on the bottom and all I want to do is move it down through the base plate a bit. I'm sure there's probably some other "trick" to solve this but (and I really hate it when people use all caps but I think the situation calls for it) ALL I WANT TO DO IS BE ABLE TO CHANGE THE Z POSITION!!!!!

@kulberda I feel you, and I'd say I'm sorry I literally screamed on my post above, but that's what this frustration feels like. A stubborn developer that is telling us what to do and how to do things when you can see the shit load of people on this thread yelling out for that function.

I think how social media works these days, we should come up with a hashtag and everyone spam their accounts. Something like @josefprusa #FreeZaxis

Well, I'm back to this same problem again. Although this time I have a mesh that isn't completely flat on the bottom and all I want to do is move it down through the base plate a bit. I'm sure there's probably some other "trick" to solve this but (and I really hate it when people use all caps but I think the situation calls for it) ALL I WANT TO DO IS BE ABLE TO CHANGE THE Z POSITION!!!!!

I know, man. Try cutting the bottom in a 3D editor to make it completely flat.

Well, I'm back to this same problem again. Although this time I have a mesh that isn't completely flat on the bottom and all I want to do is move it down through the base plate a bit. I'm sure there's probably some other "trick" to solve this but (and I really hate it when people use all caps but I think the situation calls for it) ALL I WANT TO DO IS BE ABLE TO CHANGE THE Z POSITION!!!!!

The 'trick' for this one is to use the cut function. Trim off the bottom of the model and it sits flat on the plater where you want it. Theres a whole tool for it with options and everything.

Same solution for davidkeko's issue. Btw cutting the bottom flat is very easy to do in Blender too but its easier to do that using Slicers Cut function.

The 'trick' for this one is to use the cut function. Trim off the bottom of the model and it sits flat on the plater where you want it. Theres a whole tool for it with options and everything.

Same solution for davidkeko's issue. Btw cutting the bottom flat is very easy to do in Blender too but its easier to do that using Slicers Cut function.

I used to use the cut function all the time but I thought it was removed. That was my first thought but I can't find it anywhere. It's definitely not in the edit menu (right click context menu) or obviously anywhere else I'm looking.

@kulberda - Cut is now available from the left side of the plater display, as shown here in the blue circle.
Screen Shot 2020-05-27 at 7 00 28 PM

And performing a cut let's you move the model up and down?

No, it just lets you move it down.

In order to move it up, you need to at the model as a part to another model. Once you to that then the move z function works as you expect it to. It also ‘merges’ the models when it goes to print dice the use case for this feature is ‘mashups’ where you can add models to other models with overlap.

I continue to be baffled by this choice! There is even a snap to bottom button and warnings when the print goes SNR in contact with the bed. Let us move it Z with needing to add it as a part of an object PLEASE.

Again yesterday I had a part I wanted to print on top of an object, but because of this 'feature' I cannot do it without additional unnecessary pain.

"additional unnecessary pain"
Pain? That isn't a bit exaggerated?

@davidkeko its a pain in the ass to deal with a shitty UX/UI.

I would consider it a pain since it is such a limiting factor nobody is able to do many projects or even use some custom supports

I have to hand-edit gcode to do something I should be able to do trivially in my slicer. It's not even a feature that needs to be added, this is a feature that already exists that needs an expert mode toggle.

Yeah, it's really an "unfeature" because it's a feature that was added specifically to not allow you to do something you'd potentially want to be able to do.

People, the function "add part" allows to move in Z direction. That is not a solution for you? Why?

If devs are seeing this and ignoring it I will be furious. It's literally a problem.

I arrived here because I am new to the slicer an I needed to move my model slightly below the bed. The intuitive way was to use the Z arrow. When that failed I tried to change the object coordinates. After that I tried and failed to find how to do this in the manual and failed miserably. @josefprusa please order your developers to allow moving the object along the Z axis.

I arrived here because I am new to the slicer an I needed to move my model slightly below the bed.

While I agree Z movement is needed, in your case, you might be able to use the CUT feature to remove a portion from the bottom of the model.
Screen Shot 2020-06-20 at 4 30 15 PM

Is this still not added ?

why ?

this is not a feature by any means ... just a restriction imposed by the software to avoid silly mistakes. there definitley should be a pop-up saying _"m8, you know you can't print in mid air, right ? you might want to use Raft"_ or whatever, with an [ OK ] button and a [ I know what I'm doing ] button.

I'm trying to print single layer plastic masks on copper sheets for making custom PCBs via acid etching

I don't want to mess up my perfect Z calibration by adding 1.8mm (thickness of the copper sheet + double-sided tape) to the Live Adjust Z and then having to switch it back when I want to do a normal print

also this is really useful for recovering failed prints

I should be able to just place a model in mid-air and just print it (of course there's understandably goind to be some measure of making sure someone doesn't do this accidentally) but this is a genuine thing that can be very useful and I think just making it imposible is unnacceptable.

@josefprusa please order your developers to allow moving the object along the Z axis.

Please, @josefprusa, command / force your developers, whip them to do that! This is simply a hilarious way to communicate.

Frankly, there is so much negative feedback that we are considering to add a checkbox into preferences to enable it. From the UI point of view it is not such a big deal, but I am not sure whether it is worth the trouble.

1) People will print into the thin air. We are going to have notifications about that in the next release, so that is not that bad.

2) There is a big difference between PrusaSlicer (and the upstream Slic3r) vs. Cura or S3D. PrusaSlicer slices each object independently, while Cura or S3D slice all objects at once. Doing the former allows us to do tricks like variable layer height or support stepping independently per object. If we enable lifting objects along the Z axis, people will start wondering, why there is a support generated for the elevated object down to the print bed if there is another object below it. It is because the objects are considered independent. Oh yeah, I bet somebody will give an advice how to solve that situation. Yes, we can always make the system more complex.

@bubnikv I think you got the whip end.

" If we enable lifting objects along the Z axis, people will start wondering, why there is a support generated for the elevated object"

Did the user enable support for that object? or is this slicer making assumptions instead of giving the user options?

" Yes, we can always make the system more complex."

If you don't want to work in a complex system there's always another more mundane job you can take.

You're all being a lazy ass with an obvious lack of UX knowledge, blunt argument, yes, but your current software is what demonstrates that. Changing slicer settings is a pain in the ass, having to always click and add which settings I want to tweak on every print.

I'll tell you this, stay on denial, keep thinking that your dev team is making the best and greatest decisions for your users and another slicer will come up to replace your shitty UI/UX.

When developing UI/UX you have to account for cultural and psychological differences and biases, so don't let your own convoluted way of thinking determine what's best for a user that has a completely different mindset.

@carlosjln Thank you for your opinion. Take care and stay safe.

When developing UI/UX you have to account for cultural and psychological differences and biases

I see them. Thank you.

@bubnikv I hope you do not let peoples' rudeness dissuade you from taking the need for a checkbox for this feature seriously. I think by now it is obvious there is both demand and actual need for this feature. The current state of requiring annoying workarounds or gcode editing for tasks the slicer could support is frustrating.

The main concerns seem to be software complexity and UI complexity. Software complexity is not a valid issue here, where the capability in question already exists. The complexity is present, it is merely hidden from the user.

UI complexity is a valid concern, but keeping unneeded features out of the view of novices is the entire purpose of expert mode. The ability to disable this anti-feature is a perfect fit for expert mode.

My personal concern if I were a developer would be that the ability to turn off bed snapping will result in additional related feature requests, like a snap to bed button and snap to object below button.

As someome who isn't a developer and has needed the ability to disable automatic bed snapping for some time, I think it's worth it. There are more complaints on Reddit and elsewhere about the automatic snapping to bed than there were complaints about objects not snapping to bed in Slic3r or in Prusa Slicer before automatic snapping to bed was added.

@bubnikv There is another use case to get custom supports working, there is a video on the official Prusa youtube channel about using meshmixer supports, it would be useful to add our on "z contact distance" simply by lowering the supports a couple of layers to make easier to remove supports.

As it seems to be a long time to Prusa Slicer to add tree supports in FDM, I am playing with the sla tree settings and export them to use as custom supports ( like the video, replacing meshmixer for Prusa Slicer), however I can't leave a single layer of separation. I tried the "add part" method but it doesn't work, when I move the supports the object moves and viceversa.

I agree a simple fix is allowing a ckeckbox to disable snap under expert mode, I guess it isn't something hard to do and it will please a lot of users.

Ok, So I since this isn't going anywhere, and since I need the modifier functionality of Slic3R, do you guys know of any forks that have this restriction removed ?

Not for the movement in Z height as that is deeply integrated into the code I think but SuperSlicer has a checkbox to Allow Empty Layers.

I would disagree, I have a model that can/should be stacked on top of each other. But they are individual files. If I bring them all into Slic3r, I cannot stack them, and cannot add them together as one part so they all are affected by one change, ex rotation or scale.

PrusaSlicer 2.3.0-alpha1 newly supports merging multiple objects into a single object by selecting them in the plater and executing "Merge" from the pop-up menu. Once the objects are merged into one, they can be manipulated in Z.

Also PrusaSlicer 2.3.0-alpha1 newly allows printing with empty layers, while one gets a notification and a message box when exporting such a G-code.

Let me repeat, that contrary to Cura or S3D, PrusaSlicer slices each object independently and it also builds supports for each object independently, therefore stacking one object below the other may not be a good idea if the supports are enabled. This is a good technical reason why we do not allow lifting the objects up from the print bed.

This can be solved putting support blockers in the lifted object. Do you consider PrusaSlicer users so stupid? More stupid is PrusaSlicer, that detects collisions in places where it will not happen. See image, with red circles in the "supposed" sollision (putting clearing distances to the minimum does not solve this):
collision

More stupid is PrusaSlicer, that detects collisions in places where it will not happen.

Do not clutter this thread with that. There is an issue for it.

This can be solved putting support blockers in the lifted object.

Yeah, or by merging the objects.

Do you consider PrusaSlicer users so stupid?

Nobody but you used the word "stupid". But there will be users (most of them) not aware of this discussion. And they will naturally complain that PrusaSlicer generated supports intersecting with objects and that it ruined a 24+ hour print for them. (Yes, they will. See the number of issues on intersecting rafts and supports, which is caused by exactly that.) Will you be the one to explain it to them on Facebook, Github and support?

If a proper collision detection is implemented, the limitation will probably be lifted.

To add to this, here is a pretty common scenario, and how I started googling for how to do this: I have an object with many different parts. Sometimes I don't remember how they fit together, so I want to stack them on top of each other so I can confirm I've put the right pieces in order.

Other times I have scaled objects and want to confirm two parts will fit into each other. I need to put them on top of each other to confirm this.

That is all! I just want to drag an object into the air above another object!

Can't you just remove the code that enforces this auto-drop? I should not have to merge objects, etc - all I want to do is prototype in the 3D space and confirm my objects.

I agree - this might be just an option for advanced users, commented with several big fat reg exclamation marks :-)

Can't you just remove the code that enforces this auto-drop?

We can, that is trivial to do, but:

Let me repeat, that contrary to Cura or S3D, PrusaSlicer slices each object independently and it also builds supports for each object independently, therefore stacking one object below the other may not be a good idea if the supports are enabled. This is a good technical reason why we do not allow lifting the objects up from the print bed.

Once the parts are loaded as parts of a single object, PrusaSlicer slices them as a single piece similarly to how S3D or Cura handles the whole plater. You can move the parts of an object in Z as you wish using both the mouse and object manipulation table. That is the recommended way to do that in PrusaSlicer.

So we can enable lifting the objects (Cura has it off by default, but there is a checkbox in their preferences), however we would have likely to implement some complex error checking and / or possibly we would have to warn the user at each G-code export that some objects are lifted and that one may not be getting what he expects.

Guys you have to understand that PrusaSlicer developers have to protect us from causing harm to yourselves and our printers... we are 5 year old kids that some how manage to not burn our hands of with extruders at 200c+ but we can't read nor deal with advanced settings like @zabak and myself have mentioned months ago.

I get the feeling there is some strong ego person behind the decision to not make this change as easy as a check box "Allow object Z lift".

[bubnikv]

PrusaSlicer 2.3.0-alpha1 newly supports merging multiple objects into a single object by selecting them in the plater and executing "Merge" from the pop-up menu. Once the objects are merged into one, they can be manipulated in Z.

Also PrusaSlicer 2.3.0-alpha1 newly allows printing with empty layers, while one gets a notification and a message box when exporting such a G-code.

Let me repeat, that contrary to Cura or S3D, PrusaSlicer slices each object independently and it also builds supports for each object independently, therefore stacking one object below the other may not be a good idea if the supports are enabled. This is a good technical reason why we do not allow lifting the objects up from the print bed.

Hello bubnikv, I fully understand your reasoning about some of the stacking topics brought up so far.

I have seen a few comments that print quality might improve if more support is printed under an object.
I just ran into an example. I am currently printing the hair for this model.
https://www.thingiverse.com/thing:4582503

It comes in three very fine detailed pieces. I print the hair pieces with the fine hair details upwards. Supports on build plate only.

Unfortunately the part of the hair piece that is closest to the building plate is printed in circles and rather flat which later shows in the end result.
I formerly printed those hair pieces using cura and lifted them 1cm so supports had been added under them.
The result looked better.

But then again I would never switch back to cura ;-)

Best Moong8te

Guys you have to understand that PrusaSlicer developers have to protect us from causing harm to yourselves and our printers... we are 5 year old kids that some how manage to not burn our hands of with extruders at 200c+ but we can't read nor deal with advanced settings like @zabak and myself have mentioned months ago.

I am sure we don't need to protect @carlosjln from anything. But not everybody is so smart as @carlosjln, we need to protect those who are either less smart or understand 3D printing less or they just want to do worry free printing for fun or business.

@moong8te Why don't you enable raft then?

bubnikv Why don't you enable raft then?

You are so right - I just checked and it seems to work like a charm. Thank you!

@bubnikv I might be smart or dumb af, who knows, who cares... but at least I'm a software engineer that drives to provide the best User Experience to my clients and if I ever had a list of people like this asking for a feature you better be sure as hell that feature would be in place already.

The lack of this feature doesn't bother you or your team because you don't do 3D printing that regularly. That's why its not a pain in the ass for you.

For whatever excuse or reason you got to not do this, there's one simple answer: place a big f*king warning sign next to that check box and let the user figure it out...

Same way I can currently set Nozzle diameter to 5mm and prusa slicer wont say shit, so it's up to us (the users) to figure out out printing problems.

@carlosjln

I don't know what user interface you are designing, but

For whatever excuse or reason you got to not do this, there's one simple answer: place a big f*king warning sign next to that check box and let the user figure it out...

A big fucking warning would not be sufficient, because a user will forget very quickly what he did couple of minutes ago. I would forget myself, especially if I am starting my print for fun at 10pm just before falling asleep. We would have to give a big fucking warning at each G-code export, ideally testing everything that may have went wrong due to allowing one to stack one object over the other, which are sliced independently by PrusaSlicer. It is all doable, but it is much more effort than just enabling elevated objects. But with all respect, this is something that you are not willing to admit.

@bubnikv you can ignore my comment about just removing code, I shouldn't have given you a solution, that is the part you are best at :)

I understand your interest in protecting the user (novice, sleepy, etc). Prusa is bringing in many new enthusiasts, and they don't understand the complexities of printing in 3D. The easier we can make this process, the greater the community!

However, we all started there, but now have progressed and understand (more) what we are doing. With the 'Expert' settings area, that's exactly where these more advanced settings should be. As others have mentioned above, you already have a workflow that accommodates both beginner and advanced users. As soon as I switch away from Simple, I understand that my changes could do something damaging.

Please consider this functionality, or from the Product side make a stand that you are prioritizing new users over power users. This way we can understand if we should wait, or try another solution.

You said it is trivial to do it. Are there some simple lines of code we could change that you could point us, who consider advanced users so we can enable this functionality? I have been compiling and trying the source code myselft to test it without worrying to find any issue.

I know there would be people affected by that, you have very good points. But people like freedom. I like Cura because it has a lot of settings, even experimental ( you could add this section and set this option there under advanced to give users a single warning saying "you are using experimental settings, you may find issues in your print" ).

I know you want PrusaSlicer to be user friendly, however you are limiting advanced users, S3D was the best slicer once, but it was left behind for PrusaSlicer and Cura ( and the other slicers less known) because it lacks a lot of advanced features.

@nicw Just out of curiosity, why is it such a problem to merge the objects into one (simple in 2.3.0-alpha1) and then do the thing at the level of parts? I fully understand the reasons why people want to do A, what I don't understand is why it has to be done by B and not by C, when we have reasons not to allow B. The scenarios mentioned by you are both solvable this way and it takes just few extra mouse clicks, so I don't understand the part about limiting power users. Please don't take this as pouring more petrol in the fire, that's not my intention at all. I really just want to understand what is insufficient about this.

Are there some simple lines of code we could change that you could point us

I highly doubt it will be a line of code. Trivial is sometimes relative in contexts like this. You can have a look where get_instance_min_z is called from, but removing just that will certainly break something (first layer determination, variable layer height, wipe tower synchronization, who knows). I don't know how much more is there. Feel absolutely free to find out.

However, we all started there, but now have progressed and understand (more) what we are doing. With the 'Expert' settings area, that's exactly where these more advanced settings should be. As others have mentioned above, you already have a workflow that accommodates both beginner and advanced users. As soon as I switch away from Simple, I understand that my changes could do something damaging.

I am with you.
Since I started in 3D printing in april I work in expert mode, always checking on internet the meaning of the setting I was going to touch. Forums are wide enough to find answers and warning about the consequences of our actions.
Do we have cars that don't start if you don't wear the security belt ? Or that don't move if the lights are not turned on at night hours? It's responsibility of people to do that.
Microwave user's manuals advise not to dry a cat inside of them.
Hair dryers user's manuals advise not to use them inside the shower.

If people break their printers it's the same.

Not even sure how “people might break their printers” is an argument. Other slicers allow it and I dont see forums blowing up with issues relating to that feature.

@CADPAT

Not even sure how “people might break their printers” is an argument

Could you please point me to the place where anyone from Prusa Research used this argument as a reason to not implement this? The reason was explained many times and this is not it.

Other slicers allow it and I dont see forums blowing up with issues relating to that feature.

I'm sorry, but the difference between PrusaSlicer and "other slicers" was explained here many times. Unless you are familiar with our actual reasons, the discussion can hardly lead anywhere. I'm not saying that you must agree with the reasons, but this is going in circles. Please, try to stay on topic and at least read the arguments of the other side.

I'm still waiting for an answer to why the current solution is inadequate and forbids the advanced users from doing anything. I don't see how talking about microwaving cats will help me to see the problem. Thanks.

We will likely implement
1) Collision detection on the plater. We already have the infrastructure in PrusaSlicer for that.
2) Collision of supports from different objects.

Once we have that, we may enable lifting the objects up, because the user will get a meaningful feedback if the print is not printable.

@CADPAT

Not even sure how “people might break their printers” is an argument

Could you please point me to the place where anyone from Prusa Research used this argument as a reason to not implement this? The reason was explained many times and this is not it.

Other slicers allow it and I dont see forums blowing up with issues relating to that feature.

I'm sorry, but the difference between PrusaSlicer and "other slicers" was explained here many times. Unless you are familiar with our actual reasons, the discussion can hardly lead anywhere. I'm not saying that you must agree with the reasons, but this is going in circles. Please, try to stay on topic and at least read the arguments of the other side.

I'm still waiting for an answer to why the current solution is inadequate and forbids the advanced users from doing anything. I don't see how talking about microwaving cats will help me to see the problem. Thanks.

Problem is not only being able to lift is also going down the plate. Somethings me, and I guess other users do it for different reasons. Merging doesn't solve it. I know the alternative is using cut, but still it's not the best approach, it damages the model and then we should reload the file or undo which would be a hassle if there are more than one piece in the buildplate.

Simply by choosing some -z direction, slice, review slicing, changing z again is simple and fast.

@lukasmatena

Could you please point me to the place where anyone from Prusa Research used this argument as a reason to not implement this? The reason was explained many times and this is not it.

I was responding to the people in the thread that were discussing this as an issue?

I'm sorry, but the difference between PrusaSlicer and "other slicers" was explained here many times. Unless you are familiar with our actual reasons, the discussion can hardly lead anywhere. I'm not saying that you must agree with the reasons, but this is going in circles. Please, try to stay on topic and at least read the arguments of the other side.

I'll make it simple. It is a feature I have used and find useful elsewhere, so it is a feature I expect. Yes there are workarounds, but I don't find them intuitive, or they are extra steps that I would rather not have to do because time matters. The reasons Collaborators are providing are things like "You should not need to move the object up in Z." or "Just use [other function] to do what you want". but the very fact we're having the disucssion is proof that the solutions/workarounds are counterintuitive. So what now? I and other people want the feature despite the reasoning you've provided. Yes the conversation is circular but only because more and more people are asking for it and you just keep giving the same reasons that, to be honest, don't help the situation. There are plenty of examples in this thread of situations where people believed that would solve the problem, and didn't instantly find the solution so they posted here. That is an indication that there is some sort of problem.

You think that's stupid? Fine. Close the thread and say you're never going to make it happen. Or make it happen and everyone will shut up. It's not complicated, but until you do one of these two things, the conversation will probably never end so it's kind of silly to complain about circular disucssion.

@MrEdd88 Thanks, that is a scenario that actually makes sense.

@CADPAT

Close the thread and say you're never going to make it happen. Or make it happen

https://github.com/prusa3d/PrusaSlicer/issues/1513#issuecomment-712159946 has already answered that. We will remove the reason why we don't want to make it happen and then make it happen. That's probably all worth saying.

@nicw Just out of curiosity, why is it such a problem to merge the objects into one (simple in 2.3.0-alpha1) and then do the thing at the level of parts? I fully understand the reasons why people want to do A, what I don't understand is why it has to be done by B and not by C, when we have reasons not to allow B. The scenarios mentioned by you are both solvable this way and it takes just few extra mouse clicks, so I don't understand the part about limiting power users. Please don't take this as pouring more petrol in the fire, that's not my intention at all. I really just want to understand what is insufficient about this.

None taken. :) In my scenario (complex 200+ hour print) I am trying to match the size of one part to another, so I need to scale / undo / rescale as I compare one part to another. I tried laying them all on their side, but the parts are irregular, and where the parts need to fit together aren't the same z-height. If I merge them, then I cannot rescale one part to fit the other. I imagine Fusion360 allows me to do this arranging in free-space, but I was trying to avoid such large software for just planning out a 200+ hour print. Maybe I won't be able to.

I fully acknowledge that my scenario isn't something common, except that's the arena of the power user: doing things that don't always come up, and seeking to have the tool that meets that scenario. This is the second time I've done very large prints that have many parts that must fit together, so I am looking to reduce mistakes during the planning phase.

@nicw your scenarios are not uncommon, it's similar to the issues I have with my delta printer. It fails because It uses magnetic arms and they disconnect rather easy, also might have some layer shifts and in both cases I want to do this:

  • abort the print
  • let the extruder cool down, home and jog it down until it touches the printed object to get the current position.
  • then I could reopen the project I saved in prusa slicer, cut the model at the specified height without it dropping to the build plate.
  • generate the gcode and save what would have been a failed print.

Ok so think about this: the main recommended way for sometome to recover from a failed print is to edit the gcode manually.

I know the Mk3 is more or less immune to this, but there's still a lot of Mk2(S) users out there, not to mention the loads of people who prefer the Prusa Slic3r for their non-prusa printers.

I think you are exposing your users to much more potential danger in terms of damage to their printers, etc etc if you keep this restriction, as there's a lot more that can go wrong when you're editing Gcode.

if you simply lift a part off the print bed, as a beginner to intermediate user, you at least understand what you are doing. going ahead and deleting chunks of gcode ... not so much.

so again, put it in edit mode, put all the restrictions and big pop-ups saying "don't do it unless you know what you're doing", but please DO add the option to bypass this restriction. because the alternative is just much worse of an experience in all possible cases.

BTW in PrusaSlicer 2.3.0-alpha1 you can do the following:
https://www.youtube.com/watch?v=NAW2JR-D_QU&feature=youtu.be&t=54m6s

Was this page helpful?
0 / 5 - 0 ratings

Related issues

alexiri picture alexiri  ·  4Comments

ManuGithubSteam picture ManuGithubSteam  ·  4Comments

Tirpitz93 picture Tirpitz93  ·  3Comments

guestisp picture guestisp  ·  3Comments

Bubolz picture Bubolz  ·  3Comments