Hello,
I made sample code. Create new part document and then run this VBA macro.
Sub test()
Dim partDoc As PartDocument
Set partDoc = ThisApplication.ActiveDocument
Dim compDef As PartComponentDefinition
Set compDef = partDoc.ComponentDefinition
Dim sketch As PlanarSketch
Set sketch = compDef.Sketches.Add(compDef.WorkPlanes(1))
sketch.Edit
Dim centerPoint As SketchPoint
Set centerPoint = sketch.AddByProjectingEntity(compDef.WorkPoints(1))
Dim cornerPoint As Point2d
Set cornerPoint = ThisApplication.TransientGeometry.CreatePoint2d(5, 5)
Dim entities As SketchEntitiesEnumerator
Set entities = sketch.SketchLines.AddAsTwoPointCenteredRectangle(centerPoint, cornerPoint)
CreateLengthConstraint entities(1)
CreateLengthConstraint entities(2)
partDoc.Update
sketch.ExitEdit
End Sub
Sub CreateLengthConstraint(line As SketchLine)
Dim point1 As SketchPoint
Dim point2 As SketchPoint
Dim textPoint As Point2d
Set point1 = line.Constraints(1).EntityTwo
Set point2 = line.Constraints(2).EntityTwo
Set textPoint = ThisApplication.TransientGeometry.CreatePoint2d((point1.Geometry.X + point2.Geometry.X) / 2, (point1.Geometry.Y + point2.Geometry.Y) / 2)
Call line.Parent.DimensionConstraints.AddTwoPointDistance(point1, point2, kAlignedDim, textPoint)
End Sub
There may be more better(simple) way...
Does this code help you?
=====
Freeradical
Hideo Yamada