Developer on Alibaba Coud: Build your first app with APIs, SDKs, and tutorials on the Alibaba Cloud. Read more ＞
As we all know, the main tools used in two development of AutoCAD are: Objectarx,vba,vlisp. But their advantages and disadvantages are obvious: Objectarx powerful, high programming efficiency, but its disadvantage is that programmers must master VC + +, and this language is very difficult to learn; While VBA and Vlisp are easy to start with, they seem powerless to develop large programs. Is there a language that can combine their merits and avoid their shortcomings? The answer is yes, that is Microsoft's new 21st Century programming language C #. About C # Detailed introduction, you can refer to the relevant articles.
C # is through the AutoCAD ActiveX of this bridge to and AutoCAD communication between. AutoCAD ActiveX enables the user to operate AutoCAD from within or outside of AutoCAD programmatically. It does this by displaying the AutoCAD object to the "outside world". Once these objects are displayed, many different programming languages and environments can access them. About the situation of AutoCAD ActiveX, we can refer to the help of AutoCAD.
Oh, said so much boring, or let us through a concrete example to illustrate how to use C # for AutoCAD two times development. Before introducing the example, let's talk about the configuration:
(1) Visual Studio. NET (2003 and 2002 are OK, I use 2002)
(2) AutoCAD2000 version (I use 2004)
This example is very simple, is the form created through C # to start AutoCAD and draw a straight line. The following are the specific steps of programming:
(1) Build a C # Windows application through Visual Studio. Net.
(2) In Solution Explorer, right-click the References tab, select Add Reference in the pop-up menu, and in the Add Reference dialog box, select the AutoCAD Type Library in the Drop-down list box under the COM tab Items (Note: Different versions of CAD have different numbers), click the Select button on the right, and finally click the OK button below.
(3) Add two text boxes and a button to the C # form to enter the coordinates of the starting line, the end point, and draw a line in CAD. The following is a major explanation for the added code.
(a) Add at the beginning of the program: using autocad;//import AutoCAD reference space
(b) Add in the Variable Declarations section of the form: private acadapplication a;//declare AutoCAD object
(c) by adding in the constructor section of the form: A=new acadapplicationclass ();//Create an AutoCAD object
a.visible=true;//makes AutoCAD visible
(d) By adding in the message handler function of the button:
Double Startpoint=new double; Declare line start coordinates
Double Endpoint=new double;//declares line endpoint coordinates
String Str=textbox1.text.split (', ')//Take out the line start coordinate enter the value of the text box, the input mode of the text box is "X,y,z"
for (int i=0;i<3;i++)
Startpoint[i]=convert.todouble (Str[i]);//convert str array to double type
Str=textbox2.text.split (', '); Fetch the line's endpoint coordinates enter the value of the text box
for (int i=0;i<3;i++)
A.activedocument.modelspace.addline (startpoint,endpoint);//Draw a straight line in AutoCAD
A.application.update ()//update display
Well, it's easy, you can try compiling it. As for the use of the above statements, I will explain them in detail in the next lecture.
This article is an English version of an article which is originally in the Chinese language on aliyun.com and is provided for information purposes only. This website makes no representation or warranty of any kind, either expressed or implied, as to the accuracy, completeness ownership or
reliability of the article or any translations thereof. If you have any concerns or complaints relating to the article, please send an email, providing a detailed description of the concern or
complaint, to email@example.com. A staff member will contact you within 5 working days. Once verified, infringing content will be removed immediately.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
and provide relevant evidence. A staff member will contact you within 5 working days.