Exemplo n.º 1
0
        /// <summary>
        /// Converts this object to an OpenSCAD script
        /// </summary>
        /// <returns>Script for this object</returns>
        public override string ToString()
        {
            StatementBuilder sb = new StatementBuilder();

            sb.Append("text(");
            sb.Append("\"");
            sb.Append(this.Text);
            sb.Append("\"");

            sb.AppendValuePairIfExists("size", this.Size?.ToString(), true);
            // Text is always centered in OSCADSharp to ensure correctness of
            // position interpolation
            sb.AppendValuePairIfExists("halign", "\"center\"", true);
            sb.AppendValuePairIfExists("valign", "\"center\"", true);

            sb.AppendValuePairIfExists("font", this.Font, true);
            sb.AppendValuePairIfExists("spacing", this.Spacing?.ToString(), true);
            sb.AppendValuePairIfExists("direction", this.TextDirection?.ToString(), true);
            sb.AppendValuePairIfExists("language", this.Language?.ToString(), true);

            sb.Append(");");
            sb.Append(Environment.NewLine);

            var formatter = new SingleBlockFormatter(String.Format("linear_extrude(height = {0})", 1), sb.ToString());

            return(formatter.ToString());
        }
Exemplo n.º 2
0
            public override string ToString()
            {
                string translation = this.Vector.ToString();

                string translateCommmand = String.Format("translate(v = {0})", translation);
                var    formatter         = new SingleBlockFormatter(translateCommmand, this.obj.ToString());

                return(formatter.ToString());
            }
Exemplo n.º 3
0
            public override string ToString()
            {
                string scale = this.ScaleFactor.ToString();

                string scaleCommand = String.Format("scale(v = {0})", scale);
                var    formatter    = new SingleBlockFormatter(scaleCommand, this.obj.ToString());

                return(formatter.ToString());
            }
Exemplo n.º 4
0
            public override string ToString()
            {
                string angle = this.Angle.ToString();

                string rotateCommand = String.Format("rotate({0})", angle.ToString());
                var    formatter     = new SingleBlockFormatter(rotateCommand, this.obj.ToString());

                return(formatter.ToString());
            }
Exemplo n.º 5
0
            public override string ToString()
            {
                string size = this.Size.ToString();

                string resizeCommand = String.Format("resize({0})", size);
                var    formatter     = new SingleBlockFormatter(resizeCommand, this.obj.ToString());

                return(formatter.ToString());
            }
            public override string ToString()
            {
                string normal = this.Normal.ToString();

                string mirrorCommand = String.Format("mirror({0})", normal);
                var    formatter     = new SingleBlockFormatter(mirrorCommand, this.obj.ToString());

                return(formatter.ToString());
            }
            public override string ToString()
            {
                StringBuilder sb = new StringBuilder();

                foreach (var child in this.m_children)
                {
                    sb.Append(child.ToString());
                }

                var formatter = new SingleBlockFormatter(this.outerStatement, sb.ToString());

                return(formatter.ToString());
            }
Exemplo n.º 8
0
            public override string ToString()
            {
                string colorName;

                if (!this.ColorName.StartsWith("["))
                {
                    colorName = "\"" + this.ColorName + "\"";
                }
                else
                {
                    colorName = this.ColorName;
                }
                string opacity = this.Opacity.ToString();

                string colorCommand = String.Format("color({0}, {1})", colorName, opacity);
                var    formatter    = new SingleBlockFormatter(colorCommand, this.obj.ToString());

                return(formatter.ToString());
            }