Hi Andy

Yes but it is quite useless. For instance the SDK help provides the following for spline curve graphics:

**Using Spline Curve Graphics (Regen)** The TurboCAD Spline curve is a continous cubic spline, defined by a minimum of three control points. Each Spline is defined by start and end points on the curve, and at least one intermediate control point. All intermediate control points are off-curve points. Note: Even if you create a curve using the Spline By Fit Points command in TurboCAD, the result is a spline with control points.

The parent Spline curve graphic has two children: a DATA graphic that contains property information, and a cosmetic GRAPHIC that contains the approximating polyline to the curve. The child cosmetic is just a simple 3D Polyline type.

Spline Curve Graphic Details Part Description

Type TCW30Curve

RegenType TCW30Curve

Normal Flags Editable, Visible

Subtype Extended Properties $SPLINESEGS: Integer; The number of segments in the spline approximation

$SPLFRAME: Integer; Indicates whether or not to show the spline frame

$SPLINETYPE: Integer; Type of curve -- 0 for a spline, 1 for a bezier curve

DEGREE: Long; Indicates the maximum degree of the curve.

SPLINECLOSED: Byte; Value: Indicates whether or not the curve is closed.

NPOINTS: Long; The number of points in the curve's control frame

NKNOTS: Long; The number of knots in the curve

REALDEGREE: Long; The actual degree of the curve

M_ObjectType: String; "Spline"

It then supply a demonstration of the code to utilise this as shown below:

Dim app As IMSIGX.Application Dim drw As IMSIGX.Drawing Dim grf As IMSIGX.Graphic Dim verts As IMSIGX.Vertices Dim props As IMSIGX.Properties Set app = GetObject("", "TurboCAD.Application") Set drw = app.Drawings.Add Set grf = drw.Graphics.Add("TCW30Curve", "TCW30Curve") Set verts = grf.Vertices Set props = grf.Properties

props.Item("$SPLFRAME").Value = 1

props.Item("$SPLINETYPE").Value = 1 'bezier'

verts.Add 0, 0, 0

verts.Add 5, 10, 0

verts.Add 10, 0, 0

verts.Add 15, 10, 0

verts.Add 20, 0, 0

grf.Draw

Set grf = Nothing

Set grf = drw.Graphics.Add("TCW30Curve", "TCW30Curve")

Set verts = grf.Vertices

Set props = grf.Properties

props.Item("DEGREE").Value = 4

props.Item("$SPLFRAME").Value = 0

props.Item("$SPLINETYPE").Value = 0 'spline' props.Item("SPLINECLOSED").Value = 0 'spline not closed.

verts.Add 0, 0, 0

verts.Add 5, 10, 0

verts.Add 10, 0, 0

verts.Add 15, 10, 0

verts.Add 20, 0, 0

grf.Draw

Dim grf2 As IMSIGX.Graphic Set grf2 = grf.Graphics.Item(1) 'Item(0) is the Data object, Item(1) contains the cosmetic graphic' Dim verts2 As IMSIGX.Vertices Set verts2 = grf2.Vertices Dim grf3 As IMSIGX.Graphic Set grf3 = drw.Graphics.Add 'default graphic type is polyline Dim verts3 As IMSIGX.Vertices Set verts3 = grf3.Vertices Dim vx As IMSIGX.Vertex For each vx in verts2 verts3.Add vx.x, vx.y, vx.z 'copy the cosmetic vertices to the new polyline Next grf3.Properties.Item("Pencolor").Value = 255 grf3.Draw

You cannot convert this to Ruby as the properties names are unknown and produce an immediate error.

I went back to Excel and VBA to check if it could work and yes you can get this working, to an extend. When you try to access item 1 an error occur.

Further more this can not be used to draw a 3D curve as I can only generate a 2d version of graphs even if the z coordinate is not 0.

If you can help me to figure out how to achieve this I will greatly appreciate it. Ryby is seems to be very dead.

Thanks anyway for your input.

Jacobusdt