Hi @rgr,
Try this (in Rhino 6):
protected override Result RunCommand(RhinoDoc doc, RunMode mode)
{
var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var filename = Path.Combine(path, "Test.3dm");
Result rc;
using (var file = new File3dm())
{
var layer = new Layer { Name = "Default", Color = Color.Black };
file.AllLayers.Add(layer);
var layer_index = file.AllLayers.Count - 1;
var attribute = new ObjectAttributes { LayerIndex = layer_index };
var geometry = new List<GeometryBase>();
var attributes = new List<ObjectAttributes>();
for (var x = 0; x < 10; x++)
{
var line_curve = new LineCurve(new Point3d(x, 0, 0), new Point3d(x, 1, 0));
geometry.Add(line_curve);
attributes.Add(attribute.Duplicate());
}
var idef_index = file.AllInstanceDefinitions.Add("Test", "Test Definition", Point3d.Origin, geometry, attributes);
file.Objects.AddInstanceObject(idef_index, Transform.Identity, attribute);
rc = file.Write(filename, 6) ? Result.Success : Result.Failure;
}
return rc;
}
– Dale