Example #1
0
        public Toolpath CalculateToolpath(string stlFileLocation, DEDBuildStyle selectedBuildStyle)
        {
            //Do the Calculation
            IPathGenerationFactory pathGenerationFactory = new NetfabbPathGenerationFactory(_tempDataDirectory);
            IPathFactory           pathFactory           = new ManufacturingGeneralTypes.Factory.Implementation.PathFactory();
            IAdditivePathFactory   additivePathFactory   = new ManufacturingAdditiveTypes.Factory.Netfabb.Implementation.AdditivePathFactory();

            ISliceCreator  sliceCreator  = pathGenerationFactory.ConstructSliceCreator();
            IFolderCreator folderCreator = pathGenerationFactory.ConstructFolderCreator();

            IPathGenerationModel pathGenerationModel = pathGenerationFactory.ConstructPathGenerationModel(sliceCreator, folderCreator, pathFactory, additivePathFactory);

            IPath path = pathGenerationModel.GeneratePathFromBuildStyle(selectedBuildStyle.BuildStyle, stlFileLocation);

            var toolpathpoints = new List <ToolpathPoint>();

            //Construct Toolpath Object
            foreach (ILayer layer in path.Layers)
            {
                foreach (IExposure exposure in layer.Exposures)
                {
                    foreach (ISegment segment in exposure.Segments)
                    {
                        foreach (IPoint point in segment.Points)
                        {
                            toolpathpoints.Add(ToolpathPoint.FromPoint(point));
                        }
                    }
                }
            }

            return(Toolpath.FromPointsList(toolpathpoints));
        }
        public IList <DEDBuildStyle> GetBuildStyleList()
        {
            IList <DEDBuildStyle> buildStyleList = new List <DEDBuildStyle>();

            foreach (IBuildStyle buildStyle in _buildStyleLibrary.buildstyleList)
            {
                DEDBuildStyle dedBuildStyle = new DEDBuildStyle(buildStyle);
                buildStyleList.Add(dedBuildStyle);
            }

            return(buildStyleList);
        }