Welcome to the Onshape forum! Ask questions and join in the discussions about everything Onshape.

First time visiting? Here are some places to start:
  1. Looking for a certain topic? Check out the categories filter or use Search (upper right).
  2. Need support? Ask a question to our Community Support category.
  3. Please submit support tickets for bugs but you can request improvements in the Product Feedback category.
  4. 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.

Options

Looking for general best practice suggestions as I improve my skills

dave_sartorydave_sartory Member Posts: 20 EDU
edited January 2023 in Community Support
Hey folks -
I realize this is a big question, but I'm thinking that maybe crowdsourcing will help me out.  I'm a high school teacher (computer science/programming) with no real CAD experience--a hobbyist who thinks it's cool and that kids will like it. I use OnShape in my classroom to let students explore and in my free time I try to get better at it myself because I find it utterly amazing.

I know I'm probably violating all kinds of best practices, but without a mentor I really don't know where I go off the rails.  I've recently created a project that attempts to use a few of the tricks I'm getting better at with in hopes of making smarter design.  This project is a card holder for board games... basically a rack with movable dividers -- nothing special.  I have 3 printers in my lab that have different limits, and a couple games I'm using for card sizes, so I've attempted to do smart things with variables to let OnShape do the rest.

If any of you simply enjoy sharing knowledge, would you care to take a look at this project and say, "holy crap, Dave... you could have done this SO much easier/better/faster/cleaner" etc?  I still fall into the "just create another layer and extrude" trap but until I hit walls I really don't have a compelling reason to question myself.

https://cad.onshape.com/documents/bcd4fa9a0ccc1d660e57e931/w/b3000b81ade7b54e786a2a8b/e/7d58e2d5b7afbf9a60552606?renderMode=0&uiState=63beefd58748d41b527184f6

Anyone care to chime in with suggestions?  You don't have to explain your ideas fully, but even sending me in a general direction with a couple of keywords or concepts would be amazing.

Thank you all in advance!

Dave



Answers

  • Options
    Matt_ShieldsMatt_Shields Member Posts: 209 PRO
    holy crap, Dave... this is a great design.  

    I just went through your design step by step and you've already got some awesome best practices in place, such as: folders, variables, multi-part Part Studios.

    For boxes like this, I might use Shell, rather than two extrudes, but potato potahto.  And more of a printing and less of a design note: the box is 15 in^3.  Maybe go down to 3 mm or 2.5 mm wall thickness.  And slant the entire back of the box, not just the inside surface.
  • Options
    eric_pestyeric_pesty Member Posts: 1,504 PRO
    That's a nice looking model.

    Just a few thoughts:
    - The "back ramp" can be achieved using a "move face" or a "draft" feature more easily than extruding the "wedge" shape.
    - The "end cuts" sketch wasn't fully constrained and likely to move around and break when changing things.
    - I noticed a few other things that weren't fully constrained (like the sketch for the divider bottom where the top edge could move around), that's a pretty good "best practice" item: things should be fully constrained with very few exceptions...
    - Re-ordering the features to have the "card slots" after the end cuts means the "top edge fillet" can seamlessly go over the end cuts
    - General best practice is to avoid using a fillet edge as a reference. Like for the slot sketch: using a plane for the angle ref is a lot more stable when doing subsequent editing, (like moving fillets around...)
    - Maybe a bit more of a personal preference but I would only have modeled 1/2 of the whole thing and mirrored at the end along the front plane.

    Sharp inside corners bother me a bit because I'm more used to injection molding than but totally fine for 3D printing so just a matter of style but I would add a small fillet to the inside corners to avoid the sharp and filleted edges meeting at the top corners, and to make the inside and outside walls parallel around the corner. This may require adding a couple of ribs for cards to sit properly at the back so that would be a reason not to do it... At that point the back doesn't even need to be angled (just the ribs), see "Ribs only back ramp?" configuration.

    Here's a slightly tweaked model with some of the comments above incorporated:
    https://cad.onshape.com/documents/0a97440904b076cf83efeb7a/w/54d2759870ff3e7fc07f28a8/e/b6bbf457b2ed4acc15d4826c
  • Options
    dave_sartorydave_sartory Member Posts: 20 EDU
    holy crap, Dave... this is a great design.  

    I just went through your design step by step and you've already got some awesome best practices in place, such as: folders, variables, multi-part Part Studios.

    For boxes like this, I might use Shell, rather than two extrudes, but potato potahto.  And more of a printing and less of a design note: the box is 15 in^3.  Maybe go down to 3 mm or 2.5 mm wall thickness.  And slant the entire back of the box, not just the inside surface.
    Hey Matt - Funny, I was thinking about some training video I did in OnShape that showed shell and I totally forgot about it.  Every time I double extrude like that I question it.  As I watch my prints fail, curling up at the corners I like your idea of thinning it out.. it's perfectly strong at this point although I still need enough thickness to slot in the dividers.  Slanting the whole box would save some space and would also make these things nest well if I also slanted the front. 

    Thanks so much for taking the time.  I appreciate it!
    Dave

  • Options
    nick_papageorge073nick_papageorge073 Member, csevp Posts: 666 PRO
    edited January 2023
    I also come from an injection molding background where wall thickness is king. For 3D printing, its also useful as mentioned to keep printing times low. I didn't click on your link yet (will later), but wanted to mention you could reduce the wall thickness to about 2.5mm (which is a great number for injection molding), and have small ribs protruding on the inside to guide your card holders. They could go all the way to the bottom, so there would not need to be any support material.

    Agree with others, make a box, draft the sides as needed, round the bottom as needed, then shell the whole thing. This way you ensure consistent wall thickness. Although not need for 3D printing, that will save material and make your parts look proportional and pretty.

    The round on the bottom I go back and forth on for 3d printed parts. Its not as crisp an edge (at least on my printer) as a flat bottom. See what looks better on your printer and go with that.

    *Edit, I take back the rib idea. It would cause bumps for the cards when they slide.
  • Options
    nick_papageorge073nick_papageorge073 Member, csevp Posts: 666 PRO
    Think about the order of operations for the rounds. The way you did it is more for woodworking. For plastic, like this generally looks better. It takes a few more round features to accomplish however.


  • Options
    dave_sartorydave_sartory Member Posts: 20 EDU
    - The "back ramp" can be achieved using a "move face" or a "draft" feature more easily than extruding the "wedge" shape.
    - The "end cuts" sketch wasn't fully constrained and likely to move around and break when changing things.
    - I noticed a few other things that weren't fully constrained (like the sketch for the divider bottom where the top edge could move around), that's a pretty good "best practice" item: things should be fully constrained with very few exceptions...
    - Re-ordering the features to have the "card slots" after the end cuts means the "top edge fillet" can seamlessly go over the end cuts
    - General best practice is to avoid using a fillet edge as a reference. Like for the slot sketch: using a plane for the angle ref is a lot more stable when doing subsequent editing, (like moving fillets around...)
    - Maybe a bit more of a personal preference but I would only have modeled 1/2 of the whole thing and mirrored at the end along the front plane.

    Sharp inside corners bother me a bit because I'm more used to injection molding than but totally fine for 3D printing so just a matter of style but I would add a small fillet to the inside corners to avoid the sharp and filleted edges meeting at the top corners, and to make the inside and outside walls parallel around the corner. This may require adding a couple of ribs for cards to sit properly at the back so that would be a reason not to do it... At that point the back doesn't even need to be angled (just the ribs), see "Ribs only back ramp?" configuration.

    Here's a slightly tweaked model with some of the comments above incorporated:
    https://cad.onshape.com/documents/0a97440904b076cf83efeb7a/w/54d2759870ff3e7fc07f28a8/e/b6bbf457b2ed4acc15d4826c
    Hey Eric -
    Thank you so much for all of this including the document changes. The thought of using ribs on the back hadn't even crossed my mind.  Regarding constraining I really appreciate the tips.  Funny you mentioned not using fillet edges for reference because I kept having to change those as I tweaked designs and broke constraints. That's good advice.

    I have SO much trouble with modeling half of something and mirroring it... it's a mental block I have to get over, but I know it would save me a lot of trouble in the long run.

    Love the fillet advice as well... I know by the time I reach fillets and chamfers, I switch to eyeball mode and basically just push buttons and hope things look the way I like... I hadn't thought of the fact that the order of operations would make that smoother.

    I also love the configuration checkbox... I've only done a couple of configuration tutorials and one set of screws for robotics projects that changed length and color, but I had no idea a checkbox could be added up into the area above the feature list.  That could be awesome for some of my little binary tweaks.

    A couple questions if you're willing to follow up a bit, but truly no big deal if not (I appreciate what you did already):
    • You mentioned ribs but you're using that term generically, not the OS "Rib" tool, correct?  Any opinions on that?
    • Could you explain what you mean by "to make the inside and outside walls parallel around the corner"?  Are you referring to vertically parallel as opposed to angling the wall itself?
    • I find the "move face" tool amazing but am fighting feeling like it's some kind of cheat or weird way to get a shape.  Am I wrong on that?  I'm not even sure what I'm trying to say but it's not coming out right... is Move Face the equivalent of "I can't figure out how to model this so I made something basic and tweaked it?"  Or is "it makes perfect sense and is more efficient and easy to think of the more primitive shape and tweak one part to be what I want."  If I'm coming off like an idiot feel free to ignore this one :)
    Thanks again - I'm going to spend some time playing around with changes and your document.  I really appreciate it!

    Dave

  • Options
    dave_sartorydave_sartory Member Posts: 20 EDU
    I also come from an injection molding background where wall thickness is king. For 3D printing, its also useful as mentioned to keep printing times low. I didn't click on your link yet (will later), but wanted to mention you could reduce the wall thickness to about 2.5mm (which is a great number for injection molding), and have small ribs protruding on the inside to guide your card holders. They could go all the way to the bottom, so there would not need to be any support material.

    Agree with others, make a box, draft the sides as needed, round the bottom as needed, then shell the whole thing. This way you ensure consistent wall thickness. Although not need for 3D printing, that will save material and make your parts look proportional and pretty.

    The round on the bottom I go back and forth on for 3d printed parts. Its not as crisp an edge (at least on my printer) as a flat bottom. See what looks better on your printer and go with that.

    *Edit, I take back the rib idea. It would cause bumps for the cards when they slide.
    Hi Nick -

    Thank you for taking the time to help and especially for articulating what I couldn't quite wrap my head around regarding shell... I forgot that it would handle all the different changes on it's own regarding thickness around corners and drafts.... that makes perfect sense and the inside corners relative to the outside fillets were getting to me but I couldn't figure out why.

    When you mention the "round on the bottom" are you referring to the round exterior corners or something different?

    Cheers,
    Dave
  • Options
    nick_papageorge073nick_papageorge073 Member, csevp Posts: 666 PRO
    I'm looking at your model now and a few things you did really well, that a lot of beginners don't do. You modeled on the origin. This allows you to use the 3 default planes for symmetry purposes later, saving you time. On your first sketch, you dimensioned what was important for the design. In your case, the inside of the box for the width, which is determined by the card size, and the outside of the box for the length, which was a factor for your max printer size. Those were part of your design intent, and you built them into the model. Also as mentioned above, naming your features goes a long way to helping organize your model.
  • Options
    nick_papageorge073nick_papageorge073 Member, csevp Posts: 666 PRO
    edited January 2023
    @dave_sartory  When you mention the "round on the bottom" are you referring to the round exterior corners or something different?

    Yes, you extrude a "block" first. Then you add draft. Then you add the rounds to the 4 vertical sides and then a round on the bottom. (sometimes the 4 vertical sides are a slightly smaller value radius than the  bottom, so when the round "wraps" around the bottom it doesn't have a sharp inner corner.) Then you shell. What this accomplishes is the wall thickness will be consistent, including in the rounded portion. The disadvantage to this, is the round is early in the tree, and it will probably end up becoming a reference for later features. Its a give and take. If you add the rounds later in the tree after the shell, what you do is make the radius on the inner wall the radius of the outer wall minus the wall thickness.
  • Options
    nick_papageorge073nick_papageorge073 Member, csevp Posts: 666 PRO
    edited January 2023
    Here is another idea for your design. It should print well, without support. The divider popping through the bottom would have to be trimmed flush before printing. I'm not sure it would have enough "meat" to hold it in place against the weight of the cards though. If you left it long like I have it, you could add feet to the bottom of the base, perhaps in the form of a rib going around the perimeter. This might also give an advantage in helping with any rocking of a broad flat surface. But, then the base would need a bunch of support to print, unless the feet were separate rubber feet screwed on after printing. Lots of ways to skin a cat! Picture and link below.

    Also in this model is the extrude, draft, round, then shell principle. One thing I did, is I dimensioned the sketch, then shelled it to the outside. This is so the inside dimensions are the controlled ones due to the playing card (I made up the dims, I did not cross check what you have). The other thing to note if you do it like I did, is since the shell was towards the outside, the radius before the shell is small. As it will grow the wall thickness during the shell. If you shell towards the inside, you'd instead want to make the radius bigger, so the radius that results on the inside is a good size after the shell.

    Another note, due to the sliding nature of the cards, you probably can't have too big a round in the bottom inside corners, if you are using playing cards with square corners. Or, the box would need to be wider than the cards.

    https://cad.onshape.com/documents/4b6ec28267925cbc13b97b6b/w/57f5b1ef299afc62ca571c26/e/3d44db99aa90fbf7f3a9ae1d







  • Options
    eric_pestyeric_pesty Member Posts: 1,504 PRO

    I have SO much trouble with modeling half of something and mirroring it... it's a mental block I have to get over, but I know it would save me a lot of trouble in the long run.

    => This can definitely be a matter of preference/style. One thing to keep in mind is that it doesn't have to be "all or nothing", you could create the basis box and end cuts in the "full view", then cut it in 1/2 (using a split feature with the front plane) before adding the guide slots and mirror it again after.

    Love the fillet advice as well... I know by the time I reach fillets and chamfers, I switch to eyeball mode and basically just push buttons and hope things look the way I like... I hadn't thought of the fact that the order of operations would make that smoother.

    => Order of operation has a huge impact on what you end up with when working with fillets, takes a lot of experimenting and failing to get good at it (especially when things get more complex)

    I also love the configuration checkbox... I've only done a couple of configuration tutorials and one set of screws for robotics projects that changed length and color, but I had no idea a checkbox could be added up into the area above the feature list.  That could be awesome for some of my little binary tweaks.

    => I would also recommend experimenting with the configuration variables, these let you do super cool stuff!

    A couple questions if you're willing to follow up a bit, but truly no big deal if not (I appreciate what you did already):
    • You mentioned ribs but you're using that term generically, not the OS "Rib" tool, correct?  Any opinions on that?
    • => I was talking about ribs in general as in "thin protrusions from a wall" rather than the process for creating them, in this specific case I thought I would have better control using a sketch but the rib tool is quite powerful as well depending on the situation.
    • Could you explain what you mean by "to make the inside and outside walls parallel around the corner"?  Are you referring to vertically parallel as opposed to angling the wall itself?
    • => Poor choice of word on my part, I just meant having uniform thickness around the corner, your design had only a little bit of material left at the corners because the sharp inside corner gets really close to the radius on the outside. You can get away with a lot with 3D printing but it does create a weak point and may not "look" quite right (at least in my eye). I manually set the radius of the inside corner to be "outer radius minus thickness) but as discussed by others, using a shell lets you get all of this "for free" without having to think about it!
    • I find the "move face" tool amazing but am fighting feeling like it's some kind of cheat or weird way to get a shape.  Am I wrong on that?  I'm not even sure what I'm trying to say but it's not coming out right... is Move Face the equivalent of "I can't figure out how to model this so I made something basic and tweaked it?"  Or is "it makes perfect sense and is more efficient and easy to think of the more primitive shape and tweak one part to be what I want."  If I'm coming off like an idiot feel free to ignore this one :)
    • => it's not stupid or lazy if it works! I know what you mean there might be some that will say it's "cheating". The key thing for me is how it affects the design intent, as long as it doesn't make it hard to understand what is going on I see no reason not to use. There are many cases where it actually helps. For example I like to create two parts that fit together from the same sketch (so they are "touching") and then use a move face to add some clearance, makes it very clear and easy to edit. Using a move face where the resulting face is in a completely different place in relation to what it was created from may be a bit more questionable.
    Thanks again - I'm going to spend some time playing around with changes and your document.  I really appreciate it!

    Dave

    Not necessarily that relevant for 3D printing but regarding what was discussed above if you want to round the bottom corners without having the bottom corners of the cards interfering, you can always raise the middle section of the bottom like this:



    This is a pretty common thing to do for injection molding, it also make the part more rigid and makes it sit flatter on a surface even if the large flat face warps slightly.
    Also note the end angle is done with just one "move face", it works great, I especially love how it is able to do this even with the fillets there. In this case the keen observer may notice that the wall gets thinner when doing it that way (not a big deal for small angles, and can be fixed with another "move face")... Also note how I create one 1/4 of the part and mirrored after the shell but then went on to make it asymmetric with the move face feature on the end, just to show that symmetry doesn't have to be all or nothing!

    I added this quick and dirty example to the a separate part studio in the same document, I also added a few fun configuration inputs to inspire you ;):
    https://cad.onshape.com/documents/0a97440904b076cf83efeb7a/w/54d2759870ff3e7fc07f28a8/e/8112d024855d0a01e3357e93?renderMode=0&uiState=63bfb19679e0547192c637c6
  • Options
    steve_shubinsteve_shubin Member Posts: 1,066 ✭✭✭✭
    edited January 2023
    @dave_sartory

    So these pictures are obviously NOT about where to fillet
    What they are about is the wedge and the cuboid shape of the exterior

    If you want to maintain right angles on all exterior faces, but not waste a bunch of material on a solid wedge, then you could shell the wedge.

    Myself, I like that cuboid look





  • Options
    dirk_van_der_vaartdirk_van_der_vaart Member Posts: 541 ✭✭✭
    There are many way's building a box like this.
    And for shape's like this you don't need a 3D printer, some plastic sheets and a simple router will do the trick

  • Options
    dave_sartorydave_sartory Member Posts: 20 EDU
    @dirk_van_der_vaart Now that was not what I was expecting to see!   Did you happen to create this just to show me or did you have this model already?  Is it something you'd be willing to share a link to so I can see how those bends were created?  Thanks so much for taking the time to share your knowledge!
    Dave
  • Options
    dave_sartorydave_sartory Member Posts: 20 EDU
    @steve_shubin
    This is very cool.  Shell and Move Face are things that are really sticking out to me as valuable in a way I hadn't understood.  I also happen to like the angular look of the surface but seeing this same project a few different ways has been really enlightening.  Thank you for taking the time to help me out!
    Dave
  • Options
    dirk_van_der_vaartdirk_van_der_vaart Member Posts: 541 ✭✭✭
    @dave_sartory
    I made it to show you that it is wise to look for the best production method.
    https://cad.onshape.com/documents/27dee26447bf303ff2d30e0d/w/4ac5fb4c2b27a73607269c74/e/df5526f6a456af326fea3759
    Feel free to make a copy and add a configuration to it
  • Options
    dave_sartorydave_sartory Member Posts: 20 EDU
    @dirk_van_der_vaart
    This is super cool and a very different way than I currently think about things.  I've never touched the flange, sheet metal, or hem tools so that was awesome to see.  As far as actually creating the items I'm stuck with what I have in my classroom (basic PLA 3D printers) but it's so helpful to see how people can design for other production methods.Thank you for helping!
  • Options
    chadstoltzfuschadstoltzfus Member, Developers, csevp Posts: 131 PRO
    Hello Dave, I also wanted to jump in really quick and say that I also came from a computer science background with no CAD experience. I've always found that software engineering and mechanical engineering have a lot more overlap than what someone may think. I am by no means an expert in CAD, but here are some things that helped me when I was learning CAD.
    • Using the right tools for the right situations is important, but preparing your model for fluid and rapid changes can also be helpful. Being in a parametric CAD system means we can give more robustness to a model. In the same way that we set up constants so that changing that value only needs to happen on one line of code (instead of hundreds) we also set up variables in Part Studios to quickly update the model when needed. From what I've seen, you're already taking advantage of variables which is better than most beginners. 
    • I want to echo what @eric_pesty said about Move Face, using Move Face or other "Direct Editing Tools" can be perfectly ok as long as the model is easy to understand. Many people model for what they want today, but also forget to model for what they may want tomorrow. We document our code, add indents, and sometimes create variables to help people understand the code's "design intent." Especially early on, renaming features, using folders, and trying to keep the amount of features to a minimum can really help you out. I always ask myself "If I came back to this 3 months later, could I understand what is going on just by looking at the feature tree?"
    • Take a crack at FeatureScript if you haven't already! FeatureScript was essential for me to connect my programming brain to the CAD world. There are also tons of publicly available FeatureScripts out there that are well documented, and maybe you will find some inspiration. Of course, FeatureScripts don't necessarily show off best modeling practices, but maybe you'll find them helpful for wrapping your head more around what Onshape is capable of. 
    Applications Developer at Premier Custom Built
    chadstoltzfus@premiercb.com
  • Options
    dave_sartorydave_sartory Member Posts: 20 EDU
    @chadstoltzfus
    FeatureScript looks right up my alley -- going to have to play with that more!  I appreciate your backup of @eric_pesty 's MoveFace and Direct Editing.  I was really struggling with that whole set of tools but in context they're starting to make more sense.  To a degree, I need to remember that this is a tool for professionals, so if the button is there, there's probably a good reason (it's not MS Word or anything :smile: ).  

    I shouldn't be surprised by how great these responses have been but I still am.  Thanks for taking your time to make things easier on someone who (hopefully) can spark a few students' interest in CAD!

    Dave




  • Options
    dirk_van_der_vaartdirk_van_der_vaart Member Posts: 541 ✭✭✭
    @dave_sartory
    Design to produce, so if you start a design start thinking how you want or can produce the product.
    If the student's start with a hammer, chisel and saw the will design different solution's
    If the only thing they can use is an 3D printer then everything must be created on that machine even if it take's hour's to find out how that machine is going to do that job.
    My point in that story is they have to learn the basic's first before starting with that 3D printer.
    Learn about milling,lathe, lasercutting, injectionmold forming, pressing, heat forming and not forget low pressure mold forming for low volume production.
    I understand that all these other technics are more dangerous to work with for the student's, but still it's the basic.

    And my final point is the best way to show the benifit of a good design in CAD is to produce the product yourself if needed with your barehand's after all clay sculpting is also a production method :smiley:
  • Options
    dirk_van_der_vaartdirk_van_der_vaart Member Posts: 541 ✭✭✭
    @dave_sartory
    I see you use variables a lot.
    Here you see an example how to use configurations, feel free to copy as allways
    https://cad.onshape.com/documents/610155a0740d2b3cdca7508c/w/dc590129848f363d08fcc792/e/8324833e6d27461b7df08508 

Sign In or Register to comment.