奇怪。。。这是我测试的代码...(我只是对你的原始代码做了一些小的改动)
- Public Sub AddAreaField()
- Dim Mytext As AcadText
- Dim entarea As Double
- Dim textObj As AcadEntity
- Dim text As String
- Dim fieldcode As String
- Dim insertionPoint(0 To 2) As Double
- Dim height As Double
- Dim NewArea As Double
- Dim OBJID As Variant
- Dim objEnt As AcadEntity
- Dim varPick As Variant
- Dim TXTID2 As AcadText
- Dim entObjectID As Long
- Dim sysVarName As Variant
- Dim VARDATA As Variant
- Dim returnpnt As Variant
- sysVarName = "dimscale"
- VARDATA = ThisDrawing.GetVariable(sysVarName)
- Dim plineObj As AcadLWPolyline
- Dim plineArea As Double
- ThisDrawing.Utility.GetEntity objEnt, varPick, vbCr & "Select object for Area: "
- entObjectID = objEnt.ObjectID
- Set plineObj = objEnt
- MsgBox "The ObjectID of this object is " & entObjectID, vbInformation, "ObjectID Example"
- plineArea = (plineObj.Area \ 144)
- MsgBox "The area is: " & plineArea, vbInformation, "Area Example"
- returnpnt = ThisDrawing.Utility.GetPoint(, "Select Block Insertion Point: ")
- height = Val(VARDATA * 0.09375) 'fixED to 3/32
- text = "%%).Area>%"
- 'text = "%%"
- MsgBox "The Square Footage for the selected entity equals: " & fieldcode, vbInformation, "FieldCode Example"
- Set textObj = ThisDrawing.ModelSpace.AddText(text, returnpnt, height) 'must use fieldcode
- 'Set textObj = ThisDrawing.ModelSpace.AddMText(returnpnt, height, text) 'must use fieldcode
- text = textObj.fieldcode
- End Sub
|