1. Trang chủ
  2. » Công Nghệ Thông Tin

Lập trình Autocad bằng VB pptx

23 282 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 789,53 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tran Duc Tang – Military Technical Academy 1.3 Các công c ụ l ậ p trình trên AutoCAD Script t ậ p l ệ nh Cho phép thực hiện các lệnh của AutoCAD từmột tệp văn bản có phần mởrộng là *.SC

Trang 1

Ch ươ ng 1 M ở ñầ u

TS Tr ầ n ðứ c T ă ng Khoa Hàng không-V ũ tr ụ , H ọ c vi ệ n KTQS

ð T: 0973 991486; Email: tranductang@yahoo.com

1.1 Gi ớ i thi ệ u

 Hi ệ n nay các ph ầ n m ề m thi ế t k ế có r ấ t nhi ề u v ề s ố lượ ng nh ư ng có

th ể chia thành hai lo ạ i chính

– Các phần mềm thương mại do các công ty tin học chuyên nghiệp thực

hiện, chúng có quy mô lớn, giải quyết những vấn ñềchính, phổbiến;

ví dụ: AutoCAD, SolidWorks, Inventor,…

– Các phần mềm do các công ty tư vấn thiết kếtựphát triển, hầu hết là

những phần mềm có quy mô không lớn và tập trung giải quyết các bài

toán cục bộ, chuyên biệt trong lĩnh vực chuyên ngành

 Tuy nhiên các ph ầ n m ề m này v ẫ n còn nh ữ ng khi ế m khuy ế t b ở i s ự

ñ a d ạ ng c ủ a th ự c t ế thi ế t k ế

 Chính vì v ậ y vi ệ c xây d ự ng thêm nh ữ ng ch ươ ng trình m ớ i, nh ư là

m ộ t công c ụ b ổ sung, nh ằ m kh ắ c ph ụ c nh ữ ng khi ế m khuy ế t,

nh ữ ng v ấ n ñề phát sinh trong quá trình thi ế t k ế là c ầ n thi ế t và có

tính hi ệ u qu ả cao

Trang 2

© 2010 Dr Tran Duc Tang – Military Technical Academy

 AutoCAD là m ộ t trong nh ữ ng ph ầ n m ề m CAD ñượ c s ử d ụ ng r ộ ng

rãi trên th ế gi ớ i M ộ t trong nh ữ ng lý do chính khi ế n AutoCAD ñượ c

s ử d ụ ng ph ổ bi ế n là tính linh ho ạ t c ủ a nó

 V ớ i c ấ u trúc m ở , AutoCAD có th ể ñượ c cá bi ệ t hóa ñể ñ áp ứ ng

ph ầ n l ớ n các yêu c ầ u c ủ a ng ườ i s ử d ụ ng, nh ư c ấ u hình l ạ i các

menu, các thanh công c ụ (toolbar), thêm các l ệ nh chuyên d ụ ng,

hay phát tri ể n các ch ươ ng trình b ổ sung (add-on) có th ể ch ạ y trong

AutoCAD.

 Vi ệ c tùy bi ế n CAD giúp ti ế t ki ệ m th ờ i gian, tăng năng suấ t và ch ấ t

l ượ ng thi ế t k ế Ta có th ể t ự ñộ ng hóa các công vi ệ c bu ồ n t ẻ , lo ạ i

b ỏ vi ệ c gõ phím l ặ p l ạ i nhi ề u l ầ n.

 Khi nào thì nên tùy bi ế n CAD?

– Không có các quy tắc rõ ràng, nhưng nhìn chung bất cứkhi nào nó

giúp tiết kiệm thời gian hay nâng cao chất lượng công việc thiết kếcủa

b n

– Nếu bạn phải thực hiện một công việc duy nhất nhưng cách thức thực

hiện khó khăn cho một dựán cụthể Sẽkhông hiệu quả ñể ñầu tư

nhiều thời gian viết một chương trình ñểtự ñộng hóa công việc trên

nhưng chỉsửd ng một lần Ngược lại, nếu nó có thểsửd ng lại

nhiều lần, việc tự ñộng hóa sẽtiết kiệm rất nhiều thời gian

– Một lợi ích của việc tùy biến CAD là sẽcải thiện các kỹ năng kỹthuậ

của bạn Vì bạn cốg ng lập trình cho CAD, bạn sẽcó hiểu biết sâu

Trang 3

© 2010 Dr Tran Duc Tang – Military Technical Academy

 Ví d ụ : khi l ậ p các phi ế u công ngh ệ các k ỹ sư phả i m ấ t nhi ề u th ờ i

gian ñể v ẽ các s ơ ñồ nguyên công , trong ñ ó c ầ n th ể hi ệ n hình

d ạ ng c ủ a phôi và chi ti ế t gia công, các b ề m ặ t gia công, m ặ t chu ẩ n,

các d ụ ng c ụ gá k ẹ p và d ụ ng c ụ c ắ t, …

– ðây là việc làm buồn tẻvà thường phải lặp ñi lặp lại nhiều lần

– Nếu tạo ra trước trong CAD một thư viện các dụng cụcắt và ñồgá và

khi cần có thểchọn và chèn chúng rất nhanh vào sơñồnguyên công

Hộp thoại

chọn vàchèn

d ng cụ

vào phiếu nguyên công

Trang 4

© 2010 Dr Tran Duc Tang – Military Technical Academy

Hộp thoại

phục

vụtra và

ñiền các thông

số

công nghệ

Bổsung tính năng

mới cho AutoCAD trong thiế

kếcầu

ñường

Trang 5

© 2010 Dr Tran Duc Tang – Military Technical Academy

1.2 L ậ p trình trên ứ ng d ụ ng n ề n

 Khi ng ườ i dùng xây d ự ng nh ữ ng ch ươ ng trình c ủ a mình d ự a trên

nh ữ ng ứ ng d ụ ng ñượ c thi ế t k ế theo c ấ u trúc m ở , ng ườ i dùng s ẽ

t ậ n d ụ ng ñượ c nh ữ ng kh ả năng sẵ n có c ủ a nh ữ ng ứ ng d ụ ng này

ñể làm n ề n, giúp cho vi ệ c l ậ p trình ñượ c nhanh và hi ệ u qu ả hơn rấ t

nhi ề u so v ớ i cách l ậ p trình thông th ườ ng, và do ñ ó có th ể g ọ i các

 M ộ t l ệ nh m ớ i hay m ộ t ch ứ c n ă ng m ớ i ñượ c xây d ự ng trên ứ ng

d ụ ng n ề n th ự c ch ấ t là m ộ t ch ươ ng trình hoàn ch ỉ nh, vì v ậ y ñể xây

d ự ng nó c ầ n có công c ụ l ậ p trình t ươ ng ứ ng Thông th ườ ng công

c ụ l ậ p trình ñượ c hi ể u nh ư là m ộ t t ậ p h ợ p bao g ồ m:

– Ngôn ngữlập trình

– Môi trường lập trình

– Thư viện hỗtrợlập trình (thường là nhng phn mm bsung giúp

cho vic xây dng chương trình ñược nhanh hơn thông qua skế

Trang 6

© 2010 Dr Tran Duc Tang – Military Technical Academy

1.3 Các công c ụ l ậ p trình trên AutoCAD

 Script (t ậ p l ệ nh)

Cho phép thực hiện các lệnh của AutoCAD từmột tệp văn bản (có

phần mởrộng là *.SCR)

 AutoLISP và VisualLISP

AutoLISP dựa trên ngôn ngữlập trình LISP, một ngôn ngữd sửd ng

và cũng khá mạnh Với môi trường phát triển tích hơp VisulaLISP có

sẵn trong AutoCAD, người dùng có thểd dàng tạo ra các ứng dụng

mởrộng AutoCAD Tất cảcác mã lệnh viết bằng AutoLISP sẽ ñược

lưu trong tệp có phần mởrộng là *.LSP

VisualLISP công cụh

trợcho lập trình với AutoLISP trong AutoCAD

Trang 7

© 2010 Dr Tran Duc Tang – Military Technical Academy

 ObjectARX (AutoCAD Runtime Extension)

ObjectARX chứa các thư viện liên kế ñộng, qua ñ người dùng có thể

tác ñộng trực tiếp lên nhân của chương trình AutoCAD Chính vì vậy,

chương trình viết với ObjectARX có khả năng rất mạnh, và thường

ñược sửd ng ñểviết các ứng dụng lớn Các chương trình sửd ng

ObjectARX ñược viết bằng ngỗn ngữVC++ và ñược biên dịch thành

tệp có phần mởrộng là *.ARX

L p trình sửd ng ObjectARX

 ActiveX Automation

Công nghệnày cho phép chia sẻdữliệu của bản vẽvới các chương

trình khác Và do ñó, ta có thểphát triển ứng dụng bằng các ngôn ngữ

lập trình khác nhau như Visual Basic, VC++ ñểtận dụng tất cảcác

tính năng sẵn có của AutoCAD thông qua mô hình ñối tượng của

AutoCAD

 AutoCAD Visual Basic for Application (VBA)

Là môi trường lập trình ñược tích hợp sẵn trong AutoCAD Các

chương trình VBA viết bằng ngôn ngữVisual Basic, hoạ ñộng dựa

trên giao diện ActiveX Automation Sựkết hợp giữa AutoCAD, ActiveX

Automation và VBA tạo nên nhiều lợi thếcho các ứng dụng mởrộng

viết bằng VBA

Trang 8

© 2010 Dr Tran Duc Tang – Military Technical Academy

Môi trường VBA trong AutoCAD

 M ỗ i công c ụ l ậ p trình luôn có nh ữ ng ñặ c ñ i ể m riêng, do ñ ó ñể

l ự a ch ọ n công c ụ l ậ p trình thích h ợ p khi l ậ p trình trên ứ ng

Trang 9

1.4 L ậ p trình trên AutoCAD b ằ ng VBA

1.4.1 T ạ i sao s ử d ụ ng VB?

VBA là công ngh ệ phát tri ể n nhanh ph ầ n m ề m ñượ c tích h ợ p vào

trong ứ ng d ụ ng n ề n và th ự c ch ấ t VBA d ự a trên ki ế n tr ụ c COM

(Component Object Model) B ằ ng cách s ử d ụ ng VBA, ng ườ i s ử

d ụ ng s ẽ có ñượ c r ấ t nhi ề u l ợ i th ế :

– VBA bao gồm một môi trường phát triển tích hợp sẵn trong ứng dụng

n n (VBA Integrated Development Enviroment – VBA IDE), giúp người

dùng có thểmởrộng ứng dụng nền một cách dễdàng mà không cần

thêm một công cụlập trình nào khác

– VBA sửd ng ngôn ngữlập trình VB, một ngôn ngữlập trình tương ñối

d sửd ng và là ngôn ngữlập trình phổbiến

– VBA trong mỗi ứng dụng ñược dựa trên mô hình ñối tượng của ứng

d ng nền, nên người sửd ng có thểphát triển ứng dụng một cách

nhanh chóng và dễdàng hơn, do ñã quen thuộc với cách thức thao

tác trong các ứng dụng nền

Trang 10

© 2010 Dr Tran Duc Tang – Military Technical Academy

– Khai thác ñược hầu hết các tính năng sẵn có của ứng dụng nề

– Do ñược tích hợp chặt chẽtrong ứng dụng nền, các chương trình viế

b ng VBA sẽcó tốc ñộthực thi nhanh hơn so với những chương trình

ngoài khác

– Các chương trình viết bằng VBA có thể ñược nhúng trong tệp của ứng

d ng nền (ví dụtệp bản vẽcủa AutoCAD) hoặc có thể ñược lưu dưới

d ng một dựán ñộc lập ðiều này giúp cho việc phân phối, chia sẻmã

lệnh ñược thuận tiện

– AutoCAD hỗtrợVBA và cung cấp một hệthống tài liệu trợgiúp phong

phú, giúp phát triển ứng dụng nhanh chóng và dễdàng

1.4.2 Các h ạ n ch ế c ủ a VB

VB nói chung và VBA nói riêng có những hạn chếnhấ ñịnh:

– Ngôn ngữlập trình VB không mạnh như ngôn ngữC hay C++

– VB cung cấp cho chúng ta bộbiên dịch riêng ñểtạo các file thực hiện

(Executed File), VBA hoạ ñộng trong chế ñộthông dịch và không cho

phép tạo các file thực hiện (Executable File)

Trang 11

© 2010 Dr Tran Duc Tang – Military Technical Academy

1.4.3 Các phiên b ả n c ủ a VB

 Stand-alone Visual Basic - VB

– VB ñược thiết kếcho phát triển các ứng dụng chung, các ứng dụng

VB có thể ñược sửd ng trong rất nhiều môi trường khác nhau

– Trong VB có 4 phiên bản (Edition)

 Visual Basic Control Creation Edition

 Visual Basic Learining Edition

 Visual Basic Professional Edition

 Visual Basic Enterprise Edition

 Visual Basic for Application – VBA

– VBA là một phiên bản của VB ñược thiết kế ñểlàm việc trong các ứng

d ng cụthể, ví dụAutoCAD, Microsofr Excel,…

– VBA xuất hiện ñầu tiên trong Microsoft Excel và Microsoft Project năm

1994 và hiện nay nó là một thành phần lõi của bộMicrosoft Office

cũng như AutoCAD

– AutoCAD VBA có ñầy ñủcú pháp của ngôn ngữVB

– Khi cài ñặt AutoCAD, nếu chọn tùy chọn bao gồm VBA, ta có thểtruy

cập vào môi trường VBA từmenu “Tools” của AutoCAD, như chỉra ở

hình dưới

– Mộ ñiểm khác biệt quan trọng giữa VBA và VB là các hộp thoại

(dialog boxes) trong AutoCAD VBA là modal, nghĩa là người sửd ng

phải ñáp lại (respond) hộp thoại trước khi các phần khác của ứng

d ng ñược tiếp tục Trong VB, các hộp thoại có thểlà modal hoặc

modeless

Trang 12

© 2010 Dr Tran Duc Tang – Military Technical Academy

vào Visual Basic Editor t ừ

Trang 13

© 2010 Dr Tran Duc Tang – Military Technical Academy

1.4.5 B ắ t ñầ u v ớ i VBA

 ðể b ắ t ñầ u AutoCAD VBA, có th ể th ự c hi ệ n theo 2 cách:

– Chọn Tools menu của AutoCAD, sau ñó chọn Macro, chọn Visual

Basic Editor

– Gõ VBAIDE từdòng lệnh của AutoCAD vàấn Enter

 Visual Basic Interactive Development Enviroment (IDE) s ẽ xu ấ t

hi ệ n nh ư hình bên IDE ñượ c xem nh ư là c ử a s ổ chính ñể phát

tri ể n các ch ươ ng trình VB, nó c ũ ng ñượ c xem nh ư là môi trườ ng

phát tri ể n tích h ợ p (Integrated Development Enviroment)

VBA Interactive Development Enviroment

Trang 14

© 2010 Dr Tran Duc Tang – Military Technical Academy

 Các thành ph ầ n c ủ a VBA IDE

– Khi mới bắ ñầu IDE bao gồm 5 thành phần chính:

+ Thanh tiêu ñề(title bar):

Ở v ị trí trên cùng c ủ a màn hình, hi ể n th ị dòng ch ữ Microsoft Visual Basic, cùng v ớ i

tên c ủ a d ự án (Project) ta ñang l àm vi ệ c Khi ch ư a ñặ t tên, tên m ặ c nh là Global1

+ Thanh menu (menu bar):

N ằ m ở ngay phía d ướ i thanh tiêu ñề , cung c ấ p các công c ụ c ầ n thi ế ñể l ậ p trình

M ộ t s ố menu như File , Edit, View t ươ ng t ự như c ác ứ ng d ụ ng Windows khác

+ Thanh công cụ(toolbar):

Cho ta các l ệ nh t ắ t c ủ a các l ệ nh trên menu hay s ử d ng M ỗ i nút l ệ nh ñượ c hi ể n th ị

b ng m ộ t ký hi ệ u.

+ Project Explorer

Ch ươ ng trình VB hay ứ ng d ụ ng chúng ta phát tri ể n th ườ ng ñượ c g ọ i là các Projects

Project Explorer giúp ta qu ả n lý các Project Project Explorer li ệ t kê các ñố i t ượ ng liên

quan ñế n project, như Forms , Modules

+ Properties Window

Li ệ t kê các thu ộ c tính c ủ a ñố i t ượ ng ñượ c ch ọ n L ầ n ñầ u chúng ta m ở IDE, c ử a s ổ

thu ộ c tính tr ố ng vì t ạ i th ờ i ñ i ể m ñ chưa c ó ñố i t ượ ng nào ñượ c t ạ

Trang 15

© 2010 Dr Tran Duc Tang – Military Technical Academy

Thanh tiêu ñề (title bar) Thanh menu (Menu bar)

Thanh công c ụ (Toolbar) Project Explorer

Properties Window

+ UserForm Window và Toolbox

- UserForm là c ử a s ổ mà ngườ i dùng s ẽ nhìn th ấ y khi ch ạ y ch ươ ng trình ðể chèn

UserForm, vào Insert\UserForm

- Toolbox: là h ộ p công c ụ , ch ứ a các nút ñ i ề u khi ể n hay các nút l ệ nh, text boxes, ðể

ng ườ i dùng có th ể ñặ t vào UserForm

Trang 16

© 2010 Dr Tran Duc Tang – Military Technical Academy

 Cửa sổnhập mã lệnh (Code Window)

– Là nơi viế t các mã l ệ nh c ủ a ch ươ ng trình ðể hi ể n th ị c ử a s ổ mã l ệ nh, vào

View\Code, ho ặ c b ấ m phím F7, hay kích ñ úp vào bi ể u t ượ ng ñ i ề u khi ể n trên

UserForm

Bài t ậ p: T ạ o m ộ t ch ươ ng trình Visual Basic ñơ n gi ả n

Thực hiện theo các bước sau:

 MởVBA IDE

 Vào Insert\UserForm ñểchèn UserForm

 Kích biểu tượng Label trên Toolbox và tạo một Label trên UserForm,

trong cửa sổProperties, chọn dòng Caption và thay từLabel1 bằng từ

Current Time:

 Kích biểu tượng Textbox trong Toolbox và ñặt một Textbox trên

UserForm, trong cửa sổProperties, gõ MyTime ởdòng Name

 Kích chọn biểu tượng CommandBotton trong Toolbox và tạo mộ

Command button trên UserForm, gán Caption trong cửa sổProperties là

Update Time

Trang 17

© 2010 Dr Tran Duc Tang – Military Technical Academy

UserForm cho ví dụtạo một chương trình VB ñơn giả

Vi ế t mã l ệ nh cho ch ươ ng trình

1 Kích ñúp chuột vào nút Updat Time, cửa sổmã lệnh sẽhiện ra, gõ dòng lệnh:

Private Sub CommandButton1_Click()

MyTime = Time

End Sub

Dòng lệnh này tạo một biết MyTime và gán cho nó giá trTime, một hàm của VB

trảvềgiá trịthời gian dựa trên ñồng hồcủa máy tính Do chúng ta ñặt tên cho

Textbox là MyTime nên giá trịthời gian này sẽtự ñộng ñược ñặt vào Textbox khi

ta kích chuột vào nút lệnh Update Time

2 Trong Project Explorer kích ñúp chuột vào UserForm1 ñểquay trởvềUserForm

3 Trong UserForm, kích ñúp chuột vào nút lệnh Close, cửa sổmã lệnh hiện ra, gõ

Trang 19

© 2010 Dr Tran Duc Tang – Military Technical Academy

1.4.6 D ự án VBA (VBA Project)

– Trong AutoCAD VBA, chương trình chúng ta tạo ñược chứa trong mộ

Project (dựán), Project chứa tất cảcác thành phần, như: UserForms,

mã lệnh, và các modules

– Chúng ta có thểghi Project này trong file bản vẽAutoCAD hoặc ghi

thành file ñộc lập ñểcó thểdùng cho nhiều bản vẽkhác nhau

– Các dựán AutoCAD VBA ñược ghi với phần mởrộng là DVB

– Chúng ta cũng có thểxem các dựán VBA như là các chương trình

– Là dựán ñược ñính kèm cùng với file bản vẽvà sẽ ñược tự ñộng tải

vào VBA IDE mỗi khi mởb n vẽcó chứa dựán nhúng ñó

– Dựán nhúng có hạn chếlà khi làm việc không thểmởhoặc ñóng file

b n vẽAutoCAD, bởi vì mục ñích của dựán nhúng chính là làm việc

bên trong bản vẽcó chứa nó

– ðiểm thuân lợi là người sửd ng không cần phải nhớ nơi lưu trữdự

án, không cần phải tải dựán mỗi khi sửd ng các chức năng có trong

dựán, tất cảcác thao tác ñ ñều ñược thực hiện tự ñộng khi mởb n

vẽcó chứa dựán nhúng

 D ự án ñộ c l ậ p:

– Là dựán ñược lưu tách biệt trong một file riêng có phần mởrộng là

*.DVB

Trang 20

© 2010 Dr Tran Duc Tang – Military Technical Academy

– Dựán ñộc lập có khả năng làm việc linh hoạt hơn, có khả năng ñóng

hoặc mởb n vẽb t kỳ

– Tuy nhiên người sửd ng cần phải nhớ nơi lưu và các chức năng có

trong từng dựán ñểkhi cần sửd ng một chức năng nào thì sẽtải dự

án ñó vào VBA IDE ñểsửd ng

– Với dựán ñộc lập, việc phân phối và chia sẻmã lệnh ñược thực hiện

d dàng hơn so với loại dựán nhúng

– Dựán ñộc lập cũng rất thích hợp ñể lưu trữ, tập hợp thành bộ thư viện

ñểsửd ng trong tất cảcác bản vẽ

 Qu ả n lý d ự án VBA

– Trong AutoCAD, việc thao tác với các dựán, như t i một dựán,

nhúng một dựán, lưu một dựán… ñược thực hiện thông qua cửa sổ

Trang 21

 Hoặc chọn nút Load trong hộp thoại VBA Manager

Hộp thoại Openn VBA Project sẽxuất hiện (như hình dưới), chọn file Project

 Hoặc bấm biểu tượng Save Project trên thanh công cụ

 Hoặc chọn Save As trong hộp thoại VBA Manager

Trang 22

© 2010 Dr Tran Duc Tang – Military Technical Academy

– ðểnhúng một Project trong một bản vẽAutoCAD

 Chọn Embed trong hộp thoại VBA Manager, Project sẽ ñược ghi khi bản

Bài t ậ p: In dòng ch ữ trong AutoCAD

 Trong bài tập này chúng ta cho hiển thịgiá trịthời gian nhưñã làm ởbài

tập trước nhưng hiển thịtự ñộng trên bản vẽAutoCAD Giao diện người

dùng vẫn giữ nguyên như cũ, chỉ thay ñổi mã lệnh

 Cách thực hiện như sau:

1 Load dựán TIMEDISP.DVB ñã lưu ởbài tập trước

2 Bấm F7 ñểhiển thịcửa sổmã lệnh

3 Ởdòng trên cùng của cửa sổmã lệnh, thêm dòng khai báo sau:

Dim InsPt(0 To 2) As Double

4 Trong phần CommandButton1, thêm các dòng lệnh sau vào trước End

Sub

Ngày đăng: 30/07/2014, 10:20

HÌNH ẢNH LIÊN QUAN

Hình dưới. - Lập trình Autocad bằng VB pptx
Hình d ưới (Trang 11)

TỪ KHÓA LIÊN QUAN