I have a sketch block definition that contains a circle. The center of the circle is the origin for a coordinate system. At runtime, I will add lines to the block sketch where needed.
My question is: What are the units of the values returned by ISketchBlockDefinition::GetArcs?
The document units are Inch-Pound-Second.
While editing the block definition via the user interface, the center of the circle is at 0.0, 0.70866.
While editing via the API, the center of the circle is at 0.0, 0.01799996.
Now, 0.70866 is 17.99996 mm, or 0.01799996 meter.
So it seems that the units of the values returned by GetArcs are meters.
I'm wondering if this is immutable: Will the units of the values returned by GetArcs always be meters?
By the way, because it took me a while to figure out what to do, and because I did not see an example elsewhere in this forum, I will mention that I selected the feature attached to the sketch block definition immediately prior to calling SketchManager.EditSketchBlock. Someone else may find this in a search.
Here is the VB.Net code:
oDrawingModel = oSwApp.ActiveDoc |
oSketchManager = oDrawingModel.SketchManager | |
oSelectionMgr = oDrawingModel.SelectionManager | |
oSelectData = oSelectionMgr.CreateSelectData | |
oDrawingModel.ClearSelection2(True) |
oFeature = oDatamatrixBlockDefinition.GetFeature | |
oFeature.Select2(False, 0) | |
oSketchManager.EditSketchBlock() |