Slic3r icon indicating copy to clipboard operation
Slic3r copied to clipboard

Wireframe printing (aka Low-Fi Printing)

Open epoxi opened this issue 10 years ago • 25 comments

Well, maybe this it too much for asking, but the idea is brilliant!

This video explains this better --> https://www.youtube.com/watch?v=Ea4V7kb2VsY

More info ---> http://stefaniemueller.org/WirePrint/

Cheers! ePoxi

epoxi avatar Sep 19 '14 03:09 epoxi

This would be fantastic. I have seen a lot of designers charging a lot for wireframe designs of simple objects, so the style is certainly a valuable output. I would certainly use this often, especially for demos of 3D printing because the prints would print much faster.

trbielec avatar Sep 22 '14 19:09 trbielec

Brilliant idea and implementation. And it's quite easy to implement actually...

alranel avatar Sep 23 '14 18:09 alranel

Nice, this could be useful!

kefir- avatar Sep 23 '14 19:09 kefir-

i would definately use this, it would really be awesome. i was also wondering if it would be possible to "fill" with wireframe as well, so that you dont just have a wireframe shell, but you have a "layer" of filaments spaced out.

johnkraczek avatar Sep 24 '14 12:09 johnkraczek

And what about using it for quick support?

kefir- avatar Sep 24 '14 12:09 kefir-

1st try to make it - shitty code written fast and dirty, but works (and does it differently) https://github.com/ramkam/wireframe_3d

ramkam avatar Sep 30 '14 01:09 ramkam

@ramkam that's very good!!! I think that the number of points should be in relation to volume and shape, instead of a mere downsample. If you have a model with a very high density of triangles (say 1M or 2M), the downsample will still be high.

Did you try to print the resulting gcode?

epoxi avatar Sep 30 '14 12:09 epoxi

tried printing it "just like that" ... hum... not so good yet :-) , there's lots of little stuff to do :

  • handle first (brim like, make it stick) and last layers (errors)
  • remove some unecessary moves / take into account the shape of the extruder
  • maybe reorder the moves entirely
  • find the good feedrate, extrusion temp & mark stops to cool down
  • autoguess the downsample to fit target plane and z spacings etc. anyone wants to join in ? maybe we do something that can be added to slic3r (if someone can help me ramp up on how it's done in slicer ...) ?

ramkam avatar Sep 30 '14 18:09 ramkam

Hey how is this coming? are there any things that i might help with?

johnkraczek avatar Oct 13 '14 17:10 johnkraczek

@kefir- and @kraczekj, usage of this for support or infill raises complicated issues about collision of extruder with non-wireframe printed parts...

alranel avatar Oct 14 '14 22:10 alranel

@kraczekj i havent worked much on it since then, i wonder if there are 3d geometry libraries that i can use ? Will dive again into it next week. @alexrj agreed, it would lead to much more perimeter starts/stop blobs if used as infill or support

ramkam avatar Oct 15 '14 04:10 ramkam

Note that a paper describing the WirePrint implementation is now available http://www.stefaniemueller.org//wp-content/themes/f8-lite/images/wireprint/2014-uist-mueller-wireprint.pdf (although the reference implementation itself is not published, to my knowledge). The web page linked above has also been updated with video and slides from the UIST presentation.

anoved avatar Oct 25 '14 18:10 anoved

We cant close both of these (https://github.com/alexrj/Slic3r/issues/3048) because they're duplicates of each other. The other was closed because it is a duplicate, but this would be a very good option/addition.

nicksears avatar May 26 '16 04:05 nicksears

Agreed. Though, the underlying topic could be to have an "easy" to use lib to implement homebrewed slicers. Kinda like opencv does for ... Cv. Just throwing ideas (yeah ok, i think it's worth it)

ramkam avatar May 26 '16 04:05 ramkam

@Nicksears yeah I wouldn't close this for dupe, but I would close dupes of this :)

@Ramkam I would probably start by examining the perimeter code. It would seem like a natural place to start, tracing the edges of the triangles of the mesh.

lordofhyphens avatar May 26 '16 06:05 lordofhyphens

We received a proposal from a GSoC student for this project.

lordofhyphens avatar Apr 03 '17 23:04 lordofhyphens

usage of this for support or infill raises complicated issues about collision of extruder with non-wireframe printed parts...

It really doesn't seem like that should be particularly challenging.

NateTG avatar Apr 04 '17 13:04 NateTG

This was my initial attempt at it: https://github.com/alexrj/Slic3r/blob/wireframe/utils/wireframe.pl

alranel avatar May 05 '17 20:05 alranel

@curieos

lordofhyphens avatar Sep 27 '17 00:09 lordofhyphens

is this wireframe feature abandoned?

croisez avatar Jan 04 '18 19:01 croisez

@croisez I still have interest in working on the feature, it will probably get less of my attention when I do get back to work though.

curieos avatar Jan 04 '18 20:01 curieos

@alranel is this still open will like to work on it, for gsoc 2022

css911 avatar Dec 05 '21 07:12 css911

If you want to work on it, to be able to be reused in the all-c++ codebase, I advise to work on the c++ side of the thing. Imo, it's maybe possible to integrate an option next to the "spiral vase" (same kind of thing) that, as the spiral vase, force many settings to a certain value (no infill, etc). Then, in the slicing process, instead of doing the normal perimetergenerator, it switches to your new class & method for creating the 3D paths.

If you get the merill_merge branch, you have at your disposal 3DPath objects that you can add into the ExtrusionEntityCollection. If you add the collection to the object's 'perimeter' one, it will be printed by the gcode part of the slicer. Set "no_sort" in the collection if the order of the paths is important (that tag only pally for the current collection, not the one sorted inside, so tag each collection that shouln't be shuffled at gcode creation).

supermerill avatar Dec 06 '21 10:12 supermerill

Hi @supermerill thanks for the reply, will checkout the merill_merge branch. one query I had apart from Freenode is there any other communication forum that our org utilizes?

css911 avatar Dec 06 '21 18:12 css911

I have a discord, for the branch: 4TVUG4VRzP

supermerill avatar Dec 06 '21 19:12 supermerill