Beispiel #1
0
        public SubAssembly(Part refAssembly, Part movingAssembly, TVGLConvexHull combinedCVXHull,
                           InstallCharacterType InstallCharacter, List <PolygonalFace> refFacesInCombined)
        {
            PartNames = new List <string>(refAssembly.PartNames);
            PartNames.AddRange(movingAssembly.PartNames);
            Name    = "subasm-" + PartNames.Aggregate((i, j) => i + "," + j);
            Install = new InstallAction {
                Reference = refAssembly, Moving = movingAssembly
            };
            InstallModelInputs    = new double[1, 6];
            Secure                = new SecureAction();
            Rotate                = new RotateAction();
            RotateModelInputs     = new double[1, 5];
            MoveRoate             = new MoveRotateAction();
            MoveRoateModelInputs  = new double[1, 5];
            this.InstallCharacter = InstallCharacter;
            Mass   = refAssembly.Mass + movingAssembly.Mass;
            Volume = refAssembly.Volume + movingAssembly.Volume;
            //volume of sphere = (4/3)*Math.Pi*r*r*r
            var radius = Math.Pow(0.75 * Volume / Math.PI, 1.0 / 3.0);

            AvgMomentofInertia                = Mass * radius * radius;
            CVXHull                           = combinedCVXHull;
            this.refFacesInCombined           = refFacesInCombined;
            InternalStabilityInfo             = new InternalStability();
            InternalStabilityInfo.needfixture = false;
        }
Beispiel #2
0
 public bool Evaluate(List <node> s1, List <node> s2, out InstallAction install)
 {
     throw new NotImplementedException();
 }