我用VB做了一个窗体向CAD图形中添加扩展数据
Private Sub Command7_Click()
'设定扩展数据
Dim xdataType As Integer '整数型组码
Dim xdata As Variant '组码值为变体类型
Dim reals3(0 To 2) As Double
Dim worlPos(0 To 2) As DoublexdataType = Val(Text2.Text)
xdata = Val(Text3.Text)Dim sset As Object
Set sset = AcadApp.ActiveDocument.SelectionSets.Add("ss1")
sset.SelectOnScreen
Dim ent As Object
For Each ent In sset
ent.SetXData xdataType, xdata
Next ent
sset.Clear
sset.Delete
End Sub
当我在文本框中输入数值后,点击按钮执行后就是这个结果,说参数Type无效
Private Sub Command7_Click()
'设定扩展数据
Dim xdataType As Integer '整数型组码
Dim xdata As Variant '组码值为变体类型
Dim reals3(0 To 2) As Double
Dim worlPos(0 To 2) As DoublexdataType = Val(Text2.Text)
xdata = Val(Text3.Text)Dim sset As Object
Set sset = AcadApp.ActiveDocument.SelectionSets.Add("ss1")
sset.SelectOnScreen
Dim ent As Object
For Each ent In sset
ent.SetXData xdataType, xdata
Next ent
sset.Clear
sset.Delete
End Sub
当我在文本框中输入数值后,点击按钮执行后就是这个结果,说参数Type无效
dim strData(1) as stringintType(0)=1001
intType(1)=1000strData(0)="XdataHeader"
strData(1)="Helloworld"xdata=strData
ent.SetXData intType, xdata这样就差不多了最简单的方法就是你参照autocad vba的帮助; 在setXData的地方按F1
首先谢谢你的指点。以上就是这个功能的整个代码,我要怎么定义才合适呢?在第一个文本框内输入xdataType,在第二个文本框内输入xdata,这样点击按钮后在模型空间内选择对象,将扩展数据添加到选择的对象中。我要怎样在按钮的点击事件中编写代码才能实现以上功能呢?非常感谢~~~·
就是我这么改就可以阿
dim intType(1) as integer
dim strData(1) as stringintType(0)=1001
intType(1)=1000strData(0)="XdataHeader"
strData(1)=text3.textDim sset As AutoCAD.AcadSelectionSet
Set sset = AcadApp.ActiveDocument.SelectionSets.Add("ss1")sset.SelectOnScreenDim ent As As AutoCAD.AcadEntity
For Each ent In sset
ent.SetXData xdataType, xdata
Next entXData里面 header的类型是1001,item的类型是1000;没有需要用户输入的类型不是说了去看autocad vba的帮助了么,里面有现成的例子