A4
0 x 0 x 0 cm
Propulsed by s1pierro
Powered by Three.js | jQuery

Load a ready to print example

Load a wavefront example

Upload a wavefront

supported files : Wavefront (.obj). Triangulated faces are required. Edges are not alowed to be shared by more than 2 triangles


Global settings

Object size (cm)
X 0 , Y 0 , Z 0

Pattern edit mode :

How to proceed

There's only one way to do it all:

  • Create a pattern.
  • Extend a pattern.
  • Merge patterns.
  • Splitting patterns.

Hit successively two joined triangles.

When two joined triangles are struck successively, the edge they share is called frozen. if it already is, it will be unfrozen.

internal work :

  • global (user step)

    Frozen edges are the main components of patterns. They connect the triangles you want to assemble to create one. From what Papier does its work, it first calculates the coordinates of each triangles in order to move them in a same plane. then he assembles the patterns, looking for frozen edges connected by triangles. Edges that are adjacent to triangles belonging to a pattern but that are not frozen can now be considered as pattern borders. From these data, it is now possible to represent the borders of flattened patterns in the form of a chain of ordered nodes.

  • Step by step internal work :

    Before processing did after an edge freeze attempt, the rebuilding of every pattern, a copy of patterns is done. to restore app state if freeze attempt fails.

    • Flatten triangles

      Flatten the triangles. The reason Papier exists! This single step could be sufficient to perform 3D printing from a desktop printer. This step also complicates things a little, code side. A "Wavefront", like most meshes, first describe the vertices of a 3d model, then the triangles are described using these vertices. But to be properly flattened, triangles must now store their own vertex coordinates. meaning is that a mesh summit could be representated by several flatened triangles summits. These vertices will then store the identifier (actually the index) of the vertex of the mesh to which they correspond.

    • Flatten triangles


About Papier

Papier is a webapp to perform 3d print from desktop printer. It is a rewritting of my old eMesh desktop application (SDL, openGL2, C++)

touch devices are not fully supported yet, they will be soon

Goals :

  • Provide an enought advanced paper-crafting tool to be used as an alternative prototyping tool ( as paperAce does ).
  • Be as simple as possible to use.

Non-goals :

  • texturing.
  • mesh editing.

State

FreakPOC - [Reasonably Secure Proof Of Concept.] - Release Candidate

where reasonably means that, if only a few mesh requirements are met, the model can be safely flattened.

Standards and technologies :

  • Javascript
  • WebGL ( throught three.js )
  • SVG
  • HTML
  • CSS

Third party code libraries :

  • Three.js
  • Hammer.js ( comming soon to provide touch devices compatibility )
  • jQuery

Todo :

  • automate patterns final layout.
  • clean, beautify and clarify code design.
  • obtain funding to continue.
  • make it able to generate autoclave tabs.
  • make it able to generate assembly marks.
  • make it able to generate laser-cut compatible documents.
  • automate pattern selection.
  • enrich configuration options.

Done:

  • full mobile devices support.
  • application layout.
  • loading 3D user models.
  • manual pattern editing.
  • added an alternative pattern editing mode (fast way).
  • pattern flattening.
  • scaling capability.

Authors

  • Thomas Saint Pierre - Initial work | code engineering | s1pierro
  • Gabriel Garcia - Brand identity | ggabogarcia

If you got interset in such kind of app and want more or if you want to contribute, feel free to contact me : s1pierro@protonmail.com

banner

PAPIER 0.5.2
Copyright (C) 2018 Saint Pierre Thomas - Gabriel Garcia
Code is licenced under the termes of the GNU GPL v3
Graphic contents are licenced under the termes of CC BY 4.0