title: tcl error "expected floating point number but got"
body: <p>I am using tcl with the OpenSees program (see <a href="https://stackoverflow.com/questions/37114714/call-different-interpreter-for-tcl-in-python/37151296#37151296">this</a> question). One command offered by OpenSees in TCL is <code>block2D</code> and its syntax is as follows:</p>
  
  <pre><code>block2d $nx $ny $e1 $n1 element elementArgs {
  1 $x1 $y1 &lt;$z1&gt;
  2 $x2 $y2 &lt;$z2&gt;
  3 $x3 $y3 &lt;$z3&gt;
  4 $x4 $y4 &lt;$z4&gt;
  }
  </code></pre>
  
  <p>In my specific case I am doing the following: </p>
  
  <pre><code>#geometric parameters
  set nx 4
  set ny 2
  set elwidth 1.0
  set elheight 1.0
  set blockwidth [expr $nx*$elwidth]
  set blockheight [expr $ny*$elheight]
  
  block2D $nx $ny 1 1 quad "1 PlaneStrain2D 1" {
      1 0.0 0.0
      2 $blockwidth 0.0
      3 4.0 2.0
      4 0.0 2.0
  }
  </code></pre>
  
  <p>Where the variables used in the <code>block2D</code> command are set in the beginning. Unfortunately when I run this script I get the following error:</p>
  
  <pre><code>WARNING block2D numX? numY? startNode? startEle? eleType? eleArgs?: invalid node coordinate for node: 1
  expected floating-point number but got "$blockwidth"
  </code></pre>
  
  <p>I don't understand why this is happening. Other OpenSees commands allow for passing in variables. Why would this one be any different? </p>
  
  <p>I have already tried different variants and nesting of the <code>expr</code> and <code>eval</code> commands on the <code>blockwidth</code> variable... All to no avail ...</p>