不确定这是否有帮助
1在块读取属性或其文本的情况下,可以选择文本或块的对象。
2现在你有了答案,把它写到另一个区块。
3没问题,我现在这样做。
好的,我现在使用VBA进行块操作,好的是属性编号没有标签,即attrib(0)attrib(1)atrrib(2)等,块是唯一的,除非重新创建,否则属性总是相同的数字。
因此,我选择文本或块并阅读答案,然后找到我想要更改的块并将答案写入其中。
- Newpitname = "1" 'dummy to pass then return changed
- pitname = Getpitname(Newpitname)
- 'Call Getpitname(pitname)
- MsgBox "pitname selected is " & pitname
- Function Getpitname(Newpitname As String) As String
- Dim PitNameSelect As AcadObject
- Dim pitattribs As Variant
- ThisDrawing.Utility.GetEntity PitNameSelect, basepnt, "pick pit name : "
- If PitNameSelect.ObjectName = "AcDbText" Then
- Getpitname = PitNameSelect.TextString
- End If
- If PitNameSelect.ObjectName = "AcDbBlockReference" Then
- pitblname = PitNameSelect.Name ' RETURNS BLOCK NAME
- pitattribs = PitNameSelect.GetAttributes
- Getpitname = pitattribs(0).TextString
- End If
- End Function
现在选择一个块获取其属性或插入一个新块并更新属性(这是在圣诞节前的论坛中)
- attribs(7).TextString = pitsurfRL
- attribs(.TextString = pitILin
- attribs(.Update
- attribs(7).Update
我仍然对你到底想做什么感到困惑,但希望我已经指出了如何做到这一点。 |