Visual Basic for Applications (for AutoCAD, for Access)
Sinds AutoCAD versie 14.01 (1998) is de volledige versie van Visual Basic for Applications, kortweg VBA, een vast onderdeel van AutoCAD. Hiermee kunt u op een zeer gebruikersvriendelijke manier programmeren binnen AutoCAD. Maar dat niet alleen. U kunt AutoCAD via VBA ook aansturen vanuit bijvoorbeeld Microsoft
Access, Excel of Word en vice versa. Deze techniek heet ActiveX of Automation en is zeer universeel. Onze databasetoepassingen maken hier al jaren gebruik van om bijv. in te zoomen of om een coordinaat op te vragen. VBA-functies en -formulieren zijn volledig uitwisselbaar tussen Word, Excel en AutoCAD.
Visual Basic neemt voor een groot deel de plaats in van AutoLISP, maar AutoLISP blijft nog altijd een zeer krachtige macrotaal voor in AutoCAD. Met de komst van GstarCAD Professional, waar ook de volledige VBA-programmeeromgeving in zit, worden de in VBA ontwikkelde tools opeens bereikbaar voor iedereen die met DWG-bestanden werkt. Tools gemaakt met VBA, zoals ons programma Hoeveel, zijn met beperkte aanpassingen over te zetten op GstarCAD, omdat GstarCAD ook onder de oppervlakte veel op AutoCAD lijkt. Bij Microstation, waar sinds versie 8 ook VBA in zit, is dat helaas een stuk moeilijker.
Tijdens de opleiding Visual Basic wordt uitgebreid stilgestaan bij de objecten,
methoden, eigenschappen en gebeurtenissen van AutoCAD. Daarbij wordt gebruik
gemaakt van het Objectmodel van AutoCAD of GstarCAD. Tevens wordt er in de opleiding
besproken hoe u de koppeling tussen AutoCAD en andere applicaties kunt maken.
U zult zien dat er weinig programmacode nodig is om één en ander
te realiseren. Vooral als het gaat om gebruikersvriendelijke dialoogmenu�s.
Voorbeeld VBA-programma
Hieronder ziet u een voorbeeld van een VBA-programma zonder formulier, gemaakt om in AutoCAD objecten zichtbaar of onzichtbaar te maken.
Sub iHide()
Dim Obj As AcadEntity, nShow
With ActiveDocument
On Error Resume Next
.SelectionSets("1").Delete
On Error GoTo 0
.SelectionSets.Add("1").SelectOnScreen
nShow = .SelectionSets("1").Count
If nShow = 0 Then
nShow = 0
.SelectionSets("1").Delete
.SelectionSets.Add("1").Select acSelectionSetAll
For Each Obj In .SelectionSets("1")
If Obj.Visible = False Then
Obj.Visible = True
nShow = nShow + 1
End If
Next
MsgBox nShow & " invisible objects made visible"
Else
For Each Obj In .SelectionSets("1")
Obj.Visible = False
Next
MsgBox nShow & " objects made invisible"
End If
End With
End Sub
Lijst van beschiklbare standaardmacro‘s 8/9/10 We zijn begonnen met het publiceren over onze standaardmacro‘s. We hebben veel meer dan momenteel vermeld, dus neem gerust contact met ons op voor vragen.
Hieronder ziet u een latere versie van het hoeveelhedenprogramma in de ontwerpweergave.
Uw reactie wordt zeer op prijs gesteld. Zegt het voort!
Om te voorkomen dat uw surfgedrag op onze website kan worden gevolgd door derde partijen, zoals Facebook, hebben wij alle actieve links e.d. verwijderd, m.u.v. Statcounter. U kunt natuurlijk nog wel onze Facebook-pagina bezoeken.
Meer informatie?
Wilt u meer informatie, een offerte of een webdemo? Vul dan hier uw gegevens in. We sturen dan per email de gevraagde informatie of geven u enkele datums voor een webdemo.