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.
How can I simply create a repeating pattern?
kyle_miller
Member Posts: 5 ✭
Hello all,
I've been working for the last few days, pulling my hair out, trying to create a simple repeating pattern that I can place into some open slats in a grill I'm creating.
I tried the linear pattern, but it gives no indication of alignment. What I mean is that it doesn't specify any snap lines or points, nor does it indicate your current angle relative to the piece you're repeating. As such, things end up out of line, and I have to go in point by point to snap everything together. This is not only tedious, but often times will cause lines to start splaying off in all directions or red lines to consume the sketch.
With the linear pattern function incapable of producing the effect I want, I also found a link in the forums to a Feature Script called Fill pattern. While it seemed like the right tool for the job, I cannot get it to work for the life of me. Not sure if my pattern is too complex or what, but a 0.01" change in the distance either creates too many instances (>2,000) or less than 2. Either way, I cannot seem to make it repeat my pattern.
As such, I have taken to copy-pasting the pattern, aligning everything, defining everything, and it is not only excruciatingly tedious in nature, but is also pushing my CPU up around 40% @ 4.38GHz, so every line I tweak takes 4 to 5 seconds to load, and when you're talking thousands and thousands of lines....
Therefore, I once again must return to the brain trust to see if someone out there in OnShape land knows of a way to repeat a pattern quickly & accurately, or alternatively how to group sketch entities so that it is not so computationally abusive to copy and paste.
To give you an idea of what I'm trying to do, here are a couple of images.
Grill w/ open slats (no pattern filling them).
The insane number of definitions.
The pattern close up.
Finally, the extruded end product...with a long...long...long way to go.
Thanks,
Kyle
I've been working for the last few days, pulling my hair out, trying to create a simple repeating pattern that I can place into some open slats in a grill I'm creating.
I tried the linear pattern, but it gives no indication of alignment. What I mean is that it doesn't specify any snap lines or points, nor does it indicate your current angle relative to the piece you're repeating. As such, things end up out of line, and I have to go in point by point to snap everything together. This is not only tedious, but often times will cause lines to start splaying off in all directions or red lines to consume the sketch.
With the linear pattern function incapable of producing the effect I want, I also found a link in the forums to a Feature Script called Fill pattern. While it seemed like the right tool for the job, I cannot get it to work for the life of me. Not sure if my pattern is too complex or what, but a 0.01" change in the distance either creates too many instances (>2,000) or less than 2. Either way, I cannot seem to make it repeat my pattern.
As such, I have taken to copy-pasting the pattern, aligning everything, defining everything, and it is not only excruciatingly tedious in nature, but is also pushing my CPU up around 40% @ 4.38GHz, so every line I tweak takes 4 to 5 seconds to load, and when you're talking thousands and thousands of lines....
Therefore, I once again must return to the brain trust to see if someone out there in OnShape land knows of a way to repeat a pattern quickly & accurately, or alternatively how to group sketch entities so that it is not so computationally abusive to copy and paste.
To give you an idea of what I'm trying to do, here are a couple of images.
Grill w/ open slats (no pattern filling them).
The insane number of definitions.
The pattern close up.
Finally, the extruded end product...with a long...long...long way to go.
Thanks,
Kyle
0
Best Answers
-
konstantin_shiriazdanov Member Posts: 1,221 ✭✭✭✭✭hi, try this approach - less sketching, more high level operations
https://cad.onshape.com/documents/f10204aa10d2bbfffb901440/w/2b4f74ba225afb77672c06aa/e/807059c9e67a066915005c1c
create several patterns like this as separate parts and then union or sutract it with your main shape. the advantage is that you may have one simple sketch with only 6 lines in it per one "ray" and it will work in wide range of parameters. you can even try to parametrize it to refference one sketch for all the rays
6 -
mahir Member, Developers Posts: 1,309 ✭✭✭✭✭As @konstantin_shiriazdanov suggested, try utilizing booleans along with linear and circular part patterns. Here's an example similar to your design.
https://cad.onshape.com/documents/57acdfaae4b005c413ed9b6f/w/3fd585a46d3af1b3ba413c53/e/87b3fb5a4cc4836d6b5384d0
6 -
kyle_miller Member Posts: 5 ✭Hey guys,
Just wanted to say thanks for the help. I downloaded both files and tinkered around with the features and settings to try to figure out exactly how you did what you did. In both cases the path to victory utilized a whole host of features I never knew existed. As such, I'm going to have to go in again and see if I can replicate what you did. My CAD skills a paltry, so it will probably take me a while, but I really appreciate all the help, files, and most importantly proof that it actually is possible. Now all I have to do is make it happen.
Much appreciated once again,
Kyle
3
Answers
https://cad.onshape.com/documents/f10204aa10d2bbfffb901440/w/2b4f74ba225afb77672c06aa/e/807059c9e67a066915005c1c
create several patterns like this as separate parts and then union or sutract it with your main shape. the advantage is that you may have one simple sketch with only 6 lines in it per one "ray" and it will work in wide range of parameters. you can even try to parametrize it to refference one sketch for all the rays
https://cad.onshape.com/documents/57acdfaae4b005c413ed9b6f/w/3fd585a46d3af1b3ba413c53/e/87b3fb5a4cc4836d6b5384d0
Interesting problem and great solutions guys.
Another point if I may. Please don't be hesitant to ask for help if you're struggling. Give it a go first, but in general if it's taking you more than 10 minutes to build reference geometry then there is almost certainly an easier way. Lots of helpful folks here who have probably gone through what you're banging your head against and are willing to jump in and help.
Oh and as ever a link to the document is always helpful.
Cheers,
Owen S.
HWM-Water Ltd
A quick tip that you can use to help see problem areas in your model is the "show regeneration time" tool. This excellent tool shows you what features take the longest to regenerate. This allows to you isolate the computationally stressful feature so you can plan for a better design approach.
Here is the link to our help documentation for the show regeneration time(s)
https://cad.onshape.com/help/#feature_list.htm?Highlight=time
konstantin_shiriazdanov
mahir
owen_sparks and the rest of the Onshape community is here to help make you successful! Please reach out to us any time you need assistance.
Just wanted to say thanks for the help. I downloaded both files and tinkered around with the features and settings to try to figure out exactly how you did what you did. In both cases the path to victory utilized a whole host of features I never knew existed. As such, I'm going to have to go in again and see if I can replicate what you did. My CAD skills a paltry, so it will probably take me a while, but I really appreciate all the help, files, and most importantly proof that it actually is possible. Now all I have to do is make it happen.
Much appreciated once again,
Kyle