The SketchUp Ruby API **does** have “virtual” curve objects.

If you have a reference to **any** of it’s edges, then you get the curve reference via …

```
curve = edge.curve
```

… or if you have an array of the edges …

```
curve = edges.first.curve
```

Then you can get the curve properties:

```
start_pt = curve.first_edge.start.position
end_pt = curve.last_edge.end.position
if curve.is_a?(Sketchup::ArcCurve)
center = curve.center
radius = curve.radius
start_angle = curve.start_angle
end_angle = curve.end_angle
plane = curve.plane
normal_vector = curve.normal
end
```

Refer to docs (FYI, in Ruby subclasses inherit methods from their ancestors):

According to the DXF spec, the bulge is not code 43 (which is constant width.)

I’d think you’d need to use a combination of 41 and 42. (See pp 102…103)

DXF spec, page 251, establishes that the LWPOLYLINE is a 2D entity, and it’s vertices are 2D, expressed within the OCS (the entity’s local coordinate system.) So you’ll need to know how to determine the world coordinates of the SketchUp entity and transform that into the DXF entity’s OCS. (pp 251…252)

If the SketchUp curve is not within a group or component instance, then the coordinates of the points will be in model coordinates. If they are grouped or in a component, then you’ll need to multiply the instance transformations of the nestings, to convert to “world” coordinates.