Exemple #1
0
        public static void generateFromAnalysis(Analysis.Analysis analysis, String basePath, String outputPath)
        {
            List <MTConnectEvent> timeline = analysis.timeline;

            Log.Write("Generating StepNC Data");
            STEPNCLib.AptStepMaker apt  = new STEPNCLib.AptStepMaker();
            STEPNCLib.Finder       find = new STEPNCLib.Finder();

            Log.Write("Using template StepNC file " + basePath);
            apt.Open238(basePath);
            find.Open238(basePath);

            long wp_id = find.GetMainWorkplan();

            apt.NestWorkplanAfter("Workplan for MTConnect results", find.GetWorkplanExecutableCount(wp_id) + 1, wp_id);

            apt.Workingstep("testing");

            apt.LoadTool(101);
            apt.Rapid();

            // Add all the path positions
            foreach (PathPosition pp in timeline)
            {
                apt.GoToXYZ("seq" + pp.sequence, pp.coords.x * mmtoinch, pp.coords.y * mmtoinch, pp.coords.z * mmtoinch);
            }
            apt.SaveAsModules(outputPath);
            Log.Write("StepNC Written to " + outputPath);
        }
        static void Main(string[] args)
        {
            // Create a trivial STEP-NC file
            STEPNCLib.Finder Find = new STEPNCLib.Finder();
            string file = "v14_IMTS_HARDMOLDY.stpnc";

            Find.Open238(file);

            long wp_id = Find.GetMainWorkplan();
            long tl_count = Find.GetWorkplanToolCount(wp_id);

            Console.WriteLine("There are {0} tools", tl_count);

            for (int I = 0; I < tl_count; I++)
            {
            long tl_id = Find.GetWorkplanToolNext(wp_id,I);
            Boolean has_diam;
            Boolean has_length;
            Boolean has_radius;
            double tl_diam = Find.GetToolDiameter(tl_id, out has_diam);
            double tl_length = Find.GetToolLength(tl_id, out has_length);
            double tl_rad = Find.GetToolCornerRadius(tl_id, out has_radius);
            Console.WriteLine("Tool with tool id: {0} has diameter {1} and length {2} and radius {3}", tl_id, tl_diam, tl_length, tl_rad);
            }
            Console.ReadLine();
        }
 public WorkplanExecutable GetMainWorkplan()
 {
     if (rootWorkplan == null)
     {
         rootWorkplan = (WorkplanExecutable)ExecutableFactory.fromId(finder, finder.GetMainWorkplan());
     }
     return(rootWorkplan);
 }
        static void Main(string[] args)
        {
            STEPNCLib.Finder Find = new STEPNCLib.Finder();
            STEPNCLib.AptStepMaker APT = new STEPNCLib.AptStepMaker();
            StringBuilder builder = new StringBuilder();
            String out_dirFile = args[0];
            String input_file = args[1];

            APT.Open238(input_file);
            Find.Open238(input_file);

            long wp_id = Find.GetMainWorkplan();
            int depth = 0;
            bool last = false;
            long count = 0;

            String uu = APT.SetUUID_if_not_set(wp_id);
            //System.Console.WriteLine("Main Workplan name " + Find.GetExecutableName(wp_id) + " has UUID: " + uu);
            Mark_plan(wp_id, Find, APT, builder, depth, last, ref count);
            Mark_pieces(Find, APT, builder);
            Mark_tools(Find, APT, builder);
            Mark_technologies(Find, APT, builder);

            APT.SaveAsModules("hardmoldy_IMTS_signed_uuid.stpnc");

            string output = builder.ToString();
            if (!Directory.Exists(out_dirFile)) //See if the path exists
            Directory.CreateDirectory(Path.GetDirectoryName(out_dirFile)); //Create if not

            using (StreamWriter out_file = //StreamWrite output to file
                new StreamWriter(File.Open(out_dirFile, FileMode.Create)))
            {
            out_file.WriteLine(output);
            }
            //Console.ReadLine();
        }