diff --git a/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs b/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs
index 10bc5b0..cf8ed49 100644
--- a/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs
+++ b/OSCADSharp/OSCADSharp.ConsoleTests/Program.cs
@@ -15,18 +15,17 @@ namespace OSCADSharp.ConsoleTests
{
var obj = new Cube(5, 10, 20) + new Sphere(10).Translate(-10, 5, 0);
- //var pos = obj.Position();
- //var cyl1 = new Cylinder(1, 100, true).Translate(pos);
- //var cyl2 = new Cylinder(1, 100, true).Rotate(0, 90, 0).Translate(pos);
- //var cyl3 = new Cylinder(1, 100, true).Rotate(90, 0, 0).Translate(pos);
- //var axisHelper = cyl1.Union(cyl2, cyl3).Color("Red");
+ var pos = obj.Position();
+ var cyl1 = new Cylinder(1, 100, true).Translate(pos);
+ var cyl2 = new Cylinder(1, 100, true).Rotate(0, 90, 0).Translate(pos);
+ var cyl3 = new Cylinder(1, 100, true).Rotate(90, 0, 0).Translate(pos);
+ var axisHelper = cyl1.Union(cyl2, cyl3).Color("Red");
var topCorner = new Sphere().Translate(obj.Bounds().TopRight);
var botCorner = new Sphere().Translate(obj.Bounds().BottomLeft);
- string script = (obj + topCorner + botCorner).ToString();
-
- File.WriteAllLines("test.scad", new string[] { script.ToString() });
+ (obj + topCorner + botCorner + axisHelper).ToFile("test.scad");
+
//Console.ReadKey();
}
}
diff --git a/OSCADSharp/OSCADSharp/OSCADObject.cs b/OSCADSharp/OSCADSharp/OSCADObject.cs
index 7bfe919..fdbede2 100644
--- a/OSCADSharp/OSCADSharp/OSCADObject.cs
+++ b/OSCADSharp/OSCADSharp/OSCADObject.cs
@@ -3,6 +3,7 @@ using OSCADSharp.Spatial;
using OSCADSharp.Transforms;
using System;
using System.Collections.Generic;
+using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
@@ -313,6 +314,21 @@ namespace OSCADSharp
return finalObject;
}
+ ///
+ /// Writes the script for this OSCADObject to the file specified
+ ///
+ /// Path for the file to write. Including filename and (optionally) file extension
+ public void ToFile(string filePath)
+ {
+ string path = filePath;
+
+ if (!path.EndsWith(".scad"))
+ {
+ path += ".scad";
+ }
+
+ File.WriteAllLines(path, new string[] { this.ToString() });
+ }
#endregion
#region Operators