コード例 #1
0
            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();
            }
コード例 #2
0
            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();
            }
コード例 #3
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();
            }
コード例 #4
0
ファイル: Text3D.cs プロジェクト: Exolun/OSCADSharp
        /// <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();
        }
コード例 #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();
            }
コード例 #6
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();
            }
コード例 #7
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();
            }
コード例 #8
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();
            }