I'm working on a kinematic mount where the base is locked into place and three spheres lock into the groove pattern.
I'm trying to use the most realistic set of constraints available in FreeCAD(Assembly3), but it seems I've run into a hiccup vith the "LineVertical" constraint.
For each of the spheres, i'm using the following set of constraints:
A_1/A_2 are "PointsPlaneDistance" constraints, they are meant to constrain the center of the spherical surface on a line that is equally distant from both of the groove surfaces.
As the distance is equal to the radius of the sperical surface, this makes the surfaces of the groove tangent to the sphere itself, thus allowing the shpere to "roll" freely along the groove.
As I'm following a Top Down modelling approach, i would like to derive the informations that are necessary to model the frame that connects the sphere blocks from the placement of the blocks themselves, instead of locking them to another body.
To manage the blocks aligment i'm using the "LineVertical" constraint, as "Elements" for the LineVertical constraint I'm using planes and axis from the origin of the ParDesign bodies.
Everything seems ok, but, if you try to moove the sphere block with the "Axial move part" command, the body moves where it should't be able to.
I have two questions for you all:
1) Is there a more efficient/effective set of constraints to achieve the same goal?
2) Have I understood properly how "LineVertical" works ? Am I missing something?
Thank you
Example file:
Code: Select all
OS: Windows 10 Version 2009
Word size of FreeCAD: 64-bit
Version: 0.21.30265 (Git)
Build type: Release
Branch: master
Hash: c35244e74f326a04c5bcab31e984742db582ac78
Python 3.8.13, Qt 5.15.4, Coin 4.0.0, Vtk 9.1.0, OCC 7.6.2
Locale: English/United States (en_US)
Installed mods:
* Assembly3 0.11.3
* Behave-Dark-Colors 0.1.1
* CurvedShapes 1.0.4
* Curves 0.6.5
* Dracula 0.0.2
* ExplodedAssembly
* fasteners 0.4.54
* fcgear 1.0.0
* freecad.gears 1.0.0
* OpticsWorkbench 1.0.9
* ProDarkThemePreferencePack 1.0.0
* sheetmetal 0.2.61