如何用VBA修改图块(block)的属性?
在lisp中我可以用subst、entmod两个函数修改块的属性,比如块名什么的。但在VBA中该如何实现呢?请大家帮忙啊,十万火急。我这有用CASS成的图,但单位要把这些图改成自己开发的一套系统中,此系统与CASS系统图块名不一样,现在我要把他们改过来,该怎么办啊? 如果块未插入,则可以直接用.Name属性来改名称。 块都插入了,怎么修改啊?.NAME属性好象不能修改的。另外如何建立块选择集呢?建立好了如何一个个提起,查看单个块属性呢?(诸如插入点、缩放比例、块名等)有没有实例呢?谢谢了 就是,如何选择已插入的块,然后再旋转、移动啊? 俺也想知道包括如何读取块的属性。 先读取所有得块参照的属性,存入数组,再更改块名,然后读取数组中的数据重生成 说的容易,怎么操作呢?有具体的实例吗?我真的很急啊,谢谢了 '========如果有属性修改任务=========<BR> '===================================<BR> '===================================<BR> DoEvents<BR> fileright = False<BR> If Check7.Value = 1 Then<BR> If dwgfile.ActiveSpace = acModelSpace Then<BR> For Each obj In dwgfile.ModelSpace<BR> cadmessage.Label7.Caption = "正在进行属性修改: 查找目标块块 " & mainblock & " 当前 " & obj.ObjectName<BR> <BR> If obj.ObjectName = "AcDbBlockReference" Then<BR> If obj.Name = mainblock Then<BR> fileright = True<BR> cadmessage.Label7.Caption = "正在进行属性修改: 已找到 " & mainblock & " 当前正属性修改中。。。"<BR> objatts = obj.GetAttributes<BR> For m = LBound(objatts) To UBound(objatts)<BR> For n = 0 To Combo6.ListCount - 1<BR> If objatts(m).TagString = Combo6.List(n) Then<BR> If Combo8.List(n) <> "" Then<BR> If Combo8.List(n) = "null" Or Combo8.List(n) = "NULL" Then<BR> objatts(m).TextString = ""<BR> Exit For<BR> Else<BR> objatts(m).TextString = Combo8.List(n)<BR> Exit For<BR> End If<BR> End If<BR> End If<BR> Next n<BR> Next m<BR> End If<BR> End If<BR> Next obj<BR> End If<BR> <BR> <BR> If dwgfile.ActiveSpace = acPaperSpace Then<BR> For Each obj In dwgfile.PaperSpace<BR> cadmessage.Label7.Caption = "正在进行属性修改: 查找目标块块 " & mainblock & " 当前 " & obj.ObjectName<BR> If obj.ObjectName = "AcDbBlockReference" Then<BR> If obj.Name = mainblock Then<BR> fileright = True<BR> cadmessage.Label7.Caption = "正在进行属性修改: 已找到 " & mainblock & " 当前正属性修改中。。。"<BR> objatts = obj.GetAttributes<BR> For m = LBound(objatts) To UBound(objatts)<BR> For n = 0 To Combo6.ListCount - 1<BR> If objatts(m).TagString = Combo6.List(n) Then<BR> If Combo8.List(n) <> "" Then<BR> If Combo8.List(n) = "null" Or Combo8.List(n) = "NULL" Then<BR> objatts(m).TextString = ""<BR> Else<BR> objatts(m).TextString = Combo8.List(n)<BR> End If<BR> End If<BR> End If<BR> Next n<BR> Next m<BR> End If<BR> End If<BR> Next obj<BR> End If<BR> End If 谢谢先,我试试看
页:
[1]