prusa3d / PrusaSlicer

G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)
https://www.prusa3d.com/prusaslicer/
GNU Affero General Public License v3.0
7.63k stars 1.92k forks source link

Add object serial number/revision when sliced #4023

Open bcwadell opened 4 years ago

bcwadell commented 4 years ago

Version

2.2.0 2.2.0+win64

Operating system type + version

Microsoft Windows 10 Home 10.0.18363 Build 18363

3D printer brand / version + firmware version (if known)

Prusa i3 mk3s fw 3.8.1-2869

Behavior

The idea is to add a feature which embeds a text code into the print to assist with material, copy, and revision identification by end users.

When printing PPE and other iterative/repetitive prints it is helpful to be able to track copies and their settings. For example, it is helpful to add a material code ("PLA", "PETG") to help those doing cleaning. This can be added in the CAD but the file could be printed with the wrong material code still.

When changing CAD files to iterate on design features it would help to be able to clearly track the sequence of versions. While I can closely examine a design iteration and identify the specific changes it is difficult for an end user to describe to me which version they have.

End users may wish to keep copies of the PPE object separated. Embedding serial numbers would enable storage and reuse since users can then see if the PPE they are holding is the actual copy that belongs to them. Embedding serial numbers also enables tracking throughout cleaning process.

This feature can also be seen to be useful in other scenarios where iterations and many copies are involved. For example, when testing material properties of many copies. For example, when testing different infill types or shells. For example, when fit testing by printing multiple scaled versions.

desired behavior (for example):

Is this a new feature request? Yes

Project File (.3MF) where problem occurs

n/a

JeremyMahieu commented 4 years ago

Wouldn't that mean you'd have to reslice each time to bump the serial number? Semi-mass production just reuses the same gcode over and over again.

bcwadell commented 4 years ago

Yes and no. The feature request/idea has two parts to it. The revision bump can be done at the time it is sliced and would be the same for all copies printed. The serial number bump, as you point out, would have to happen after slicing.
I can imagine how the second one (SN) might be done but I’m not an expert in limitations of g-code and whether it’s possible. During slicing I would insert a g-code tag indicating the location, size, orientation of the SN label area. Then in the g-code I would have a SN macro that tracks and bumps the SN which is triggered to insert the necessary g-code for the numbering at print time. I think that may mean non-volatile storage access is needed.

SPNRmfg commented 2 years ago

Could really use this feature, great request, well done.

westranm commented 1 year ago

I print structural parts for my customers and would like traceability on the part itself back to the file I used to print it from Octroprint. I loosely do this by order number being placed into Octoprint file name, but it would be awesome if I could have a tool to place a serial number onto the print itself as requested by the closed feature requests (#6388, #6512, #6934) attached to this feature request (#4023). Using some kind of serial number tool, be able to place the serial # at minimum, on the bottom face of the object. Better, would be to allow an addition to any surface of the object, allowing option for either raised/depressed (emboss/deboss effects) text, depth of text, and dimension constraints.