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.

how to constrain part to be horizontal in assembly

jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
Bit of a whacky case... I'm creating a jig to cut a compound angle on 1" angle iron part (strut). The saw only has one degree of angle (miter saw not compound miter). But by dialing the right miter angle and "pivoting" the angle iron along it's long axis on the saw bed, I can get the same effect. Problem is I need to figure out how much to pivot so I can build a jig to hold the material in the saw. See e30 engine bracket | Assembly 2 (onshape.com). In that example I've got the part, a section of saw blade (band saw) and a representative vice jaw.

So I want to place the part in the assembly such that one of the leg outer edges is "horizontal", that is, at least parallel to the bottom of the blade part and the compound cut end face is "flush" with the blade face. That should force the strut (angle iron part) to pivot along it's long axis. My jig then is just a triangular wedge that fits up against a vice face. 

So far I've revolute mated the face of strut to the face of the blade. That makes sure it's flush with the cut. But since it has to go in the saw "horizontal" I need to rotate the part to get it lined up with the top/bottom of the blade. I've eyeballed it but there must be a better way. Any suggestions on how to constrain the strut part here? A different approach?
 

Best Answer

  • martin_kopplowmartin_kopplow Member Posts: 515 PRO
    edited December 2023 Answer ✓
    Thanks for keeping us updated, for this appears to be an interesting case.
    Using the formula is probably a good thing. You could even put it into a spread sheet, provide input fields and result output fields for the users in the shop and use that document whenever needed. (Google says there are already quite some of these spread sheets out there ...)
    I would have expected this worked with mates, though, but when I tried yesterday night, I also struggled. I am quite sure I used a combination of mates that should do the trick, but OS did not resolve them. Maybe we were too much focused on recreating the workshop setup in 3D, while this was a pure geometry problem. So I tried to do it in the strut's part studio instead, using only planes and projections, which got pretty complex after while and one would not want to do that over for all possible jigs required. Still, I provided some valuable insight: I was being stupid. 
    I still believed it should be feasible in an assembly, and most shops prefer a visible representation over numbers anyway, so, after throwing away all unnecessary stuff and understanding the geometry, I tried again, and now it was in fact quite simple. I used the simplified geometry on the strut and voilá:


    Only two mate conditions: 
    1. Cut face of strut planar with blade
    2. Lower (or any long) edge of strut tangent with workbench



Answers

  • dirk_van_der_vaartdirk_van_der_vaart Member Posts: 549 ✭✭✭
    Right-click on the part and select fix ??
  • martin_kopplowmartin_kopplow Member Posts: 515 PRO
    You could create a dummy part (e.g. a flat surface) in your assembly, make it horizontal and only fix that one. Then you could use a planar mate to constrain your angled part to only move in the horizontal plane, while you adjust the other angle.
  • jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
    edited December 2023
    Thanks @martin_kopplow, that *could* work. I tried to set that up but my mate connector foo is apparently insufficient. The problem seems to be that mate connectors on the strut (pivoted part) are all rotated (cause the part is rotated) so when I go to mate it with a horizontal plane (e.g., top of the saw blade), it wants to rotate the part to line up the axes. 

    In this pic the black bit is the blade and the blue/gray bit is the strut. The orange blocks are there to represent the saw vice. See e30 engine bracket | Assembly 2 (onshape.com). So the top of the blade is horizontal and I've purposely revolute mated the part to the side of the blade with the connector such that the "corner" of the part is on the top edge of the blade. So in theory all I have to do is constrain the V edge (leftmost in the pic) to be on the same plane as the blade's top face. The mate connectors on the strut are all "askew" as the part has been rotated so whenever I try the mating the system ends up over constrained in some way.



    Is there a way to mate a point to a plane regardless of orientation?

    I'm starting to wonder if I'm just approaching this wrong and could/should be doing something in the part studio where I can use full on constraints...

  • martin_kopplowmartin_kopplow Member Posts: 515 PRO
    What is the reason for the revolute mate between the saw blade and the strut? I'd have expected a planar mate in this place, too, so no unnecessary constraints are introduced.
  • robert_scott_jr_robert_scott_jr_ Member Posts: 488 ✭✭✭
    Jeff, unless I misunderstand your intent, it looks like you've already accomplished your task in creating the jig that positions the part at a required angle. Is the help you are seeking is how to arrange parts in the assembly to visually demonstrate correct positions?
     The vise jaws caused some confusion for me. I made a copy of your document in which the jaws are oriented the way I assume they actually are. I measured the distance between the corner of the left front strut and the face of the jig that would contact a jaw and fastened the jaws with that distance of separation. I fastened the jig to the jaw. I also 'Fixed' one of the jaws. I used a slider mate to connect the strut to the jig to be able to move the strut along the jig. Perhaps taking a look at the attached document might help.  - Scotty



  • jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
    @robert_scott_jr_ thanks for looking at this. I don't think of the assembly I pointed as a solution. It was all done manually. That is, I manually rotated the revolve fastened strut until it *appeared* to be horizontal. Then I manually clicked around and measured the axial rotation angle of the strut relative to a vertical line (edge of the vice). Then I took that angle back to a sketch for the jig, created the jig part which then was inserted into the assembly. 

    The biggest issue is the eyeballing of the revolute rotation to get the strut horizontal. That was very tedious and just feels wrong in terms of engineering. Thus the question of how to actually constrain it to be horizontal in the assembly. The manual step of measuring and carrying back the axial rotation angle as input to the jig part is annoying in that it's not automated and so doesn't scale and will get forgotten as the model changes (e.g., the strut design changes or many struts are needed and we have to remember to do all this again for each strut).

    So I think I need to look at this differently and do some math etc in a part studio to figure out the angles and generate the appropriate jig which is inserted and fastened as you described.

    I'm still interested the original problem (constraining the strut to be horizontal) as frankly mate orientation has long been a challenge for me to understand.

    As for the vice, yeah, I can see the confusion. Turns out there are different designs and mine happens to work the way I drew it (the jaws close on a fixed linear rail parallel to the blade and pivot to the make the desired angle). Either way the problem here is the same.
  • jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
    @martin_kopplow using two planar mates makes a lot of sense but I can't get it to work. Mating the strut end face to the blade side face is great but then I have the strut *edge* with connectors at odd angles (depending on the axial rotation) that I'm trying to mate with connectors at very fixed angles (a good thing) and things get over constrained.

    There must be something basic I don't understand about mates as this sort of thing has always been a frustration for me. For example, here if I planar mate the "top" corner of the strut end face to the top of the side face of the blade that's great. Then I'd like to mate the other end of that top strut edge (or the whole edge) to the plane of the top of the blade forcing it to be horizontal. I just want that end vertex (or edge) to be on that plane, don't care if the axes align (in fact I know they won't). However, the planar mate wants to align the axes thus over-constraining the system. It's like I want to "nest" or "stack" mate connectors -- put a ball connector on a planar connector. That way the ball connector itself can slide around on the horizontal plane but the strut (mated via the ball) is free to rotate. I don't see another mate that has similar behavior. Somehow this must have come up/been solved. 
  • robert_scott_jr_robert_scott_jr_ Member Posts: 488 ✭✭✭
    Are you trying to ensure that the strut is parallel to the top faces of the vice jaws, thus being horizontal? - Scotty
  • jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
    In essence yes. On the same plane as the top face of the blade (i think it has to be on the blade because of the revolute/planar mate with the blade). With a revolute/planar mate between the end face of the strut and the side face of the blade,  the strut would be forced to rotate and be as it would be in the saw. Then I could measure the axial rotation to make the jig block.
  • jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
    OK, an update on this for those following along at home...

    After consulting with the math folks on Reddit, it turns out that the tilt angle (phi) and axial rotation angle (theta) can be computed based on the lengths of the horizontal intersection edges as follows:
    • phi = asin(1/sqrt(#A^2 + #B^2-1))
    • theta = asin(sqrt(#A^2 - 1) /sqrt(#A^2 + #B^2 -2))
    Concretely phi is the angle of the saw vice relative to the blade and theta is the axial rotation of the piece in the vice. Using theta I can create the jig block as a part and insert that into the assembly along with the blade and vice jaws. Then mate those up and bam. See e30 engine bracket | good (onshape.com). Note the assembly is more for visual verification. I just need to gen drawings so production folks can make the jigs and cut the parts.

    That computation is a bit yucky to do in variables so I'll check out writing a bit of FeatureScript as I have to do that at least 3 more times and possibly many more for different devices.

    I still struggle with mates and orientations. 30% of the time parts get unwanted rotation when mated, 30% they don't get rotated (and I want them to), and the rest of the time the situations are simple and all works fine. I've watched a bunch of the videos etc but somehow just am not grokking something fundamental. Pointers appreciated but I'll muddle along.

    Thanks folks. 
  • martin_kopplowmartin_kopplow Member Posts: 515 PRO
    edited December 2023 Answer ✓
    Thanks for keeping us updated, for this appears to be an interesting case.
    Using the formula is probably a good thing. You could even put it into a spread sheet, provide input fields and result output fields for the users in the shop and use that document whenever needed. (Google says there are already quite some of these spread sheets out there ...)
    I would have expected this worked with mates, though, but when I tried yesterday night, I also struggled. I am quite sure I used a combination of mates that should do the trick, but OS did not resolve them. Maybe we were too much focused on recreating the workshop setup in 3D, while this was a pure geometry problem. So I tried to do it in the strut's part studio instead, using only planes and projections, which got pretty complex after while and one would not want to do that over for all possible jigs required. Still, I provided some valuable insight: I was being stupid. 
    I still believed it should be feasible in an assembly, and most shops prefer a visible representation over numbers anyway, so, after throwing away all unnecessary stuff and understanding the geometry, I tried again, and now it was in fact quite simple. I used the simplified geometry on the strut and voilá:


    Only two mate conditions: 
    1. Cut face of strut planar with blade
    2. Lower (or any long) edge of strut tangent with workbench



  • robert_scott_jr_robert_scott_jr_ Member Posts: 488 ✭✭✭
    I took another shot at this and in a somewhat unprofessional way, came with the same angular (part to blade) dimension as Martin. 
    I ensured the vice was horizontal by fastening it to a mate connector on the origin. Making sure the blade was vertical, I fixed the face of the part's cut end to the blade. I then rotated the mate connector on the blade to get the part close to parallel to the vice jaw top surface and was able to use the resulting angular difference between the two to come up with a final rotation amount for the mate connector on the blade. Ugly, huh? - Scotty
  • jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
    @martin_kopplow OMG Tangent! For some reason I never thought of using (didn't really know about) that mate. All the while I'm thinking "I just want this vertex/edge to be on this plane..." I knew I was missing something simple. You made my day.

    As for the spreadsheets etc. Right. For now I wrote a little FeatureScript that does the math and adds phi and theta variables to the part studio. I really want to import those to the assembly (that seems no possible) but I can avoid needing them using mates (as you have demonstrated).. Related, when you said "Google says there are already quite some of these spread sheets out there ...)" what search terms were you using. I had poked around before starting on the math direction but didn't know what to look for.

    Again. Thanks for digging into this. Folks like you make the onshape community so awesome.
  • jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
    @robert_scott_jr_ Thanks for looking at this again. Yeah, the manual eyeballing/measuring/tweaking approach is doable but I have 4 of these and the connection points (thus the angles/distances) keep changing and we'll need more in the future. So tedious and error prone. That has been my motivation to spend nearly 3 solid days messing with this. (well that and I wanted to get better at onshape). Anyway, I really appreciate your time and responses.
  • martin_kopplowmartin_kopplow Member Posts: 515 PRO
    Yeah, the tangent mate is a bit hidden behind the vertical separator in the tool bar. ;0)
    It is in fact the only mate that does not relate to surfaces but can take an edge or even a vertice as one mate partner. Very useful, though.

    I believe we could use more mates that take curves and the likes. In my designs, things almost never slide along somthing like a straight Z-axis. They slide along curves, fall into notches and do other funny non-linear stuff.

    One thing that has not yet been solved is an easy way to insert deliberate variations of the strut into the saw/vice assembly and get the jig and vice angles fast. To achieve this, the setup would have to be upgraded a bit, so that the job could be done in only a few simple steps. The vice jaw(s), which are now created via a sketch in context, would probably need to be parts themselves, following simple mates, and could then be assigned to each new strut by a few mouse clicks.

  • jeff_mcafferjeff_mcaffer Member Posts: 66 ✭✭
    @martin_kopplow I tried a bunch of different mating approaches in the assemblies (see e30 engine bracket | left front (onshape.com) etc). Mostly the variation was on how to mate the strut with the jig to get things aligned. All use tangent and planar in some combination. I suspect some of the issues I was seeing had to do with the native axis orientations of the various connectors. Note that the jig blocks are not the final version as some have edges that are too short for the strut legs...

    Creating the assemblies was more finnicky than I'd like but workable given it's only a handful of mates. In reality I don't need to do assemblies for the cutting drawings. I can make parts using the phi/theta angles computed and add those in the drawings. Still super useful to be able to have some assemblies examples etc. 

    Thanks again for the help.

Sign In or Register to comment.