Skip to main content

VBA to AutoCAD simple program

hello friends,

was just wondering it would be gr8 to make a VB program which controls what is drawn in AutoCAD ...... hmmmm interesting.....So i went through developer help in AutoCAD and finally managed to have a basic level of AutoCAD customization and some VB coding which i like to do...

So here is the pie....

1. Tools used were: AutoCAD2010 and VBAIDE which now we need to download from Autodesk website:
http://usa.autodesk.com/adsk/servlet/item?siteID=123112&id=12715668&linkID=9240618

which enables VBA in AutoCAD2010...

Objectives: adding a tool menu in AutoCAD called ICS and put a button as sub menu called 'circle' which when selected will trigger the VB program and i could do some simple stuff in AutoCAD using that VB program...

Firstly, how to add a menu in existing AutoCAD window.....i.e. things like File, Edit, View.......Help, Express.....and my own ICS ..... :)

For this just give a simple command 'CUI' at the command prompt of the AutoCAD....

window with a lot of stuff will fire up on screen.... just go to transfer tab of the same and use the button used for creating a new customization file......... ICS.cuix ............ basically this file contains information about how the different menus and commands are associated to each other in AutoCAD......... ( hmmmm AutoCAD has its own default cuix file too, so make sure you don't modify it unnecessarily )
after creating ICS.cuix somewhere on u r hard drive (as shown in fig. ICS1)....get back to customize tab of the window and select the ICS.cuix file from drop down menu as shown in fig. ICS2 and use the create new command button to create command called 'circle'.........change things as shown and most importantly ' vbarun ccc' ............this means the button pressed will cause macro called 'ccc' shall run when button pressed...

click image to view better...




ICS1




















click image to view better...


ICS2















now go to tools--> macro--> macros (alt+F8)

you ll see the blank macro window...just type 'ccc' in macro name and create button to create macro called 'ccc' ......... now press vbamanager......then vba editor.......and you will see the usual vb IDE........ then the stage is yours..........

I just put some code and made a simple program......that draws a circle at 0,0,0 and radius entered at program, also it draws a diametric dimension at 45 degrees to the circle drawn.......and zoom extents the CAD window...

here is the snap shot of it......and the code....

code: Private Sub CommandButton1_Click()
Dim circleobj As AcadCircle
Dim C(0 To 2) As Double
C(0) = 0: C(1) = 0: C(2) = 0
R = TextBox1.Value
Set circleobj = ThisDrawing.ModelSpace.AddCircle(C, R)
Dim dimObj As AcadDimDiametric
Dim CP(0 To 2) As Double
Dim FP(0 To 2) As Double
Dim LL As Double
' Define the dimension
CP(0) = -((Math.Cos(45 / 180 * 3.14)) * R): CP(1) = -((Math.Sin(45 / 180 * 3.14)) * R): CP(2) = 0#
FP(0) = ((Math.Cos(45 / 180 * 3.14)) * R): FP(1) = ((Math.Sin(45 / 180 * 3.14)) * R): FP(2) = 0#
leaderLength = 20#
' Create the diametric dimension in model space
Set dimObj = ThisDrawing.ModelSpace.AddDimDiametric(CP, FP, LL)
ZoomExtents
End Sub



module1 code:

Sub ccc()
UserForm1.Show
End Sub


and my simple stuff snapshot is like this:

click image to view better...


Comments

  1. Informative Post. thanks For Sharing this Post. Keep It Up. Keep posting. Otherwise anyone wants to Learn Staad Pro Training Course so, Contact here- +91-9311002620 or visit website- https://www.htsindia.com/Courses/cad-cam-cae/autocad-staad-pro-v8i-engineer-wildfire-training-course

    ReplyDelete

Post a Comment

Popular posts from this blog

Using Excel VBA Macro to Add Numbering Bullets to Any Data

N.B.: For Code Scroll Down :) Hello Everyone, This is Sachin K here again, Today while at work one of my colleague got into a trouble. He entered a lot of data into a spreadsheet like names of person and data related to their documents in front of their name. Now all of a sudden he needs to insert a numbering bullets in various rows, similar to one can find in MS Word. Oh !!! Its not there !!! I thought I could write a simple VBA code instead and make things easy for him. Here is the situation (Screenshot 1): You have data in row as seen below from Row No. 2 to Row No. 13. You want to insert 1) , 2), 3), ..., etc. in front of each data in the same cells as they are. It easy to put serial in empty cells in front of the data but remember that's not what we want here. Screenshot 1 : The Problem Here is the Solution (Screenshot 2): The VBA Code runs and gives a result as shown in screenshot below Screenshot 2 : The Solution The VBA Code and Form used (Scree...

Getting Thumbnail of images, Pdfs and DWG files

Its very much easy to get the thumbnail of the files supporting the thumbnail view like image files, Dwg files, pdf files........many programs need such kind of thumbnails. in VBA or VB6 projects you just need to add a simple control and set the filepath and thats it it is done!!!....i explain it below.... 5 easy steps to go so be patient.... :) 1. Go to Toolbox where general controls lie like textbox, label, button etc..... 2. right click over toolbox and go to Components........... 3. Select the following type library from controls.......if its not there in list go to browse and add it from system32 folder........add webvw.dll and u ll see this control in list....... if using VBA u might have this library alreay loaded and named " thmb ctrl "........ 4. u ll see a blank white control added to your toolbox..... 5. Just put that control on the form and in the code set thumbctl1.displayFile = "path of the file" 5. you could use common dialog to get th...

Clock - My 2nd Vb6 application

This one is my 2nd application called clock. I think most of the beginners in VB or other platform surely make a clock program by curiosity and to learn more, so do I have done one. I learnt many things while programming this one. Its color changing capability is I think cool and one should give it a try n try make a great color combination. The biggest challenge while programming this one was making the border less form movable by user click and drag. I could not create logic well and coded something bizarre that was moving the form out of the screen!!! Anyways to tackle with this problem I searched a VB coding forum and found a nice code that just worked amazingly. Thanks to the person for that code and making me realize I have a long way to go and learn. Anyways, greets to all. Download From 4Shared DOWNLOAD Download free. Thank you for downloading... Sachin Kharat