slic3r / Slic3r

Open Source toolpath generator for 3D printers
https://slic3r.org/
GNU Affero General Public License v3.0
3.33k stars 1.3k forks source link

[feature request] start external perimeters inside objects #2162

Open curiouspl2 opened 10 years ago

curiouspl2 commented 10 years ago

to avoid blobs and pimples and to allow melt chamber pressure buildup, slic3r could start external perimeters inside object for certain lenght (if there is any internal perimeter available ofcourse) and then just move along to external perimeter and form usual loop.

i guess as quick hack it could be implemented as option to print most border internal perimeter before printing external perimeter. (which would result in printing those two first, if 'external perimeters first' is checked) . note that with this option external perimeter would not really 'start' inside object, just the internal perimeter being printed first, and start/stop points overlapping would result in lack of drop in chamber pressure when moving from internal to external and lack of related 'startup blob'.

as bit more complex implementation both start and end of external perimeter could end inside object to prevent both blobbing and stringing being visible, and a bit of combing (moving head above existing extrusion) could be used to prevent stringing even more (to 'wipe' head) this implementation would be much more 'clean' as all artifacts would be hidden inside object and there would be better integration with 'seam position' options.

alranel commented 10 years ago

Actually, the default behavior is to print contours starting from the inner one. This makes the continuous movement you're describing. I don't see how your idea is different from the current default behavior. Can you post a G-code file showing a concrete test case? How's it now vs. how you suggest it to be.

curiouspl2 commented 10 years ago

inner loop perimeter sorry for 'paint quality' illustration this is how it should be. note both start and end points end up inside internal perimeter, so no blobs or stringing visible on surface of model.

alranel commented 10 years ago

Interesting idea. It's not doable in many cases. I think the resulting seam would be even more noticeable than a regular one, but I appreciate the idea. I'll leave this open to collect comments and opinions from the community.

Lenbok commented 10 years ago

I think that seams are mostly visible due to the ends of the seams being too close together resulting in too much plastic. Skeinforge has the clip plugin that controls the amount of gap between the start and end of each perimeter loop (as well as the continuous behaviour described above). For example, the following is some detail from the corner of a test cube printed by skeinforge, where there is no visible seam bump:

image

And here is an equivalent corner from slic3r (ignore the differences in segment colours, tatlin isn't smart about detecting extrusion vs non-extrusion moves). Notice the segments abut much more closely. I couldn't find any slic3r parameter that controls this.

image

curiouspl2 commented 10 years ago

yes, but bump also occurs due to ooze/pressure buildup . try playing with retraction speed to see how evident it may become in both skeinforge and slic3r.

my idea solves this definitelly , also for setups like bowden, exotic extruders (like clay extruder), difficult materials (like nylon/or wet abs), large nozzle diameters, very slow print or movement/acceleration speed rates etc.

also note skeinforge had 'splodge' plugin allowing extra welding of layers by Z movement pressure. with my idea similiar concept could be introduced into slic3r (sometime...) to further improve layer bonding without aesthetic side effects.

lordofhyphens commented 8 years ago

Added to the open PR milestone.

mrvn commented 8 years ago

I thought this feature was rejected due to patent infringement?

lordofhyphens commented 8 years ago

@mrvn right, so it is. Things like this get called up a lot; I'll close this (missed the significance of the reference of #2243)

Lenbok commented 8 years ago

Stop scaremongering. #2243 doesn't provide any reference to the alleged patent, so how can you determine whether this issue or #2243 actually infringes? This issue should not be closed until such time.

lordofhyphens commented 8 years ago

@Lenbok Fine. I've got no interest in working on this myself. If someone wants to take a crack at it I'll at least look at the PR. I still can't see how this does any better w/r/t seams (as there will still be seam leftover from the two perimeters next to each other)

lordofhyphens commented 8 years ago

@Lenbok added the referenced patent in #2243

mrvn commented 8 years ago

The relevant question is: Are you scared of the patent and won't accept a pull request for this?

lordofhyphens commented 8 years ago

@mrvn Depends on how much it resembles said patent. While @alexrj isn't in the US, I am and Slic3r is used in enough places that it would at least turn into a C&D from Stratysys if it gets pushed by them.

While I would review the code, this is something that I would happily leave to @alexrj to make the call on merging. If it came down to me, expect a higher burden of proof on the submitter that it actually does something worthwhile and it isn't going to cause issues.

I know there's an open thread re: that patent on stack exchange's ask patents site as well -- patents.stackexchange.com/questions/4667/3d-printing-seam-concealment-for-3d-models-patent-application-prior-art-re

lordofhyphens commented 8 years ago

regarding the thread, apparently Adrian Bowyer has the commit that's referenced as "prior art". I don't know of a way to get ahold of him at this point, anyone else want to try?

lordofhyphens commented 8 years ago

1037 also seems relevant here. @nophead were you ever able to contact Adrian?

nophead commented 8 years ago

I did email him 24/05/2013 but he didn't reply and I forgot to chase it up.

nophead commented 8 years ago

http://blog.reprap.org/2009/07/build-quality.html

VanessaE commented 8 years ago

Looking forward to seeing this implemented, since Adrian's description clearly predates any of the aforementioned patents.