Open GravityEcho opened 6 years ago
Preventing collisions is a bit harder of a problem than just arranging the objects in a certain order, once you consider features like crash detection & filament runout:
If crash detection is triggered, the extruder auto-homes. The extruder heads to 0 on the X axis, then heads to 0 on the Y axis (because it's auto homing). Printing in the order above would crash the extruder into already completed prints in the process.
Then the extruder heads back to where it was. (I had an experience where the nozzle, as it was heading back crashed into an already completed 10mm-high print, ruining it, the position of one of the Z-axis rods, and the heater body too.. and it triggered crash detection again. That was the last time I used this feature.)
At least on the MK3, the extruder also goes to a different corner if the filament runout sensor is triggered, or the user pauses the print.
All those thorny problems aside, it's possible for an algorithm to check if a collision with the extruder is possible by drawing a 2D line from the 3 corners and seeing if it intersects with any corner of the bounding boxes of any already-completed print (plus a margin equal to the extruder's body size). As long as the parts aren't taller than the distance between the X-axis guide rod and the nozzle, collisions with the gantry aren't possible.
Simply completing the objects from the front of the build plate to the back would help prevent collisions with the extruder cable.
@mjsadaway, could you please explain how and why that would prevent collisions, i.e. collisions caused by filament runout detection, and what you mean by extruder cable?
It wouldn't prevent collisions caused by filament runout or crash detection, both of which cause the MK3 to auto home. It should help in the case where completed parts near the back of the build plate are knocked over by the large bundle of wires sticking out the back of the extruder.
Yes, it would be nice to solve the problem in every case, but I would be happy if I could rely on the "complete individual objects" function most of the time, when the filament didn't run out and a crash didn't occur.
I think giving uses control about the print order (see #1338) would at least allow one to manually handle complicated use-cases.
My use-case would be printing multiple copies of the same object in different colors using an MMU. The printer should complete one object in one color, then do a tool change, then print a manual wipe object before starting to print the next object with the new tool. This would be possible to achieve if I could manually set the print order of the objects (in particular printing the wipe object before the actual object).
The upcoming PrusaSlicer 2.2.0-alpha4 will print sequentially in the order displayed at the object list. Also the object list will support drag & drop to reorder.
I'm doing nintendo yoshis and i wanted to print 4 sets of shoes different color, the height es about .8 cm so the support rod is not an issue.
seems like its ready to print. but i see no wipe tower.
I would expect for the first layer to be the color transition. I might just try it . I'm doing the soles right now.
Is this 'complete individual objects' feature considered for MMU ?
it would vastly reduce filament swap from 30+ to 4
does anyone if something like this is on the roadmap ?
or is it possible ?
Wipe tower is not supported for sequential print.
pá 6. 3. 2020 v 22:41 odesílatel Luis Manuel Suarez < notifications@github.com> napsal:
I'm doing nintendo yoshis and i wanted to print 4 sets of shoes different color, the height es about .8 cm so the support rod is not an issue. seems like its ready to print. but i see no wipe tower. I would expect for the first layer to be the color transition. I might just try it . I'm doing the soles right now. Is this 'complete individual objects' feature considered for MMU ? it would vastly reduce filament swap from 30+ to 4 does anyone if something like this is on the roadmap ? or is it possible ? [image: image] https://user-images.githubusercontent.com/12954857/76124630-bdbf1e80-5fc0-11ea-9e4b-74026cb35662.png
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/prusa3d/PrusaSlicer/issues/1052?email_source=notifications&email_token=ABMPSIYOLFOPCUN24RT3I2TRGFUYHA5CNFSM4FJ4QOJKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEOC6HCA#issuecomment-595977096, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMPSI7JRZQZHS3EQLVSWCLRGFUYHANCNFSM4FJ4QOJA .
Hi,
I was posting a short pseudo algorithm to improve the automatic arrange in the linked issue above.
I was rethinking about it and like to share the my idea in some diagrams. I am sure that others had similar ideas before me, I'm not well informed about that - feel free to participate.
In my opinion there are absolut basic operations we need to support anyway. This basic idea should be easy to implement and would help for a lot of use cases already.
Basic Idea:
First of all, all we need is the x and y distance (Xd,Yd) from the nozzle tip to the front left corner of the extruder. There is no need for a radius or clearance height at all.
The following diagram shows a cartesian printer from the top. All we need to know is the red rectangle, or more specific the xy-distance from the nozzle tip to the front left corner and the object x-y-dimensions.
This enables us to make some easy calculations for a collision free sequential printing. In addtion the the xy-distance we need the maximum x-y-printing area of each object to print. That should be well known already, because the normal arrangement algorithm is doing very well here.
So for printing in x+y+ -direction:
Print in x+ and y+ direction
If this is working, it's a real improvement to the current (not working) state.
In a next step, further optimizations can be implemented. For example, sorting by x,y object size, more detailed modelling the xyz clearance of extruder/x-axes or object height. Things how to use the space of the heater bed more efficiently. I have also some ideas, maybe I add that later on.
Conclusion:
What are you thinking about it? Any hints, where is the place to implementing this - or someone who like to try that?
With best regards, freakyDude
Version
1.40.1 beta win64
Operating system type + version
Windows 10 64bit
Behavior
Complete individual objects requires objects to be added from file (not using increase copies) and manual arranging for proper sequential printing without collisions (CR-10)
What I would like "Increase Copies" and "Arrange" to do is more like the following: In this image I added each part by dragging and dropping the file into Slic3r 4 times and then manually arranging those objects on the build plate (a snap feature would be helpful, forgive me if I am unaware of it) to make it print top left, top right, then bottom left and finally bottom right. I have a print running with 9 of these using this method and it is working. Which is excellent, I love Slic3r its the best!
Is this a new feature request? Yes Please add more options for the "arrange" feature such as: align along X axis then Y (Arrange along X until out of room then down Y and along X again) align along Y axis then X (Arrange along Y until out of room then across X and along Y again) And/Or allow user to control the order in which the objects are printed/arranged.
Thank you so much for this wonderful software!