Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.
First time visiting? Here are some places to start:- Looking for a certain topic? Check out the categories filter or use Search (upper right).
- Need support? Ask a question to our Community Support category.
- Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
- Be respectful, on topic and if you see a problem, Flag it.
If you would like to contact our Community Manager personally, feel free to send a private message or an email.
Help me extrude a QR Code
patrick_masselink048
Member Posts: 4 ✭
I've been learning OnShape and in general i'm happy, but the apparent simple task of extruding a QR code (for 3D printing) has me banging my head on my desk. Spend about two days of my holidays and i'm about to give up!
I've tried many different ways, importing PNG and DXF but eventually settling on drawing it manually with the help of a 29x29 grid, with 0.001mm spacing between each cell as per this forum post: https://forum.onshape.com/discussion/11942/selection-on-grid-failing
Clearly I don't really understand what a non-manifold body is. In a grid with spacing, i should be able to freely extrude each individual QR 'pixel' right? Each cell being surrounded by spacing cells, how can there be any cells touching, creating a zero space volume? Is this just a bug?
Some issues I encounter with questions:
- For no reason OnShape complains about the non-manifold issue. I cheat by extruding some spacer cells (trial and error), creating islands of pixels, but sooner or later this fails when a specific pattern exists in the QR code. With my current document linked below, i get stuck placing a pixel in cell J13 so not even half way. Whatever I try with the spacer cells is just seems to make it worse.
- If it's not the non-manifold issue, I get an error about the boolean operation resulting in no change or being fully contained or what not. No idea how to fix it, doesn't indicate where the error is? Very unhelpful for newbies like me, when extruding a 29x29 grid with tiny 0.001mm spacer cells....
- When I use 'Add' a big section of the extrusion that shows up fine in the preview, just simply vanishes. With 'New' this doesn't happen. Why?
- OnShape is behaving excruciatingly slow. Selecting, deselecting anything in the grid takes 5-6 seconds to compute. Not workable at all. I started out on on a more complex document with some extruded text, even when suppressing *all* features it's still way too slow to be productive? Is it expected to have to create a new document to work on something simple like a 29x29 linear pattern grid? Normal that suppressing features and hiding sketches doesn't make any difference? It's hard to complain since it's free, but do paid users get any better performance?
- Why is it so incredibly difficult to extrude a simple QR code? Clearly there must be an easier way? That doesn't involve drawing the pixels manually?
The onshape document: https://cad.onshape.com/documents/335daa4d981432a4f689550a/w/c536bbf6b9cf5c70e937ecd2/e/ad6b1776f00a487caccc5392?renderMode=0&uiState=64de4fba4710850dae0cc79f
I've tried many different ways, importing PNG and DXF but eventually settling on drawing it manually with the help of a 29x29 grid, with 0.001mm spacing between each cell as per this forum post: https://forum.onshape.com/discussion/11942/selection-on-grid-failing
Clearly I don't really understand what a non-manifold body is. In a grid with spacing, i should be able to freely extrude each individual QR 'pixel' right? Each cell being surrounded by spacing cells, how can there be any cells touching, creating a zero space volume? Is this just a bug?
Some issues I encounter with questions:
- For no reason OnShape complains about the non-manifold issue. I cheat by extruding some spacer cells (trial and error), creating islands of pixels, but sooner or later this fails when a specific pattern exists in the QR code. With my current document linked below, i get stuck placing a pixel in cell J13 so not even half way. Whatever I try with the spacer cells is just seems to make it worse.
- If it's not the non-manifold issue, I get an error about the boolean operation resulting in no change or being fully contained or what not. No idea how to fix it, doesn't indicate where the error is? Very unhelpful for newbies like me, when extruding a 29x29 grid with tiny 0.001mm spacer cells....
- When I use 'Add' a big section of the extrusion that shows up fine in the preview, just simply vanishes. With 'New' this doesn't happen. Why?
- OnShape is behaving excruciatingly slow. Selecting, deselecting anything in the grid takes 5-6 seconds to compute. Not workable at all. I started out on on a more complex document with some extruded text, even when suppressing *all* features it's still way too slow to be productive? Is it expected to have to create a new document to work on something simple like a 29x29 linear pattern grid? Normal that suppressing features and hiding sketches doesn't make any difference? It's hard to complain since it's free, but do paid users get any better performance?
- Why is it so incredibly difficult to extrude a simple QR code? Clearly there must be an easier way? That doesn't involve drawing the pixels manually?
The onshape document: https://cad.onshape.com/documents/335daa4d981432a4f689550a/w/c536bbf6b9cf5c70e937ecd2/e/ad6b1776f00a487caccc5392?renderMode=0&uiState=64de4fba4710850dae0cc79f
0
Best Answer
-
nick_papageorge073 Member, csevp Posts: 828 PROTake a look at this step by step to see how I did it. One main note is patterning a sketch is very slow compared to patterning a body. I drew one square, extruded it (as a new part), and patterned it to get the grid. That took less than 1 second of processing time compared to the 10 seconds it took for patterning the sketch like in your attempt. Then, union only the squares you want to keep to the main body. Pick the main body first during the union step, so the feature ID of the main body is maintained. Then pick all the squares you want to union. Next, hide the main body (which will also hide the squares you want), and "delete part" the squares you don't want. This will be easy just put a box around everything left on the screen.
If you change your mind which squares to keep, all you have to do is change the selected squares in the union step. There might be a warning on the delete part step, but it will probably still work if you don't fix the warning.
The only issue I ran into (which is probably the same thing you did), is with a 1.5mm pattern spacing, 1.48mm square size worked, but 1.49mm did not work. I think it "should work" if the square size was even 1.499mm. But maybe there is some internal rounding going on when the distances get to the micron level? I don't know...
https://cad.onshape.com/documents/080477327b5c888e48f5871b/v/4eaf2479f13007cc8230ab9f/e/04b52c547016512d492bb69f
1
Answers
If you change your mind which squares to keep, all you have to do is change the selected squares in the union step. There might be a warning on the delete part step, but it will probably still work if you don't fix the warning.
The only issue I ran into (which is probably the same thing you did), is with a 1.5mm pattern spacing, 1.48mm square size worked, but 1.49mm did not work. I think it "should work" if the square size was even 1.499mm. But maybe there is some internal rounding going on when the distances get to the micron level? I don't know...
https://cad.onshape.com/documents/080477327b5c888e48f5871b/v/4eaf2479f13007cc8230ab9f/e/04b52c547016512d492bb69f
Use "Image to Stl" (https://imagetostl.com/convert/file/png/to/dxf) to convert it to a DXF.
Import the DXF.
Create a sketch.
Add the DXF to the sketch.
Extrude the sketch.
Check that nothing is missing.
(I highlighted all the parts, right-clicked and selected Edit Appearance and chose black).
Done!
I just tried it here (https://cad.onshape.com/documents/3b128187eb92f5045963c582/w/8bde6643e504acf19f86481a/e/7f5044eda44e276b51d997ca) and my phone recognizes the QR code.
Use "Image to Stl" (https://imagetostl.com/convert/file/png/to/dxf) to convert it to a DXF.
Import the DXF.
Create a sketch.
Add the DXF to the sketch.
Extrude the sketch.
Check that nothing is missing.
(I highlighted all the parts, right-clicked and selected Edit Appearance and chose black).
Done!
I just tried it here (https://cad.onshape.com/documents/3b128187eb92f5045963c582/w/8bde6643e504acf19f86481a/e/7f5044eda44e276b51d997ca) and my phone recognizes the QR code.
Use "Image to Stl" (https://imagetostl.com/convert/file/png/to/dxf) to convert it to a DXF.
Import the DXF.
Create a sketch.
Add the DXF to the sketch.
Extrude the sketch.
Check that nothing is missing.
(I highlighted all the parts, right-clicked and selected Edit Appearance and chose black).
Done!
I just tried it here (https://cad.onshape.com/documents/3b128187eb92f5045963c582/w/8bde6643e504acf19f86481a/e/7f5044eda44e276b51d997ca) and my phone recognizes the QR code.
I feel like that's something someone would have already done but a quick Google search isn't turning up anything...
@javawizard
I started to a while back... then I read this and decided it was too much work
Creating a QR Code step by step
Learn more about the Gospel of Christ ( Here )
CADSharp - We make custom features and integrated Onshape apps! Learn How to FeatureScript Here 🔴
Use "Image to Stl" (https://imagetostl.com/convert/file/png/to/dxf) to convert it to a DXF.
Import the DXF.
Create a sketch.
Add the DXF to the sketch.
Extrude the sketch.
Check that nothing is missing.
(I highlighted all the parts, right-clicked and selected Edit Appearance and chose black).
Done!
I just tried it here (https://cad.onshape.com/documents/3b128187eb92f5045963c582/w/8bde6643e504acf19f86481a/e/7f5044eda44e276b51d997ca) and my phone recognizes the QR code.
Inkscape:
Onshape: