Using PyXLL, I have programmed automatic shapes in Excel. That is, I built a function that draws an arbitrary shape in a user spreadsheet: the shape is defined by a range of coordinates; as the coordinates are edited, a new shape can be drawn.
The shapes are just standard Excel shapes, they can be easily copied, translated, rotated, flipped, scaled, modified in any way.
Shapes are simply closed paths. An open path traverses the user vertices. A closed path traverses the user vertices and returns to the first vertex.
Because the function is in PyXLL, it can be used in any standard (xlsx) spreadsheet
That is, it does notrequire a macro spreadsheet (xlsm)
or an add-in (xlam).
The shape coordinates are in a standard Excel range; the range can be on any worksheet
The shape/path is drawn by a function; the function is called from an Excel cell formula
There are two boolean parameters:
first, closed (default) or open shape
second, arrow on the first line segment (default) or not
Therefore, 4 possible combinations:
Using PyXLL, I also programmed a shape building tool based on turtle commands. I built a function called tcmd (turtle command) that allows the following data commands:
x7 → set xnew to 7
y8.5 → set ynew to 8.5
xy4 6 → set xynew to [4, 6]
lt15 → turn left 15 degrees
rt45 → turn right 45 degrees
hd45 → set heading to 45 degrees (0 = +x; 90 = +y)
fd3 → use current heading; move forward 3
For many applications, I find it (an order of magnitude) easier to specify coordinates using ‘path’ commands as used in turtle software.
I import the TNavigator class from standard Python turtle. I take advantage of two functions within, xcor and ycor to build a coordinate list from a series of turtle commands entered in Excel.
Note that the (Part 1) processing of turtle commands is separated from the (Part 2) drawing of the shape. I use standard Excel and PyXLL script to draw the shape. This two-part approach eliminates the need for an appurtenant turtle canvas. Further, the standard Excel shapes can be mixed, matched, formatted, copied, edited, deleted like and with any manually drawn Excel shape.
For instance to draw a pentagon with side of length 5 (no sines or cosines!):
repeat 5 times
Even if no drawing is needed, the turtletcmd approach easily calculates coordinates for other Excel uses.
Here is a screenshot of tcmd calculating the pentagon coordinates
Shear and Moment Diagram
The above shows the shear and moment diagram for a propped cantilever. The leancrew link has a full explanation of the mechanics involved.