<p>I have a collection of STL files, each containing a separate moving part of an object I want to print. (Imagine a set of gears, or similar, that prints as a single object with multiple moving parts.)</p>

<p>My plan was to import them all into Cura, then hit print, then take my fully assembled object off the build plate. However, Cura ignores the coordinate system in the STL files and automatically separates the components from each other on the build plate. This is usually helpful, but it isn't what I want in this case.</p>

<p>So I'm looking for a quick and simple way to combine my multiple STL files into a single STL file. I know that the objects don't overlap, so I don't need to do a CSG union operation - it's enough just to concatenate the objects.</p>

<p>I tried OpenSCAD, which works, but it takes a really long time, because the meshes are fairly complex and it does the full Boolean operation. Is there another quick and simple way to perform this task?</p>

<p>I'd prefer a command line utility, but I'd also be happy if there's a quick and simple way to do it in some free graphical software. (However, I don't want to spend time manually positioning the objects - they're already in the right places in the STL files, so I just want to import them and go.)</p>

<p><strong>Edit</strong> I've accepted Trish's answer (use Blender), but I'd still appreciate a command-line option if anyone knows one.</p>

[{'answer_id': 11165, 'author': 'Trish', 'author_id': 8884, 'author_profile': 'https://3dprinting.stackexchange.com/users/8884', 'pm_score': 3, 'selected': True, 'text': '<p>What you try to do is called "Print in Place". However, it is not done by importing several STLs one after another as cura does remove the origin and recenters each imported object upon importing. However, an STL file can contain more than one body.</p>\n\n<p>To generate a PiP model, you need to export your whole project as <strong>one</strong> STL file containing all the parts and then Cura not only doesn\'t rip the model apart, it <em>can\'t</em> do so.</p>\n\n<h2>Workaround</h2>\n\n<p>If you can\'t export the whole project in one piece from your design software, you could use a workaround by importing it into a software that can export as one item. Among these is blender, so importing all the parts into blender and then exporting the whole project as one STL is a simple fix. Other options would be TinkerCAD or Fusion360.</p>\n\n<p>The Step by step guide for blender is simple and the general idea of this workflow is the same for other options:</p>\n\n<ol>\n<li>Open blender</li>\n<li>New project</li>\n<li>delete the cube via <code>entf</code> + <code>enter</code></li>\n<li>Get the files into the workspace via either:<br>\n\n<ul>\n<li>Drag &amp; Drop\n\n<ol>\n<li><code>File &gt; Import &gt; Stl (.stl)</code></li>\n<li>select the file + <code>enter</code></li>\n</ol></li>\n</ul></li>\n<li>Possibly reposition the object, till it is in the right position</li>\n<li>Repeat 4. to 6. till all parts are imported</li>\n<li><code>File &gt; Export &gt; Stl (.stl)</code> + <code>enter</code></li>\n</ol>\n'}, {'answer_id': 11169, 'author': 'R.. GitHub STOP HELPING ICE', 'author_id': 11157, 'author_profile': 'https://3dprinting.stackexchange.com/users/11157', 'pm_score': 3, 'selected': False, 'text': '<p>The operation you want is <em>almost</em> just cat\'ing the files together. However you need to remove the 80 byte header from all but the first, and add up the 32-bit triangle count from each file immediately after that. Output should be:</p>\n\n<ol>\n<li>Copy of first 80 bytes of file 1</li>\n<li>Sum of int32 from offset 80 of each file.</li>\n<li>Bytes 84-end from each file.</li>\n</ol>\n\n<p>See <a href="https://en.m.wikipedia.org/wiki/STL_(file_format)" rel="noreferrer">https://en.m.wikipedia.org/wiki/STL_(file_format)</a></p>\n'}, {'answer_id': 11171, 'author': 'towe', 'author_id': 13171, 'author_profile': 'https://3dprinting.stackexchange.com/users/13171', 'pm_score': 2, 'selected': False, 'text': '<p>Similarly to @R..\'s answer, you can easily concatenate the contents of each file if you have ASCII .stls.</p>\n\n<ol>\n<li>Make sure the .stls are in ASCII format: Open them in any text editor (like Notepad++). If it\'s readable, you\'re fine, proceed to (3)</li>\n<li>If not readable, convert them to ASCII .stl format using a converter tool (<a href="https://www.meshconvert.com/" rel="nofollow noreferrer">like this</a>)</li>\n<li>Open each ASCII .stl file</li>\n<li>Copy together the contents of the files, except for the "solid" and "endsolid" statements where the files meet</li>\n</ol>\n'}, {'answer_id': 11616, 'author': 'Nate E.', 'author_id': 19543, 'author_profile': 'https://3dprinting.stackexchange.com/users/19543', 'pm_score': 1, 'selected': False, 'text': '<p>Import them to Tinkercad and then output your combined file from there. You can go into Tinkercad and on the top right side you will see "import", click that to import your file (you can repeat the process as desired) and it will put the files on the workspace .. on the screen. When you have your workspace all set the way you want select them all the click "export" and it will export all of them to one file for your use. </p>\n'}]
['https://3dprinting.stackexchange.com/questions/11160', 'https://3dprinting.stackexchange.com', 'https://3dprinting.stackexchange.com/users/612/']