Пример #1
0
        private static void UpdateFasteners(PartsProperties partsProperties)
        {
            foreach (var solidName in Solids.Keys)
            {
                var userUpdated = partsProperties.parts.First(p => p.Name == solidName);
                if (userUpdated.FastenerCertainty < 1)
                {
                    SolidsNoFastener.Add(solidName, Solids[solidName]);
                }
            }
            FastenerDetector.Fasteners =
                new HashSet <Fastener>(
                    FastenerDetector.Fasteners.Where(f => !SolidsNoFastener.Keys.Contains(f.Solid.Name)).ToList());
            FastenerDetector.Nuts =
                new HashSet <Nut>(
                    FastenerDetector.Nuts.Where(n => !SolidsNoFastener.Keys.Contains(n.Solid.Name)).ToList());
            FastenerDetector.Washers =
                new HashSet <Washer>(
                    FastenerDetector.Washers.Where(w => !SolidsNoFastener.Keys.Contains(w.Solid.Name)).ToList());
            var pF =
                FastenerDetector.PotentialFastener.Where(u => !SolidsNoFastener.Keys.Contains(u.Key.Name))
                .ToDictionary(t => t.Key, t => t.Value);

            FastenerDetector.PotentialFastener =
                new Dictionary <TessellatedSolid, double>(pF);
        }
Пример #2
0
        private static void SerializeSolidProperties()
        {
            XmlSerializer ser             = new XmlSerializer(typeof(PartsProperties));
            var           partsProperties = new PartsProperties();

            partsProperties.GenerateProperties();
            var writer = new StreamWriter(state.inputDir + slash + "XML" + slash + "parts_properties.xml");

            ser.Serialize(writer, partsProperties);
        }
Пример #3
0
 private static void UpdateSolidsProperties(PartsProperties partsProperties)
 {
     foreach (var solidName in Solids.Keys)
     {
         var userUpdated = partsProperties.parts.First(p => p.Name == solidName);
         SolidsMass.Add(solidName,
                        userUpdated.Mass > 0
                 ? userUpdated.Mass * Math.Pow(MeshMagnifier, 3)
                 : userUpdated.Volume * Math.Pow(MeshMagnifier, 3));
     }
 }