Matersammichman 发表于 2007-11-2 08:09:57

我哪里出错了-字段到区域(折线)。

**** Hidden Message *****

Matersammichman 发表于 2007-11-2 10:08:48

尝试编辑文本,然后选择编辑字段。当我这样做时,它显示*未知*。所以该字段的代码在某个地方是错误的。

Fatty 发表于 2007-11-2 12:28:48


如果他使用MText而不是Text,为什么会有所不同?

Matersammichman 发表于 2007-11-2 14:54:45

问题或错误在这一行:
我不使用vb/a,但尝试将字段代码更改为:
,正如您在代码中的某个位置所做的那样,取消注释。。。

Matersammichman 发表于 2007-11-2 15:46:59

或者尝试/测试以下内容:
这将添加字段值....

Fatty 发表于 2007-11-2 16:21:54

...仍然行不通。

Matersammichman 发表于 2007-11-2 16:43:16


奇怪。。。这是我测试的代码...(我只是对你的原始代码做了一些小的改动)
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

Matersammichman 发表于 2007-11-2 16:55:36

它在-
Str$
处窒息,这是什么原因?

Matersammichman 发表于 2007-11-2 16:58:10


我在AutoCAD 2007中运行了宏/函数,它工作正常
正如我所说,我不是VB/A程序员

Matersammichman 发表于 2007-11-2 17:05:48


,这在A2007eng
Private Sub CommandButton5_Click()
Me.hide
Dim Mytext As AcadMText
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: " & Format(CStr(plineArea), "0.00000"), vbInformation, "Area Example"
returnpnt = ThisDrawing.Utility.GetPoint(, "Select Block Insertion Point: ")
height = CDbl(VARDATA * 0.09375) 'fixED to 3/32
text = " %%).Area \f " & Chr(34) & "%lu2%ct4%qf1 SQ. FT." & Chr(34) & ">%"
'//MsgBox "The Square Footage for the selected entity equals: " & fieldcode, vbInformation, "FieldCode Example"
Set Mytext = ThisDrawing.ModelSpace.AddMText(returnpnt, 0#, text)   'must use fieldcode
Mytext.height = height
ThisDrawing.Regen acActiveViewport
text = Mytext.fieldcode
MsgBox text
Me.Show
End Sub

中也对我有用
~'J'~
页: [1] 2
查看完整版本: 我哪里出错了-字段到区域(折线)。