SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
1. Gi i thi u v Autolisp
1.1. Sơ lư c v LISP
LISP – List Processing là m t chu n ngôn ng l p trình ñư c John McCarthy phát tri n
vào năm 1956 trong d án nghiên c u AI (Artificial Intelligence). Phiên b n ñ u tiên LISP
1.5 ñư c gi i thi u vào ñ u th p niên 60 và phát tri n v i nhi u bi n th như: BBNLisp,
Interlisp, MacLisp, NIL (New Implementation of Lisp), Franz Lisp…Vào th p niên 70 và ñ u
nh ng năm 80 ñã có máy tính chuyên d ng như Lisp Machines ñư c thi t riêng ñ ch y
nh ng chương trình LISP. ð n năm 1981 ñ chu n hóa LISP các nhà l p trình ñã t p h p
và chu n hóa thành chu n Common LISP. Năm 1984 Golden Common LISP tr thành
chu n chính th c cho máy tính IBM và sau này phát tri n thành XLISP- ti n thân c a
Autolisp ngày nay.

1.2. L ch s phát tri n c a Autolisp
AutoLisp ñư c phát tri n t XLISP là ngôn ng l p trình trên môi trư ng AutoCAD và
ñư c công b phiên b n ñ u tiên 2.18 vào tháng 01 năm 1986. Cùng v i s phát tri n c a
AutoCAD các phiên b n c a Autolisp ngày càng ñư c hoàn thi n v i nhi u tính năng m i,
có th k ñ n m t vài phiên b n tiêu bi u như sau:
- Chính th c gi i thi u phiên b n 2.5 tích h p vào AutoCAD R7 v i m t s tính tăng cơ
b n v các tương tác v i ñ i tư ng trong b n v
- Phiên b n 2.6 tích h p vào AutoCAD R7 v i ch c năng 3D và m t s hàm m i getcorner,
getkword, và initget.
- Phiên b n tích h p vào AutoCAD R12 gi i thi u m t s hàm GUI (Graphic User Interface)
và ngôn ng ñi u khi n h p tho i DCL (Dialog Control Language).
- Phiên b n Visual LISP™ gi i thi u cùng v i AutoCAD R14 là m t môi trư ng phát tri n
Autolisp ñ c l p, tr c quan v i s h tr c a các công c g r i.
- Visual LISP™ ñư c chính th c tích h p vào AutoCAD 2000 và t ñó ñ n nay ñư c b
sung nhi u tích năng m i.

1.3. Ưu và như c ñi m c a Autolisp
1.3.1. Ưu ñi m
Làm vi c r t t t và d dàng v i ñi m và các y u t hình h c.
R t m m d o, không kh t khe.
Không c n trình d ch - l p trình và th c hi n l nh.
Ch y ñư c trên t t các các h ñi u hành v i cùng 1 file Lisp.
Qu n lý ñ i tư ng v i List - m t ki u d li u v i nhi u ưu ñi m vư t tr i trong qu n lý t a
ñ ñi m.
Mã ngu n m và c ng ñ ng phát tri n Autolisp r t r ng l n.

1.3.2 Như c ñi m
Hình th c bên ngoài không h p d n.
Cú pháp khó hi u.
H n ch , không có trình biên d ch.
Ngôn ng trung gian nên th c thi ch m.
H u như không th tương tác v i h th ng.

2. Nh ng khó khăn khi ti p c n v i Autolisp
Có th kh ng ñ nh ch c ch n m t ñi u là Autolisp là m t ngôn ng r t d ti p c n so v i
m t s ngôn ng l p trình khác vì nó là ngôn ng l p trình theo k ch b n (Script). Tuy
nhiên, ñ ti p c n ñư c v i Autolisp yêu c u ngư i h c ph i có ki n th c n n v l p trình
và n m v ng v AutoCAD, ñ ng th i ph i có ki n th c nh t ñ nh v hình h c. Chương
trình Autolisp là m t t h p nh ng k ch b n ñư c ñ nh trư c n m ñi u khi n AutoCAD
th c thi theo suy nghĩ c a ngư i thi t k .

ða s m i ngư i mu n h c Autolisp là ñ gi i quy t nh ng bài toán trong lĩnh v c chuyên
môn c a mình. ð ti p c n và ng d ng t t Autolisp trong công vi c yêu c u ngư i l p
trình ph i có s liên h v i nhu c u công vi c th c t , ñi u này ph thu c r t l n vào s
trư ng c a m i ngư i. B n ñang th c hi n m t vài thao tác ñ hoàn thi n b n v c a
mình và b n ch t nh n ra nó c l p l i liên t c. M t ý tư ng n y ra là b n c n th c hi n
m t ño n chương trình Autolisp ñ t ñ ng th c hi n các thao tác này và chương trình
Autolisp ñư c hoàn thành. ði u này có th gi i thích ñư c vì sao m t s ngư i l i c m
th y khó khăn khi ti p c n v i Autolisp m t dù kh năng tư duy v l p trình c a h khá t t.

3. M t s khái ni m và cú pháp l p trình
3.1. Gi i thi u
M t chương trình Autolisp luôn b t ñ u b ng d u “(“ và k t thúc b ng d u “)”. M t
chương trình Autolisp ñơn gi n như sau:
     Code:
    (defun myProg()
     (princ quot;Tecco 533quot;)
     (princ)
    )

Autolisp là ngôn ng tr v giá tr sau khi th c thi l nh. B n có th ki m tra ñi u này b ng
cách m AutoCAD và g dòng l nh sau: (+ 1 2)
K t qu tr v là 3.

3.2. Bi n
ð gán giá tr trong Autolisp b n c n s d ng t khóa setq v i cú pháp: (setq a 1)
ð ki m tra giá tr c a bi n dùng t khóa ! v i cú pháp: !a
Gi ng m t s ngôn ng l p trình khác Autolisp cũng qui ñ nh cách ñ t tên bi n như sau:
- Không dùng các ký t ñ c bi t: *, &, ^, $...
- Không dùng các t khóa c a AutoCAD: LINE, PLINE, MIRROR…
- Tên bi n không phân bi t ch hoa và ch thư ng

3.3. Hàm
Autolisp qui ñ nh t   khóa defun ñ ñ nh nghĩa hàm th c thi v i cú pháp:
     Code:
    (defun myProg()
     (princ quot;Tecco 533quot;)
     (princ)
    )

Ngoài ra Autolisp còn s d ng t khóa C: s khai báo v i AutoCAD là chương trình s
th c thi b ng l nh t i d u nh c l nh Command v i cú pháp:
    Code:
    (defun C:myProg()
     (princ quot;Tecco 533quot;)
     (princ)
    )

V i hàm ñ u tiên ñ th c thi b n ph i gõ Command: (myProg) t i dòng nh c l nh còn v i
hàm th hai b n ch c n g Command: myProg gi ng như m t l nh trong AutoCAD.

3.4. Ki u d li u
M t s ki u d li u thông d ng trong Autolisp như sau:
String: Chu i g m các ký t và s
Integers: S t nhiên
Real: S th c
List: Ki u d li u ñ c trưng và cũng là th m nh c a LISP so v i các ngôn ng    l p trình
khác.
Associated List: ðây là ki u d li u ñ nh nghĩa các ñ i tư ng trong AutoCAD.
D a trên các ki u d li u trên Autolisp phân lo i các nhóm hàm d ng s n như sau:
- Hàm x lý chu i: substr, strlen, strcase, strcat
- Hàm x lý s : abs, atof, atoi, fix, float, itoa
- Hàm x lý List: car, cdr, cadr, caddr, caar, cddr, foreach, list, cons, nth
- Hàm chuy n ñ i: fix, float, itoa, atoi, atof, rtos, angtos
- Hàm toán h c: +, -, *, /, +1, -1, cos, atan, sin, sqrt, expt
Hàm l a ch n th c th : entsel, ssget
Hàm x lý t p ch n: ssadd, ssdel, sslength, ssname
Hàm x lý ñ i tư ng: entget, entlast, entnext, entdel, entmod, entupd
Hàm x lý file: pen, close, read-line, write-line

3.5. B ng mã DXF
AutoCAD ñ nh nghĩa m t ñ i tư ng trên b n v theo ki u d li u Associated List như sau:
((-1 . <Entity name: 30a0510>) (0 . quot;LINEquot;) (5 . quot;22quot;) (100 . quot;AcDbEntityquot;) (67 . 0) (8 . quot;0quot;) (62
. 4) (100 . quot;AcDbLinequot;) (10 3.39219 5.3243 0.0) (11 8.72878 3.10374 0.0) (210 0.0 0.0 1.0))
ðây là m t t p h p các c p ñôi (mã s . d li u) ñư c qui ñ nh trư c. Tùy theo ñ i tư ng
và thu c tính ñ i tư ng mà Associated List s có nh ng tham s khác nhau. Các mã s
này tuân theo m t qui ñ nh trong b ng ñ nh nghĩa cho trư c g i là b ng mã DXF. ð có
th ñ u khi n ñư c các ñ i tư ng trong b n v AutoCAD yêu c u ngư i l p trình ph i
hi u r t rõ v b ng mã DXF này.

3.6. D li u m r ng
AutoCAD dùng các mã s t 1000 ñ n 1042 ñ bi u di n các d li u m r ng. V i d li u
m r ng ngư i l p trình có th ñánh d u ñ i tư ng trên AutoCAD ñ th c hi n các thao
tác ti p theo. M t ng d ng ñi n hình trên AutoCAD s d ng d li u m r ng này là
chương trình Nova-TDN c a Công ty tin h c Hài Hòa. Thông qua d li u m r ng chương
trình có th phân bi t ñư c ñâu là tim tuy n, ñâu là tr c d c, c t ngang…Toàn b d li u
m r ng ñư c ñ nh nghĩa trong Associated List v i mã s -3.
Ví d :
      Code:
     ((-3 (quot;TECCO533quot; (1000 . quot;Tim tuyenquot;))))


3.7. ði u ki n
Cũng gi ng v i m t s ngôn ng l p trình khác Autolisp h tr ngư i l p trình 02 cú pháp
ñi u ki n là ñi u ki n xác ñ nh If và ñi u ki n l a ch n Cond v i cú pháp như sau:
     Code:
     (if <ñi u ki n>
     <th c thi khi ñi u ki n ñúng>
     <th c thi khi ñi u ki n sau>
     )
     (cond
     (<th1> <th c thi th1>)
     (<th2> <th c thi th2>)
     ...
     (<thN> <th c thi thN>)
     )


3.8. Vòng l p
Autolisp không h tr vòng l p For mà ch h tr          02 vòng l p Repeat và While v i cú pháp
như sau:
Code:
    (while < ñi u ki n >
    <th c thi>
    )
    (repeat <s l n l p>
    <th c thi>
    )


3.9. Ngôn ng ñi u khi n h p tho i DCL
Autolisp cung c p cho ngư i l p trình m t ngôn ng ñi u khi n h p tho i DCL ñ gi i
quy t v giao di n tương tác v i ngư i s d ng. Thông qua ngôn ng DCL ngư i l p
trình có th thi t k các Form nh p li u tr c quan giúp cho chương trình tr nên thân
thi n hơn.

3.10. Hư ng ñ i tư ng
B n thân Autolisp không ph i là ngôn ng l p trình hư ng ñ i tư ng, nhưng cùng v i xu
hư ng phát tri n c a l p trình hư ng ñ i tư ng b t ñ u t Visual LISP™ cho AutoCAD
R14 hãng AutoDesk ñã tích h p vào AutoCAD công ngh ActiveX v i k thu t l p trình
hư ng ñ i tư ng VLA (Visual LISP ActiveX). Thông qua công ngh ActiveX ngư i l p
trình có th di u khi n t t các các ñ i tư ng trên b n v qua các thu c tính và phương
th c c a nó. ði u ñ c bi t là ngư i l p trình có th can thi p ñ n m t s ch c năng như
in n, ñ nh d ng h th ng AutoCAD mà trư c ñây Autolisp không can thi p ñư c. Các
chương trình s d ng công ngh ActiveX ph i ñư c d ch qua chu n ARX m i th c thi
ñư c trên AutoCAD.

4. K t lu n
Autolisp là m t ngôn ng l p trình ñơn gi n, d ti p c n và hi u qu công vi c nó ñem l i
là ñáng k . Hãy b t ñ u Autolisp v i nh ng công vi c thư ng ngày. Nh ng ño n chương
trình Autolisp ñơn nhưng có th gi m ñư c th i gian ñáng k trong vi c hoàn thi n các
b n v . M t chương trình Autolisp thành công không ph i là chương trình có qui mô l n
ñ n vài ch c ngàn dòng l nh mà ñó là chương hi u qu , gi i quy t ñư c các yêu c u c a
ngư i thi t k và ti t ki m ñư c th i gian th c hi n công vi c.

5. Gi i thi u m t s ñ a ch tham kh o
5.1. Website hư ng d n h c Autolisp
http://www.jefferypsanders.com/autolisp.html
B n ñ c có th tham kh o các tài li u gi i thi u chi ti t v các hàm d ng s n trong
Autolisp cũng như các tài li u gi i thi u v b ng DXF t i ñây. Ngoài ra t i website này b n
có th download mi n phí nhi u chương trình Autolisp r t hay.
http://www.afralisp.com/lispa/lisp.htm
Website hư ng d n h c Autolisp khá chi ti t và ñ y ñ . B n có th tham kh o b t kỳ n i
dung gì liên quan ñ n Autolisp t i ñây

5.2. Download các chương trình Autolisp
http://xarch.tu-graz.ac.at/autocad/lisp/
http://home.pacifier.com/~nemi/
http://www.autolisppage.com
http://www.caddigest.com
http://www.autolisp.co.uk/
http://www.simplecad.com
ð s   d ng lisp ph c v cho v b n v CAD ta th c hi n các bư c sau.

1. Command: AP
2. Hi n c a s Load/Unload Applications, l a ch n t t c c các lisp c n dùng. Nh n và nút
Load.
3. Sau khi load xong. Cad s ñưa ra thông báo Load thành công.


ð s d ng m t l nh Lisp lâu dài, nghĩa là mu n AutoCad t ñ ng load các file lisp khi
kh i ñ ng, th c hi n g i c a s mà Jikibo ñã nói trên (Tools -> Load Application).
Nhưng b n ko th c hi n Load b ng select file như trên, mà hãy s d ng button Contents

Mais conteúdo relacionado

Semelhante a Giới thiệu về ngôn ngữ lập trình AutoLisp trên AutoCAD

Full Stack Online Course in Marathahalli| AchieversIT
Full Stack Online Course in Marathahalli| AchieversITFull Stack Online Course in Marathahalli| AchieversIT
Full Stack Online Course in Marathahalli| AchieversITAchieversITAravind
 
4autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp014autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp01lekytho
 
4autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp014autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp01lekytho
 
620.0.The ABC's of AutoLISP - Omura, George.pdf
620.0.The ABC's of AutoLISP - Omura, George.pdf620.0.The ABC's of AutoLISP - Omura, George.pdf
620.0.The ABC's of AutoLISP - Omura, George.pdfCESARSILVIOPILACAIZA
 
620.0.The ABC's of AutoLISP - Omura, George.pdf
620.0.The ABC's of AutoLISP - Omura, George.pdf620.0.The ABC's of AutoLISP - Omura, George.pdf
620.0.The ABC's of AutoLISP - Omura, George.pdfCESARSILVIOPILACAIZA
 
nullcon 2011 - Memory analysis – Looking into the eye of the bits
nullcon 2011 - Memory analysis – Looking into the eye of the bitsnullcon 2011 - Memory analysis – Looking into the eye of the bits
nullcon 2011 - Memory analysis – Looking into the eye of the bitsn|u - The Open Security Community
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...David Rosenblum
 
qdoc.tips_oracle-dba-interview-questions.pdf
qdoc.tips_oracle-dba-interview-questions.pdfqdoc.tips_oracle-dba-interview-questions.pdf
qdoc.tips_oracle-dba-interview-questions.pdfOsamaQahtan
 
Gráficas en python
Gráficas en python Gráficas en python
Gráficas en python Jhon Valle
 
Open and Automated Machine Learning
Open and Automated Machine LearningOpen and Automated Machine Learning
Open and Automated Machine LearningJoaquin Vanschoren
 
Implementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoCImplementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoCjimfuller2009
 
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Javeline B.V.
 
Machine learning For Smarter Manufacturing & its Fundamentals
Machine learning For Smarter Manufacturing & its FundamentalsMachine learning For Smarter Manufacturing & its Fundamentals
Machine learning For Smarter Manufacturing & its FundamentalsSuchitGaikwad
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_LibrarySaurabh Chauhan
 
Reducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code AnalysisReducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code AnalysisSebastiano Panichella
 
The Why and What of Pattern Lab
The Why and What of Pattern LabThe Why and What of Pattern Lab
The Why and What of Pattern LabDave Olsen
 
Acm aleppo cpc training introduction 1
Acm aleppo cpc training introduction 1Acm aleppo cpc training introduction 1
Acm aleppo cpc training introduction 1Ahmad Bashar Eter
 
An Experiment with Checking the glibc Library
An Experiment with Checking the glibc LibraryAn Experiment with Checking the glibc Library
An Experiment with Checking the glibc LibraryAndrey Karpov
 

Semelhante a Giới thiệu về ngôn ngữ lập trình AutoLisp trên AutoCAD (20)

Full Stack Online Course in Marathahalli| AchieversIT
Full Stack Online Course in Marathahalli| AchieversITFull Stack Online Course in Marathahalli| AchieversIT
Full Stack Online Course in Marathahalli| AchieversIT
 
4autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp014autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp01
 
4autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp014autocadchotudonghoathietke1744 101103233741-phpapp01
4autocadchotudonghoathietke1744 101103233741-phpapp01
 
620.0.The ABC's of AutoLISP - Omura, George.pdf
620.0.The ABC's of AutoLISP - Omura, George.pdf620.0.The ABC's of AutoLISP - Omura, George.pdf
620.0.The ABC's of AutoLISP - Omura, George.pdf
 
620.0.The ABC's of AutoLISP - Omura, George.pdf
620.0.The ABC's of AutoLISP - Omura, George.pdf620.0.The ABC's of AutoLISP - Omura, George.pdf
620.0.The ABC's of AutoLISP - Omura, George.pdf
 
nullcon 2011 - Memory analysis – Looking into the eye of the bits
nullcon 2011 - Memory analysis – Looking into the eye of the bitsnullcon 2011 - Memory analysis – Looking into the eye of the bits
nullcon 2011 - Memory analysis – Looking into the eye of the bits
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...
 
qdoc.tips_oracle-dba-interview-questions.pdf
qdoc.tips_oracle-dba-interview-questions.pdfqdoc.tips_oracle-dba-interview-questions.pdf
qdoc.tips_oracle-dba-interview-questions.pdf
 
Gráficas en python
Gráficas en python Gráficas en python
Gráficas en python
 
Open and Automated Machine Learning
Open and Automated Machine LearningOpen and Automated Machine Learning
Open and Automated Machine Learning
 
Implementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoCImplementing the Genetic Algorithm in XSLT: PoC
Implementing the Genetic Algorithm in XSLT: PoC
 
DB Conan 1.0
DB Conan 1.0DB Conan 1.0
DB Conan 1.0
 
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
 
Machine learning For Smarter Manufacturing & its Fundamentals
Machine learning For Smarter Manufacturing & its FundamentalsMachine learning For Smarter Manufacturing & its Fundamentals
Machine learning For Smarter Manufacturing & its Fundamentals
 
Technical_Report_on_ML_Library
Technical_Report_on_ML_LibraryTechnical_Report_on_ML_Library
Technical_Report_on_ML_Library
 
Reducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code AnalysisReducing Redundancies in Multi-Revision Code Analysis
Reducing Redundancies in Multi-Revision Code Analysis
 
Project00
Project00Project00
Project00
 
The Why and What of Pattern Lab
The Why and What of Pattern LabThe Why and What of Pattern Lab
The Why and What of Pattern Lab
 
Acm aleppo cpc training introduction 1
Acm aleppo cpc training introduction 1Acm aleppo cpc training introduction 1
Acm aleppo cpc training introduction 1
 
An Experiment with Checking the glibc Library
An Experiment with Checking the glibc LibraryAn Experiment with Checking the glibc Library
An Experiment with Checking the glibc Library
 

Mais de Mio Class

Primavera Cost Res Vn
Primavera Cost Res VnPrimavera Cost Res Vn
Primavera Cost Res VnMio Class
 
van de chung excel
van de chung excelvan de chung excel
van de chung excelMio Class
 
SEISMIC_DESIGN
SEISMIC_DESIGNSEISMIC_DESIGN
SEISMIC_DESIGNMio Class
 
PLOT MS PROJECT
PLOT MS  PROJECTPLOT MS  PROJECT
PLOT MS PROJECTMio Class
 
[Construction E Book]
[Construction E Book][Construction E Book]
[Construction E Book]Mio Class
 
Hdsd Dutoan Hitosoft
Hdsd Dutoan HitosoftHdsd Dutoan Hitosoft
Hdsd Dutoan HitosoftMio Class
 
Bai3-Entry for Gantt
Bai3-Entry for GanttBai3-Entry for Gantt
Bai3-Entry for GanttMio Class
 
Bai2-Tao du an
Bai2-Tao du anBai2-Tao du an
Bai2-Tao du anMio Class
 
bai1-gioithieu
bai1-gioithieubai1-gioithieu
bai1-gioithieuMio Class
 

Mais de Mio Class (14)

Primavera Cost Res Vn
Primavera Cost Res VnPrimavera Cost Res Vn
Primavera Cost Res Vn
 
van de chung excel
van de chung excelvan de chung excel
van de chung excel
 
staad pro
staad prostaad pro
staad pro
 
SEISMIC_DESIGN
SEISMIC_DESIGNSEISMIC_DESIGN
SEISMIC_DESIGN
 
PLOT MS PROJECT
PLOT MS  PROJECTPLOT MS  PROJECT
PLOT MS PROJECT
 
[Construction E Book]
[Construction E Book][Construction E Book]
[Construction E Book]
 
Hdsd Dutoan Hitosoft
Hdsd Dutoan HitosoftHdsd Dutoan Hitosoft
Hdsd Dutoan Hitosoft
 
Bai3-Entry for Gantt
Bai3-Entry for GanttBai3-Entry for Gantt
Bai3-Entry for Gantt
 
Bai2-Tao du an
Bai2-Tao du anBai2-Tao du an
Bai2-Tao du an
 
bai1-gioithieu
bai1-gioithieubai1-gioithieu
bai1-gioithieu
 
v20
v20v20
v20
 
Shile
ShileShile
Shile
 
Shile
ShileShile
Shile
 
Shile
ShileShile
Shile
 

Último

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Giới thiệu về ngôn ngữ lập trình AutoLisp trên AutoCAD

  • 1. 1. Gi i thi u v Autolisp 1.1. Sơ lư c v LISP LISP – List Processing là m t chu n ngôn ng l p trình ñư c John McCarthy phát tri n vào năm 1956 trong d án nghiên c u AI (Artificial Intelligence). Phiên b n ñ u tiên LISP 1.5 ñư c gi i thi u vào ñ u th p niên 60 và phát tri n v i nhi u bi n th như: BBNLisp, Interlisp, MacLisp, NIL (New Implementation of Lisp), Franz Lisp…Vào th p niên 70 và ñ u nh ng năm 80 ñã có máy tính chuyên d ng như Lisp Machines ñư c thi t riêng ñ ch y nh ng chương trình LISP. ð n năm 1981 ñ chu n hóa LISP các nhà l p trình ñã t p h p và chu n hóa thành chu n Common LISP. Năm 1984 Golden Common LISP tr thành chu n chính th c cho máy tính IBM và sau này phát tri n thành XLISP- ti n thân c a Autolisp ngày nay. 1.2. L ch s phát tri n c a Autolisp AutoLisp ñư c phát tri n t XLISP là ngôn ng l p trình trên môi trư ng AutoCAD và ñư c công b phiên b n ñ u tiên 2.18 vào tháng 01 năm 1986. Cùng v i s phát tri n c a AutoCAD các phiên b n c a Autolisp ngày càng ñư c hoàn thi n v i nhi u tính năng m i, có th k ñ n m t vài phiên b n tiêu bi u như sau: - Chính th c gi i thi u phiên b n 2.5 tích h p vào AutoCAD R7 v i m t s tính tăng cơ b n v các tương tác v i ñ i tư ng trong b n v - Phiên b n 2.6 tích h p vào AutoCAD R7 v i ch c năng 3D và m t s hàm m i getcorner, getkword, và initget. - Phiên b n tích h p vào AutoCAD R12 gi i thi u m t s hàm GUI (Graphic User Interface) và ngôn ng ñi u khi n h p tho i DCL (Dialog Control Language). - Phiên b n Visual LISP™ gi i thi u cùng v i AutoCAD R14 là m t môi trư ng phát tri n Autolisp ñ c l p, tr c quan v i s h tr c a các công c g r i. - Visual LISP™ ñư c chính th c tích h p vào AutoCAD 2000 và t ñó ñ n nay ñư c b sung nhi u tích năng m i. 1.3. Ưu và như c ñi m c a Autolisp 1.3.1. Ưu ñi m Làm vi c r t t t và d dàng v i ñi m và các y u t hình h c. R t m m d o, không kh t khe. Không c n trình d ch - l p trình và th c hi n l nh. Ch y ñư c trên t t các các h ñi u hành v i cùng 1 file Lisp. Qu n lý ñ i tư ng v i List - m t ki u d li u v i nhi u ưu ñi m vư t tr i trong qu n lý t a ñ ñi m. Mã ngu n m và c ng ñ ng phát tri n Autolisp r t r ng l n. 1.3.2 Như c ñi m Hình th c bên ngoài không h p d n. Cú pháp khó hi u. H n ch , không có trình biên d ch. Ngôn ng trung gian nên th c thi ch m. H u như không th tương tác v i h th ng. 2. Nh ng khó khăn khi ti p c n v i Autolisp Có th kh ng ñ nh ch c ch n m t ñi u là Autolisp là m t ngôn ng r t d ti p c n so v i m t s ngôn ng l p trình khác vì nó là ngôn ng l p trình theo k ch b n (Script). Tuy nhiên, ñ ti p c n ñư c v i Autolisp yêu c u ngư i h c ph i có ki n th c n n v l p trình và n m v ng v AutoCAD, ñ ng th i ph i có ki n th c nh t ñ nh v hình h c. Chương trình Autolisp là m t t h p nh ng k ch b n ñư c ñ nh trư c n m ñi u khi n AutoCAD th c thi theo suy nghĩ c a ngư i thi t k . ða s m i ngư i mu n h c Autolisp là ñ gi i quy t nh ng bài toán trong lĩnh v c chuyên môn c a mình. ð ti p c n và ng d ng t t Autolisp trong công vi c yêu c u ngư i l p trình ph i có s liên h v i nhu c u công vi c th c t , ñi u này ph thu c r t l n vào s
  • 2. trư ng c a m i ngư i. B n ñang th c hi n m t vài thao tác ñ hoàn thi n b n v c a mình và b n ch t nh n ra nó c l p l i liên t c. M t ý tư ng n y ra là b n c n th c hi n m t ño n chương trình Autolisp ñ t ñ ng th c hi n các thao tác này và chương trình Autolisp ñư c hoàn thành. ði u này có th gi i thích ñư c vì sao m t s ngư i l i c m th y khó khăn khi ti p c n v i Autolisp m t dù kh năng tư duy v l p trình c a h khá t t. 3. M t s khái ni m và cú pháp l p trình 3.1. Gi i thi u M t chương trình Autolisp luôn b t ñ u b ng d u “(“ và k t thúc b ng d u “)”. M t chương trình Autolisp ñơn gi n như sau: Code: (defun myProg() (princ quot;Tecco 533quot;) (princ) ) Autolisp là ngôn ng tr v giá tr sau khi th c thi l nh. B n có th ki m tra ñi u này b ng cách m AutoCAD và g dòng l nh sau: (+ 1 2) K t qu tr v là 3. 3.2. Bi n ð gán giá tr trong Autolisp b n c n s d ng t khóa setq v i cú pháp: (setq a 1) ð ki m tra giá tr c a bi n dùng t khóa ! v i cú pháp: !a Gi ng m t s ngôn ng l p trình khác Autolisp cũng qui ñ nh cách ñ t tên bi n như sau: - Không dùng các ký t ñ c bi t: *, &, ^, $... - Không dùng các t khóa c a AutoCAD: LINE, PLINE, MIRROR… - Tên bi n không phân bi t ch hoa và ch thư ng 3.3. Hàm Autolisp qui ñ nh t khóa defun ñ ñ nh nghĩa hàm th c thi v i cú pháp: Code: (defun myProg() (princ quot;Tecco 533quot;) (princ) ) Ngoài ra Autolisp còn s d ng t khóa C: s khai báo v i AutoCAD là chương trình s th c thi b ng l nh t i d u nh c l nh Command v i cú pháp: Code: (defun C:myProg() (princ quot;Tecco 533quot;) (princ) ) V i hàm ñ u tiên ñ th c thi b n ph i gõ Command: (myProg) t i dòng nh c l nh còn v i hàm th hai b n ch c n g Command: myProg gi ng như m t l nh trong AutoCAD. 3.4. Ki u d li u M t s ki u d li u thông d ng trong Autolisp như sau: String: Chu i g m các ký t và s Integers: S t nhiên Real: S th c List: Ki u d li u ñ c trưng và cũng là th m nh c a LISP so v i các ngôn ng l p trình
  • 3. khác. Associated List: ðây là ki u d li u ñ nh nghĩa các ñ i tư ng trong AutoCAD. D a trên các ki u d li u trên Autolisp phân lo i các nhóm hàm d ng s n như sau: - Hàm x lý chu i: substr, strlen, strcase, strcat - Hàm x lý s : abs, atof, atoi, fix, float, itoa - Hàm x lý List: car, cdr, cadr, caddr, caar, cddr, foreach, list, cons, nth - Hàm chuy n ñ i: fix, float, itoa, atoi, atof, rtos, angtos - Hàm toán h c: +, -, *, /, +1, -1, cos, atan, sin, sqrt, expt Hàm l a ch n th c th : entsel, ssget Hàm x lý t p ch n: ssadd, ssdel, sslength, ssname Hàm x lý ñ i tư ng: entget, entlast, entnext, entdel, entmod, entupd Hàm x lý file: pen, close, read-line, write-line 3.5. B ng mã DXF AutoCAD ñ nh nghĩa m t ñ i tư ng trên b n v theo ki u d li u Associated List như sau: ((-1 . <Entity name: 30a0510>) (0 . quot;LINEquot;) (5 . quot;22quot;) (100 . quot;AcDbEntityquot;) (67 . 0) (8 . quot;0quot;) (62 . 4) (100 . quot;AcDbLinequot;) (10 3.39219 5.3243 0.0) (11 8.72878 3.10374 0.0) (210 0.0 0.0 1.0)) ðây là m t t p h p các c p ñôi (mã s . d li u) ñư c qui ñ nh trư c. Tùy theo ñ i tư ng và thu c tính ñ i tư ng mà Associated List s có nh ng tham s khác nhau. Các mã s này tuân theo m t qui ñ nh trong b ng ñ nh nghĩa cho trư c g i là b ng mã DXF. ð có th ñ u khi n ñư c các ñ i tư ng trong b n v AutoCAD yêu c u ngư i l p trình ph i hi u r t rõ v b ng mã DXF này. 3.6. D li u m r ng AutoCAD dùng các mã s t 1000 ñ n 1042 ñ bi u di n các d li u m r ng. V i d li u m r ng ngư i l p trình có th ñánh d u ñ i tư ng trên AutoCAD ñ th c hi n các thao tác ti p theo. M t ng d ng ñi n hình trên AutoCAD s d ng d li u m r ng này là chương trình Nova-TDN c a Công ty tin h c Hài Hòa. Thông qua d li u m r ng chương trình có th phân bi t ñư c ñâu là tim tuy n, ñâu là tr c d c, c t ngang…Toàn b d li u m r ng ñư c ñ nh nghĩa trong Associated List v i mã s -3. Ví d : Code: ((-3 (quot;TECCO533quot; (1000 . quot;Tim tuyenquot;)))) 3.7. ði u ki n Cũng gi ng v i m t s ngôn ng l p trình khác Autolisp h tr ngư i l p trình 02 cú pháp ñi u ki n là ñi u ki n xác ñ nh If và ñi u ki n l a ch n Cond v i cú pháp như sau: Code: (if <ñi u ki n> <th c thi khi ñi u ki n ñúng> <th c thi khi ñi u ki n sau> ) (cond (<th1> <th c thi th1>) (<th2> <th c thi th2>) ... (<thN> <th c thi thN>) ) 3.8. Vòng l p Autolisp không h tr vòng l p For mà ch h tr 02 vòng l p Repeat và While v i cú pháp như sau:
  • 4. Code: (while < ñi u ki n > <th c thi> ) (repeat <s l n l p> <th c thi> ) 3.9. Ngôn ng ñi u khi n h p tho i DCL Autolisp cung c p cho ngư i l p trình m t ngôn ng ñi u khi n h p tho i DCL ñ gi i quy t v giao di n tương tác v i ngư i s d ng. Thông qua ngôn ng DCL ngư i l p trình có th thi t k các Form nh p li u tr c quan giúp cho chương trình tr nên thân thi n hơn. 3.10. Hư ng ñ i tư ng B n thân Autolisp không ph i là ngôn ng l p trình hư ng ñ i tư ng, nhưng cùng v i xu hư ng phát tri n c a l p trình hư ng ñ i tư ng b t ñ u t Visual LISP™ cho AutoCAD R14 hãng AutoDesk ñã tích h p vào AutoCAD công ngh ActiveX v i k thu t l p trình hư ng ñ i tư ng VLA (Visual LISP ActiveX). Thông qua công ngh ActiveX ngư i l p trình có th di u khi n t t các các ñ i tư ng trên b n v qua các thu c tính và phương th c c a nó. ði u ñ c bi t là ngư i l p trình có th can thi p ñ n m t s ch c năng như in n, ñ nh d ng h th ng AutoCAD mà trư c ñây Autolisp không can thi p ñư c. Các chương trình s d ng công ngh ActiveX ph i ñư c d ch qua chu n ARX m i th c thi ñư c trên AutoCAD. 4. K t lu n Autolisp là m t ngôn ng l p trình ñơn gi n, d ti p c n và hi u qu công vi c nó ñem l i là ñáng k . Hãy b t ñ u Autolisp v i nh ng công vi c thư ng ngày. Nh ng ño n chương trình Autolisp ñơn nhưng có th gi m ñư c th i gian ñáng k trong vi c hoàn thi n các b n v . M t chương trình Autolisp thành công không ph i là chương trình có qui mô l n ñ n vài ch c ngàn dòng l nh mà ñó là chương hi u qu , gi i quy t ñư c các yêu c u c a ngư i thi t k và ti t ki m ñư c th i gian th c hi n công vi c. 5. Gi i thi u m t s ñ a ch tham kh o 5.1. Website hư ng d n h c Autolisp http://www.jefferypsanders.com/autolisp.html B n ñ c có th tham kh o các tài li u gi i thi u chi ti t v các hàm d ng s n trong Autolisp cũng như các tài li u gi i thi u v b ng DXF t i ñây. Ngoài ra t i website này b n có th download mi n phí nhi u chương trình Autolisp r t hay. http://www.afralisp.com/lispa/lisp.htm Website hư ng d n h c Autolisp khá chi ti t và ñ y ñ . B n có th tham kh o b t kỳ n i dung gì liên quan ñ n Autolisp t i ñây 5.2. Download các chương trình Autolisp http://xarch.tu-graz.ac.at/autocad/lisp/ http://home.pacifier.com/~nemi/ http://www.autolisppage.com http://www.caddigest.com http://www.autolisp.co.uk/ http://www.simplecad.com
  • 5. ð s d ng lisp ph c v cho v b n v CAD ta th c hi n các bư c sau. 1. Command: AP 2. Hi n c a s Load/Unload Applications, l a ch n t t c c các lisp c n dùng. Nh n và nút Load. 3. Sau khi load xong. Cad s ñưa ra thông báo Load thành công. ð s d ng m t l nh Lisp lâu dài, nghĩa là mu n AutoCad t ñ ng load các file lisp khi kh i ñ ng, th c hi n g i c a s mà Jikibo ñã nói trên (Tools -> Load Application). Nhưng b n ko th c hi n Load b ng select file như trên, mà hãy s d ng button Contents