コード例 #1
0
        private void TraverseSubFunctions(SldWorks.Feature Feat_Obj, List<pFunctions> Features, string SpaceForDebug = "   ")
        {
            SldWorks.Feature SubFeat;
            SubFeat = Feat_Obj.GetFirstSubFeature();

            while (SubFeat == null)
            {
                Features[Features.Count - 1].SubFunction.Add(new pFunctions());
                Features[Features.Count - 1].SubFunction[Features[Features.Count - 1].SubFunction.Count - 1].Name = SubFeat.GetTypeName2();
                Features[Features.Count - 1].SubFunction[Features[Features.Count - 1].SubFunction.Count - 1].Feature = SubFeat;

                Debug.Print("{0} -             {1}{2} ('{3}')", DateTime.Now.ToLongTimeString(), SpaceForDebug, SubFeat.Name, SubFeat.GetTypeName2());

                SpaceForDebug = SpaceForDebug + "   ";
                TraverseSubFunctions(SubFeat, Features[Features.Count - 1].SubFunction, SpaceForDebug);


                SubFeat = SubFeat.GetNextSubFeature();
                //SpaceForDebug = Left(SpaceForDebug, SpaceForDebug.Length - 3);
            }
        }