Bugs or Drugs? Work Planes acting strange ...
Bugs or Drugs? Work Planes acting strange ...
(OP)
This may be a bug; or maybe it's just not working as I thought it might. I wanted to make a set of planes that rotate, and use it like a "U-Joint" plane. These planes would only be rotating othagonally.
Im using SW2K1, sp0.
1) Create a sketch on the Front plane, and draw a vertical line that is concident to the Origin.
2) Create a new Plane, using the Front Plane, and the vertical line as a rotation point. I called it "Y_Rotation_Plane".
3) Create a sketch on the "Y_Rotation_Plane", and draw a horizontal line, with a point concident with the Origin.
I called this Plane "X_Rotation_Plane".
4) Now draw a rectangle, using, and centered on, the X_Rotation_Plane, and fillet one corner so you can see where the geometry is relative to the rotations.
Here, I wanted to spin both planes 180 degrees.
If I just change the plane rotation of each plane 180 degrees, and then rebuild, nothing happens. If I increment each plane 90 degrees, twice, and rebuild after each rotation (for a total of 4 rebuilds) it seems to work.
Other than that, it somwetimes does nothing, or sometimes one of the planes rotates ALONG THE Z AXIS, and cannot be undone.
What I really need to do here, is to rotate my geometry [0 or 90 degrees] along the Y axis, and/or [0 or 180 degrees] along the Z axis.
Anyone?
Im using SW2K1, sp0.
1) Create a sketch on the Front plane, and draw a vertical line that is concident to the Origin.
2) Create a new Plane, using the Front Plane, and the vertical line as a rotation point. I called it "Y_Rotation_Plane".
3) Create a sketch on the "Y_Rotation_Plane", and draw a horizontal line, with a point concident with the Origin.
I called this Plane "X_Rotation_Plane".
4) Now draw a rectangle, using, and centered on, the X_Rotation_Plane, and fillet one corner so you can see where the geometry is relative to the rotations.
Here, I wanted to spin both planes 180 degrees.
If I just change the plane rotation of each plane 180 degrees, and then rebuild, nothing happens. If I increment each plane 90 degrees, twice, and rebuild after each rotation (for a total of 4 rebuilds) it seems to work.
Other than that, it somwetimes does nothing, or sometimes one of the planes rotates ALONG THE Z AXIS, and cannot be undone.
What I really need to do here, is to rotate my geometry [0 or 90 degrees] along the Y axis, and/or [0 or 180 degrees] along the Z axis.
Anyone?






RE: Bugs or Drugs? Work Planes acting strange ...
1) Make small increments to the relations to move from one position to the next. This often solves the problem. I have created assemblies which required me to create intermediate configurations because there were always rebuild errors when going directly from configuration A to configuration B. I just live with it like that, but it may be confusing in a multi-user environment to do this.
2) Change the relations to minimize the use of angular constraints. You may have to be creative with this, but the idea is to use reference geometry which is not flipping 180 degrees like in your example. This will definitely get rid of the problem. If you can ensure that all angles and dimensions are always going in the same direction then you can't have two valid geometric solutions.
RE: Bugs or Drugs? Work Planes acting strange ...
Ken
RE: Bugs or Drugs? Work Planes acting strange ...
1) The forcing of incrementing does seem SW related, and I have made api calls to step the increments each 90 degrees, with a rebuild after each 90 degree rotation.
But I have also found that, with the 2nd rotating plane being a 'child' of the first rotating plane, that I am unable to rotate the 'parent' plane until the 'child' plane has been reset to zero.
This means, unfortunately, that if the child plane is rotated 180 degrees, and I want to rotate the parent plane
an additional 90 degrees, that it requires 5 steps, with a rebuild after each step (two 90-degree steps backwards to zero out child plane, one 90 degree step forward on parent plane, and two 90-degree steps forward again on the child plane)
------------------------
Also, the reason Im doing this in a Model is that what is needed cannot be done directly, or done as a behemoth of a file, in an assemblydoc. Even if it was possible, it would be WAY too slow to be of any use: one can't be waiting 5 minutes for an assembly regen each time a parameter is changed; so I am actually doing a "lightweight" style preview of the assembly, using surfaces, in a ModelDoc, and crunching my own numbers.
The entire assembly is to be designed around a sub-assembly that can be rotated on any of the six 3D planes, with other parts that 'fuse' this assembly to an outer assembly. Where, which, and how parts are constrained depends on many factors, one of which is the rotation of the subassembly.
When the design is finalized, I will store it in a config in the ModelDoc, and then have another routine make the REAL parts in separate modeldocs, and then generate individual Assemblydocs, using the hardcoded numbers, with all the components having a FIXED constraint.