我可以在VBA中给出它,如下所示
- Public Sub issued_for_construction()
- ' This Updates the Issued for construction and sets rev 0
- Dim SS As AcadSelectionSet
- Dim Count As Integer
- Dim FilterDXFCode(1) As Integer
- Dim FilterDXFVal(1) As Variant
- Dim attribs As Variant
- Dim BLOCK_NAME As String
- On Error Resume Next
- FilterDXFCode(0) = 0
- FilterDXFVal(0) = "INSERT"
- FilterDXFCode(1) = 2
- FilterDXFVal(1) = "DA1DRTXT"
- BLOCK_NAME = "DA1DRTXT"
- Set SS = ThisDrawing.SelectionSets.Add("issued")
- SS.Select acSelectionSetAll, , , FilterDXFCode, FilterDXFVal
- For Cntr = 0 To SS.Count - 1
- attribs = SS.Item(Cntr).GetAttributes
- attribs(0).TextString = "ISSUED FOR CONSTRUCTION"
- attribs(3).TextString = "0"
- attribs(0).Update
- attribs(3).Update
- Next Cntr
- ThisDrawing.SelectionSets.Item("issued").Delete
- 'DO AGAIN FOR REVTABLE
- 'DATE
- 'Dim MyDate
- 'MyDate = Date
- Call DashDate
- FilterDXFCode(1) = 2
- FilterDXFVal(1) = "REVTABLE"
- BLOCK_NAME = "REVTABLE"
- Set SS = ThisDrawing.SelectionSets.Add("revs")
- SS.Select acSelectionSetAll, , , FilterDXFCode, FilterDXFVal
- For Cntr = 0 To SS.Count - 1
- attribs = SS.Item(Cntr).GetAttributes
- attribs(0).TextString = "0"
- attribs(1).TextString = DashDate
- attribs(2).TextString = "ISSUED FOR CONSTRUCTION"
- attribs(0).Update
- attribs(1).Update
- attribs(2).Update
- Next Cntr
- ThisDrawing.SelectionSets.Item("revs").Delete
- MsgBox "Drawing now changed to Issued for Construction"
- End Sub
只需在菜单等中执行以下操作,或用lisp键敲击,说“I0”
^C^C(vl vbaload“已发布.dvb”)(vl vbarun“已发布用于施工”)
抱歉差点忘了剧本
打开dwg1(vl vbaload“issued.dvb”)(vl vbarun“issued\u for_construction”)关闭y
打开dwg2(vl vbarun“issued_for_construction”)关闭y
打开dwg3(vl vbarun“issued_for_construction”)关闭y |