Needing help with Angular Constraints

Needing help with Angular Constraints

llorden4
Collaborator Collaborator
2,080 Views
15 Replies
Message 1 of 16

Needing help with Angular Constraints

llorden4
Collaborator
Collaborator

There's not much (useful) help out there for advanced angular constraints, the best help I've found so far was from @johnsonshiue  from this post.

 

My desire is to locate a nut on a cone that can rotate to any angle about a centerline axis.

Constraining a nut to a conical tubeConstraining a nut to a conical tube

I am using part UCS plane/axis features constrained to World assembly UCS features, for ease of working with iLogic and automation programming.  I have 3 constraints already set that work well for me, which include:

1) a distance from the World Y axis to the CenterPoint of the nut surface location from centerline axis

2) a distance down from the World XZ plane to nut Z axis for locating distance from top of tube

3) an angle between the nut Y axis and the World Y axis to match slope angle of conical tube

 

My final constraint desire is to have an angle relationship between the nut XY Plane and the World YZ Plane to rotate about the World Y axis.  The issue I keep running into is that the nut will change orientation (facing outward from tube to inward to tube) uncontrollably, especially when making large angle changes in location (45 degrees or more); making small incremental changes can usually achieve the desired results.

 

I feel that I lack an understanding of how to use the Explicit Reference Vector angle constraint correctly to achieve my desired results and am looking for some guidance/assistance since I am unable to locate any tutorial that can help in this configuration.

 

I've included a test model pre-configured as I have described and lacks this final constraint.  Help me figure out this constraint and win yourself a Kudo!

Files are in 2018 Format.

Autodesk Inventor Certified Professional
0 Likes
Accepted solutions (1)
2,081 Views
15 Replies
Replies (15)
Message 2 of 16

Xun.Zhang
Alumni
Alumni

Hello @llorden4,

Just selete the last solution and select a vector, then, you are all set.

Untitled.png

Check out the enclosed assembly file which is fixed.

Hope it helps!


Xun
0 Likes
Message 3 of 16

llorden4
Collaborator
Collaborator

@Xun.Zhang wrote:

Hello @llorden4,

Just selete the last solution and select a vector, then, you are all set.

Untitled.png

Check out the enclosed assembly file which is fixed.

Hope it helps!


(edited)

@Xun.Zhang , I see how you have altered my existing angle constraint.  Since no new constraints were added, it is still free to spin around the tube.  If you orientate your view to the home position and manually drag the nut in circular patterns it will turn face direction on you occasionally.  It would appear that even the vector angle option is not capable of preventing this flip from happening, it does not appear to behaving any differently than the directed angle option I had used.

 

Are there constraint options available that will prevent this?

Nut flips to face inward instead of outwardNut flips to face inward instead of outward

Autodesk Inventor Certified Professional
0 Likes
Message 4 of 16

Xun.Zhang
Alumni
Alumni

@llorden4,

OK, just add a work plane for nut as the angle value you've made in the original assembly and replace the angle as mate axis with the work plane.

Now it works well, check it out with enclosed files.


Xun
0 Likes
Message 5 of 16

llorden4
Collaborator
Collaborator

@Xun.Zhang Still not quite the solution, trading off one solution while creating another.  The plane you created was in the part file and not the assembly file.

 

The variable for the angle will be located at the assembly level and the nut is used for other purposes so adding that feature is not productive/desired for the other locations it will be used at if created at the part level.  The plane should be created on the nut at the assembly level for these reasons.  The other variable I have noticed is that you are selected edges & faces, I'm developing for iLogic and automation and will have to select world features such as planes and axis.

 

That said, the nut modifications you created behaved well with the plane on the nut PART file.  An additional constraint to lock in the final orientation on the face worked well.

 

Creating a plane on the nut in the assembly file did keep the nut from changing from facing inward and outward, however it now rotates in position changing the up/down orientation (changing the angle from with the slope to against the slope) making locking in an another angle constraint for positioning chaotic as this resulted in the angle reference also flipping and changing the direction of rotation.  It appears that the handling of planes created within the same file behave much differently than plane features created within other files it is referencing.

 

What I didn't compare is if the plane was created offset from the 0,0,0 position on the nut UCS, like yours was in the part file.  I don't want to make this approach with iLogic so I didn't bother with it, but I am wondering if having the pivot point on the edge of all three axii is causing the rotational nightmare?

 

Anyway, still nothing I can say has made any progress forward towards a solution.

Autodesk Inventor Certified Professional
0 Likes
Message 6 of 16

llorden4
Collaborator
Collaborator

I think I just found a way to better show you my issues and what I now believe might very well be a bug with Inventor.

 

I was trying a completely new approach to solving this problem, creating a series of planes and axis to make intersections that would create a dynamic face plane at the desired angle and slope needed to place the nut object.  While testing its performance, it worked very well with small incremental changes but here again became unstable when making larger changes (45 degrees or more).  Leaving the visibility of all the developing planes on made an excellent visual of what is happening to the UCS features of the planes I am creating, so I made a video to share those visual results.

 

In this video, I start making small (30 degree) changes and planes remain in an expected/desired orientation, including the final derived plane.  Towards the end, I make a 90 degree change in input and the resulting final plane is on the correct slope but also rotates, causing the UCS features to rotate undesirably.  It is the characteristic that is  causing all of my grief and alignment failures.  How do we stop this?

Autodesk Inventor Certified Professional
0 Likes
Message 7 of 16

johnsonshiue
Community Manager
Community Manager

Hi! I am sorry to join this discussion late. I read the postings a few times but I have hard time understanding the objective here. Where is the cone? How do you want the nut to rotate around what? Also, the tube geometry is not created properly. The profile is not located at the start normal to the path. The resultant Sweep body does not have a consistent cross-section. I am more than willing to help. I think it should be doable but I really need to understand the objective here.

Many thanks!



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
0 Likes
Message 8 of 16

llorden4
Collaborator
Collaborator

@johnsonshiue wrote:

Hi! I am sorry to join this discussion late. I read the postings a few times but I have hard time understanding the objective here. Where is the cone? How do you want the nut to rotate around what? Also, the tube geometry is not created properly. The profile is not located at the start normal to the path. The resultant Sweep body does not have a consistent cross-section. I am more than willing to help. I think it should be doable but I really need to understand the objective here.

Many thanks!


@johnsonshiue  Don't mind the tube, it's sole purpose here is to provide a visual reference and was a just a quick prop I created instead of using the actual complex part/shape I normally use.  I am able to use Trig to calculate angles and distances with a relationship to a center-line axis (World Y Axis) using 0,0,0 as a point of origin in the assembly file to control distances from a fixed point in space.

 

The primary reason to this approach is that I have any number of parts I need to attach to a conical shape, I used a nut in this example to give us a simple object to have a point of discussion.  What I'm really attempting to do here is to create a dynamic set of planes and axis to create attachment points for part files and align the part UCS features with the assembly Plane/Axis features created in the Assembly file.  So if we reference planes and axis over faces and part features we'll have better success with the end goal.

 

The conversation started out attempting to constrain the part UCS features to the assembly world UCS features providing a distance away from the assembly Y axis to locate the surface attachment point for the mating part (nut).  And angle relationship to the assembly Y axis also provided the matching angle needed for the attaching part (nut) to match the slope of the mating surface edge (tube).  A negative distance from 0,0,0 along the Y axis controlled the distance down the shaft (from the top) to locate the mating part (nut).  The final constraint needed was in a top view orientation to set an angle position.  To this end, I have been using a directed angle value between the XY plane of the part to the World YZ plane which resulted in chaotic behavior with the part (nut) flipping sides of display uncontrollably.  Not familiar with the Explicit Reference Vector feature, I thought that perhaps would hold my solution, but thus far has not worked any differently than the directed angle option.

 

In my previous reply, I discovered and captured that planes in my assembly files are rotating orientation undesirably (see .mov attached to that post) and I believe is the reason my mating parts are having such chaotic behavior.  This is likely turning this request from a help with angle constraints to help with plane control on a conical axis.

 

I am attaching this new assembly with the plane development path from that video so that you can also test and see the odd variations happening to the planes being created.  Here again, the nut and cone are mere cosmetic features to give the eye something to focus on and give meaning to the various points of intersection.

Autodesk Inventor Certified Professional
0 Likes
Message 9 of 16

johnsonshiue
Community Manager
Community Manager

Hi! Many thanks for sharing more detail about the issue! I think I got a bit better understanding what you are trying to do. I guess constraining UCS may not lead to desirable results because the planes are orthogonal to one another. The geometry is not freely to be constrained. You will need to create individual workplanes.

I played around with the parameters in the iLogic form. I cannot say I see anything wrong yet. Is there a particular set of parameter values leading to wrong result?

Thanks again!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
0 Likes
Message 10 of 16

llorden4
Collaborator
Collaborator

@johnsonshiue wrote:

Hi! Many thanks for sharing more detail about the issue! I think I got a bit better understanding what you are trying to do. I guess constraining UCS may not lead to desirable results because the planes are orthogonal to one another. The geometry is not freely to be constrained. You will need to create individual workplanes.

I played around with the parameters in the iLogic form. I cannot say I see anything wrong yet. Is there a particular set of parameter values leading to wrong result?

Thanks again!

 


In my opinion, the last model I uploaded is fully constrained, correct, and ready for use.  There is no association between the (nut/tube) features created and any other part/face/feature other than a relationship to another plane or axis.  Leaving the tube with 12 sides, changing the flat # incrementally will yield a 30 degree change in relationship about the center line axis (Y Axis).  If you start on flat #1 and change one flat at a time, everything is working as desired.  If you start at flat 1 and perform a radical change (I've been using flat 1 to flat 10), then the "TJ Face Plane" (not in front of the PC now so I could be off on the name), rotates its UCS orientation and causes the constraints that were working to fail and generates an error.

 

When I did this with the original model submission, the rotation caused the nut to change face direction due to differences in constraining methods.

 

This "Face Plane" is dynamically created between a pair of Axis that are also dynamically created from intersections of other dynamic planes.  There's a lot of intersection faces being created to define this face plane and the behavior in doing so is failing to perform consistently.  With the exception of this face plane, all the other planes and axis created dynamically appear to be consistent in development behavior.

Autodesk Inventor Certified Professional
0 Likes
Message 11 of 16

llorden4
Collaborator
Collaborator

@johnsonshiue were you able to identify the error I'm trying to convey, or do I need to highlight some more images and provide a few more details?

Autodesk Inventor Certified Professional
0 Likes
Message 12 of 16

johnsonshiue
Community Manager
Community Manager

Hi! I did play around with the assembly but I did not see an issue. Could you be more specific on the steps? What exactly I need to enter for Flat and Sides in order to see the issue? I am very poor at guessing.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
0 Likes
Message 13 of 16

llorden4
Collaborator
Collaborator

@johnsonshiue wrote:

Hi! I did play around with the assembly but I did not see an issue. Could you be more specific on the steps? What exactly I need to enter for Flat and Sides in order to see the issue? I am very poor at guessing.

Many thanks!

 


@johnsonshiue 

Starting with the assembly I sent, a Forms menu should appear already set to Flat #1 and 12 sides once the assembly file is opened.  Note the position of the nut.  Change the Flat # in the form to flat #10.  Nothing happens, except you now get the Red Cross "Design Doctor" to appear because the constraints have failed; no error messages have popped up.  The nut should have moved from the "Front" (6 o'clock) to the "Right" (3 o'clock) face.

 

Now change the flat to #9, the nut now moves to the correct position (2 o'clock) but is now rotated to face inwards instead of outwards.

 

You may want to turn off the visibility of the planes to make the nut easier to see.

 

Close (without saving) and re-open the file; delete the nut from the assembly.  Now change the flat # from 1 to 10.  Notice how the "TJ Face Plane" rotates 45 degrees as it turns the corner with no errors.  Go back to flat 1.  Now enter flat numbers backwards one at a time, 12...  11... and then 10.  Notice how the "TJ Face Plane" doesn't rotate when dynamically generated in small increments (the desired development of the plane without the rotation).

 

If this still doesn't help, then perhaps we can arrange a Skype session and/or a phone call to go over this, nothing like a live demo to help with communication.

Autodesk Inventor Certified Professional
0 Likes
Message 14 of 16

johnsonshiue
Community Manager
Community Manager

Hi Leonard,

 

Many thanks for sharing the detail steps! I can see the issue now. At first, I thought it could be related to some sort of cyclical dependency among parameters. But, I don't believe such relationship exists in this assembly. It seems to be related to Solve Ordering issue. When some constraints are suppressed (for example, Mate:24), the error will not appear. Also, unsuppressing Mate24 afterwards will work. This does not make sense.

I did manage to find a workaround. I am not sure if it is valid but try it and see if it works for you. Edit Angle:1 and make it a Limit constraint. Set the max to 360 deg and the min to 0 deg. I cannot explain why the error no longer appears but it seems to have something to do with the angle at 360 deg. In this case, 0 and 360 are essentially the same. Allowing a range seems to lead to better solve behavior.

I will need to work with the project team to understand the behavior better. But, I don't believe there will be a quick fix.

Many thanks!

 



Johnson Shiue (johnson.shiue@autodesk.com)
Software Test Engineer
0 Likes
Message 15 of 16

llorden4
Collaborator
Collaborator

At least we got the issue identified and in front of you, thanks for the effort.   I agree this won't be a fast fix, but hope to hear from you when it is!  Good luck!

Autodesk Inventor Certified Professional
Message 16 of 16

llorden4
Collaborator
Collaborator
Accepted solution

Solution found, visit the answer in this link thanks to @johnsonshiue 

 

 

Autodesk Inventor Certified Professional