Chuyển đến nội dung
Diễn đàn CADViet
Nguyen Hoanh

Giao diện hộp thoại trong AutoLisp

Các bài được khuyến nghị

cả nhà ơi. dcl là file gì vậy mà hay vậy.. thật sự tôi chua biết cái này.. nếu bác nào biết cái này cho bày cho thằng em này với... ý thằng em là  giờ thằng em có 1 file dcl, 1 file lisp. làm sao để sử dụng chúng

DCL là file ngôn ngữ điều khiển hộp thoại. Cái này khá phức tạp. Cần phải khá rành lisp mới sử dụng được nó. Câu hỏi của bạn xem ra quá khó trả lời.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

vậy hả bác... thật sự em mới mày mò về lisp thôi.. nhân tiện dây. nhờ bác tao em file dcl. cho lisp sau... mục dích lisp này chỉ la ghi dung sai khích thước cho khích thước trong cơ khí thôi. giờ em mún lúc gõ lệnh. xuất hiện 1 hộp thoại,,,, và việc tiếp theo là thao tác trên hộp thoại đó...nếu bác tạo được file dcl thì hướng dẫn cách sử dụng nó lun nha..em da dowload mấy file dcl di cùng lisp tương ứng mà không bit sử dụng nó.... em mù tịt cái này...cám ơn bác trước.

đây là file lisp

http://www.cadviet.com/upfiles/3/122369_ddpgi_dung_saif2.lsp

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

em nói rõ rồi mà đây là ảnh minh hoạ. cùng với cái lisp chắc các bác hiểu.. đó là hộp thoại do thằng trung cuốc viết122369_untitled.png

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

em nói rõ rồi mà đây là ảnh minh hoạ. cùng với cái lisp chắc các bác hiểu.. đó là hộp thoại do thằng trung cuốc viết122369_untitled.png

Hề hề hề,

Nhòm cái hình dialog box mà bạn gửi lên thì thấy cái việc viết một file dcl cho nó là không quá khó khăn đâu bạn ạ.

Vì bạn đang là một lisper nên mình nghĩ bạn hoàn toàn có đủ khả năng để tự viết một cái cho riêng mình.

Các tài liệu hướng dẫn về việc tạo file dcl trên diễn đàn này đã có rồi đấy. Trong đó có tài liệu của ông Jeffy Sander là khá dễ hiểu và dễ thực hành.

Nếu bạn thực sự quan tâm , mình có thể gửi lại tài liệu này để bạn tham khảo.

Việc viết một file dcl để có cái hộp thoại như hình bạn post tuy chả phải là quá khó, song mình nghĩ làm như vậy sẽ chả có ích gì cho bạn nhiều cả. Bởi vì hiện tại bạn đã có file này để xài và bạn xài nó cũng chả có trở ngại gì quá lớn cả. Nếu mình có viết thì cũng chỉ được cho bạn một cái hộp thoại mà trong đó thay vì các chữ cái của Tàu sẽ là các chữ cái tiếng Việt không dấu mà thôi. (Mình chưa thể viết các hộp thoại mà trong đó hiển thị chữ tiếng Việt có dấu do mình vẫn đang xài CAD2004). 

Theo thiển ý của mình, bạn nên đọc qua một chút các hướng dẫn về cách thiết lập các file dcl, rồi làm thử. Nếu có chỗ nào đó chưa rõ có thể trao đổi trực tiếp với mình hoặc các bác khác để rõ thêm. Mình tin là bạn sẽ nhanh chóng có được cái mà bạn cần. Và như thế mình tin là nó cũng sẽ có ích với bạn nhiều hơn là ngồi xem một cái file có sẵn bạn ạ.

Hy vọng bạn sớm đạt được niềm vui của mình trong việc thực hành viết và sử dụng lisp với các hộp thọai.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

em bít là tự viết thì sẽ tốt hơn. nhưng thằng dcl rất mới mẻ với em... vì thế em nhờ các cao thủ.. bác có tài liệu nào thì cho em với. mail em là: nguyenbd159@gmail.com.thành thật cảm ơn bác

Hề hề hề,

Đây là file dcl và file lsp sử dụng file dcl này để cho ra cái hộp thoại gần giống với cái bạn gửi lên.

Nói gần giống bởi mình chưa hiểu rõ chức năng của cái radio-button cũng như cái popup-list của cái hộp thoại bạn gửi lên. Do vậy mình tự gán cho nó cái chức năng dùng để ghi dung sai đối xứng.

Cái popup-lít thì mình chỉ làm ví dụ chơi thôi với các list chỉ gồm 5 giá trị. nếu bạn muốn có thể tự tạo thêm cho cái list này cho đủ các giá trị cần thiết.

 

Cách sử dụng của hộp thoại này là khi hộp thoại mở ra, nếu bạn muốn ghi dung sai đối xứng thì bạn phải click vào nút radio-button và chọn giá trị  sai lệch trong danh sách thả xuống với lưu ý là nó được tính theo đơn vị micromet.

Còn nếu bạn muốn nhập dung sai không đối xứng tức là giá trị sai lệch dưới và sai lệch trên khác nhau về giá trị tuyệt đối thì không click radio-button này và nhập các giá trị sai lệch theo đơn vị mm vào cáo ô tương ứng. bạn cần lưu ý rằng giá trị sai lệc trên luôn được quy ước là dương và sai lệch dưới là âm. Vì vậy nếu bạn muốn nhập sai lệch trên âm hay sai lệch dưới dương thì giá trị nhập vào phải là số âm.

 

Bạn hãy dùng thử , tham khảo và cố gắng sửa nó theo đúng ý bạn xem sao. nếu có gì khó khăn hãy post lên nhé

.

http://www.cadviet.com/upfiles/3/5194_122369_ddpgi_dung_saif2test.lsp

http://www.cadviet.com/upfiles/3/5194_sampledialog.rar

 

Lưu ý khi xả nén file rar thành file dcl bạn phải xả nó vào thư mục có trong các đường dẫn tìm kiếm của CAD để lisp có thể tải được nó khi sử dụng.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

em rất cảm ơn bác thật sự là những điều thật kỳ diệu mà thằng dcl và lisp mang lại//  bác có tài liệu thằng dcl này không cho em với.. thật sự em yêu nó mất rồi. trong hộp thoại đó em vẫn chưa hiểu hết chức năng 0,1,2,3,4,5 là gì. có 1 diều nữa là con số 0 sau dấu phẩy mình không điều khiển được,

em xin giải thích ý của mình: ví dụ khi mình nhập 0.02 thì thên kích thước 0.0200. em mún nó là 0,02

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

em rất cảm ơn bác thật sự là những điều thật kỳ diệu mà thằng dcl và lisp mang lại//  bác có tài liệu thằng dcl này không cho em với.. thật sự em yêu nó mất rồi. trong hộp thoại đó em vẫn chưa hiểu hết chức năng 0,1,2,3,4,5 là gì. có 1 diều nữa là con số 0 sau dấu phẩy mình không điều khiển được,

em xin giải thích ý của mình: ví dụ khi mình nhập 0.02 thì thên kích thước 0.0200. em mún nó là 0,02

Hề hề hề,

Tài liệu thì mình đã gửi qua mail cho bạn rồi.

Còn con số sau dấu phẩy là do bạn đặt sẵn độ chính xác của chúng trong dimension style,Bạn vào đó chỉnh lại theo ý muốn nhé.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

rất cảm ơn bác bình đã rất nhiệt tình... đọc qua xem có vẻ mịt mờ lắm.. xem ra để tán đổ thằng dcl này là không hề đơn giản....có gì mong bác và cá anh em trên diễn dàn chỉ giáo

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

rất cảm ơn bác bình đã rất nhiệt tình... đọc qua xem có vẻ mịt mờ lắm.. xem ra để tán đổ thằng dcl này là không hề đơn giản....có gì mong bác và cá anh em trên diễn dàn chỉ giáo

Hề hề hề,

Cái việc mịt mờ ấy là do lần đầu bạn tiếp xúc với dạng code mới mà thôi.

Thực ra việc code file dcl này có rất nhiều điểm tương đồng với code file lsp. Tỷ như các cặp ngoặc đóng mở, chỉ khác cái dạng ngoặc mà thôi 

Bạn đọc một hai lần sẽ phát hiện ra sự lý thú này mà.

Ngoài ra có một cách mà bạn chả cần phải nhớ nhiều làm chi. Dó là cứ copy nguyên code mẫu và tự chỉnh sửa các tham số trong code để xem sự thay đổi của hộp thoại và từ đó rút ra được kinh nghiệm khi viết code. Trong trường hợp xấu nhất thì sử dụng nguyên code mẫu sẽ đảm bảo có được hộp thoại cho dù có thể nó chưa thật đẹp.

vấn đề chính trong việc code hộp thoại này là bạn phải hiểu được chức năng của từng loại tile trong hộp thoại. Phân biệt được tác dụng của các tile và cách sử dụng các tile này trong lisp là Ok. Còn việc code thì cứ copy cho nó ra cái vẻ ......mót là được...

Chúc bạn chóng thành công. Nếu quá trình tiếp cận dcl có vấn đề gì thì cứ mạnh dạn post lên diễn đàn sẽ có các bác ấy hỗ trợ. Riêng mình thì do kiến thức là đi mót nên không thấu hiểu bằng các bác ấy mà chỉ biết xài theo đúng kiểu mót thôi bạn ạ. Nếu bạn không chê thì mình có thể truyền đạt cái mình mót được, cho dù có thể nó chưa hoàn toàn chuẩn xác.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

bác lại nguyễn thị khiêm tốn rồi. tất nhiên kiến thức là vô tận. nhứng gì mình có được chỉ là 1 hạt cát giữa đại dương kiến thức... nhưng phải nói khả năng của bác thì không ai dám phủ nhận...với những tên gà mờ như em..bác có tài liệu autolisp ko send cho em di.. thật ra em vẫn chưa thực sự hiểu rõ về nó.. em nghĩ nếu chưa biết gì nhiều về lisp thì tìm hiểu về dcl... quả là 1 cuộc kháng chiến trường kỳ

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

bác bình ơi nhờ bác tí nữa. em mún thay đổi 1 tí 

Hề hề hề,

Gì chứ muốn bớt đi thì có khó chi. Nhưng mà bạn muốn tự bớt hay muốn bớt hộ. Bớt hộ thì nhanh nhưng bạn sẽ thu hoạch được ít. Còn tự bớt thì sẽ hơi khó ka8n cho bạn một chút nhưng bạn sẽ hiểu hơn về dialog. 

Nếu bạn muốn tự bớt, mình sẽ hướng dẫn bạn làm thử và trong quá trình làm mình sẽ giải thích luôn cho bạn hiểu thêm về dialog.

Còn việc muốn cỡ chữ sai lệch bằng cỡ chữ kích thước bạn cũng nên tự làm sẽ hiểu về CAD hơn. Trong CAD chiều cao text sai lệch giới hạn được quyết định bởi biến hệ thống dimtfac. Biến này xác định tỷ lệ giữa chiều cao của text ghi sai lệch và text ghi kích thuớc. 

Sở dĩ bạn thấy cỡ text ghi sai lệch hiện tại nhỏ hơn text ghi kích thước là do trong lisp bạn gửi lên đã thiết lập biến dimtfac này là 0.5 tức là cỡ text ghi sai lệch chỉ bằng 1/2 text ghi kích thước. Như vậy bạn hoàn toàn có thể tự sửa nó theo kích cỡ bạn muốn.

Không tin bạn hãy làm thử xem sao nhé.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

bác ah,em tải về rùi ma sao cũng làm các bước ngon lành thấy ok rùi

đến khi vào lại model nhập lệnh 'CD' enter thì thế này F1 ? là sao, chẳng dùng dc,bó tay

(em mới làm cái này,trước đây toan làm thủ công ,hixxxx)

 

  • Vote giảm 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

bác ah,em tải về rùi ma sao cũng làm các bước ngon lành thấy ok rùi

đến khi vào lại model nhập lệnh 'CD' enter thì thế này F1 ? là sao, chẳng dùng dc,bó tay

(em mới làm cái này,trước đây toan làm thủ công ,hixxxx)

Hề hề hề,

Bạn cần cho biết cái lisp bạn dùng là lisp nào và cái lệnh CD là cái lệnh gì mới có thể trả lời bạn được chớ.

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

thật sư thằng dcl này khác xa với lisp... không hề đơn giản... nếu đọc sách mà làm được thi trên đời này ko cần tới thầy, cô.... bác không phiền thì bác co thể hướng dẫn chi tiết cho thằng em này được chứ. còn cái biến dimtfac thì em biết. nhưng điều em đề cập tới dây là dung sai đối xứng( tức là hậu tố của dim.) và nếu em thay đổi thằng dimtfac thì cái dung sai kia(không fai dung sai đối xứng) sẽ thay đổi.. em đã thử.. giờ không biết làm sao để được cả 2 yêu cầu về dung sai và dung sai đối xứng... em cảm ơn bác trước

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

thật sư thằng dcl này khác xa với lisp... không hề đơn giản... nếu đọc sách mà làm được thi trên đời này ko cần tới thầy, cô.... bác không phiền thì bác co thể hướng dẫn chi tiết cho thằng em này được chứ. còn cái biến dimtfac thì em biết. nhưng điều em đề cập tới dây là dung sai đối xứng( tức là hậu tố của dim.) và nếu em thay đổi thằng dimtfac thì cái dung sai kia(không fai dung sai đối xứng) sẽ thay đổi.. em đã thử.. giờ không biết làm sao để được cả 2 yêu cầu về dung sai và dung sai đối xứng... em cảm ơn bác trước

Hề hề hề,

Té ra là bạn chỉ muốn thằng dung sai đối xứng thì to bằng thằng kich thước gốc, còn thằng không đối xứng thì vẫn bé nguyên như vậy,

Điều này dấu có khó gì, thay vì bạn chỉ có một dòng code cho thằng dimtfac thì bây chừ phải thành hai và nhét mỗi thằng vào đúng vị trí điều kiện của nó là Ok.

Bạn mở file lisp ra sẽ thấy và bạn thử làm như sau xem nó có đúng cái bạn cần không nhé"

1/- Cut dòng code :  (COMMAND "DIM" "DIMTFAC" "0.5" ) rồi paste nó vào vị trí dưới dòng códe (progn 

nhưng trên dòng code :  (setq tp (atof (get_tile "myvalue1")))

trong hàm con (defun saveVars ()

2/- Copy dòng code này vào vị trí dưới dòng code (progn 

 nhưng trên dòng code:  (setq  tp (/ (atof (nth (atoi myvalue) mylist)) 1000)

cũng trong hàm con này.

Sau đó sửa "0.5" thành "1.0" .

 

Lưu lại file lisp và test nhé.

 

Còn về yêu cầu chỉnh sửa hộp thoại bạn có còn cần nữa không????

Nếu còn cứ liên lạc qua Yahoo chát mình sẽ hướng dẫn và giải thích cụ thể.

 

Chúc bạn thành công.

  • Vote tăng 1

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

@Nguyenbd1: hình như bạn chưa thấy nút mũi tên màu xanh ở góc phải dưới của mỗi bài viết? Nút đó cũng quan trọng không kém những câu hỏi của bạn.

  • Vote tăng 2

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

bạn ơi chương tình geo dùng như thế nào vây? dùng để làm gì mình tải về

nhưng chẳng biết dùng vào đâu và dùng như thế nào nữa?

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

đây là đoạn mã của bác ssg

(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
;;;--------------------------------------------------------------
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
;;;--------------------------------------------------------------
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
;;;--------------------------------------------------------------
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
;;;--------------------------------------------------------------
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
;;;--------------------------------------------------------------
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
;;;--------------------------------------------------------------
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------
 
(defun slide_slb(MyTile MyImg xi yi / x y)
(start_image MyTile)
(setq x (dimx_tile MyTile) y (dimy_tile MyTile))
(fill_image 0 0 x y 0)
(slide_image xi yi x y MyImg)
(end_image)
)
;;;--------------------------------------------------------------
(defun geo_dialog( / i)
;;;Load dialog file
    (setq i (load_dialog "geo.dcl"))
    (if (not (new_dialog "geo" i)) (exit))
;;;Slide slb file
    (slide_slb "cir" "geo(cir)" 0 -10)
    (slide_slb "squ" "geo(squ)" 0 -10)
    (slide_slb "tri" "geo(tri)" 0 -10)
;;;Assign actions
    (action_tile "cir" "(setq MyType 1)(done_dialog)")
    (action_tile "squ" "(setq MyType 2)(done_dialog)")
    (action_tile "tri" "(setq MyType 3)(done_dialog)")
;;;Display dialog and unload dialog
    (start_dialog) (unload_dialog i)
)
;;;--------------------------------------------------------------
(defun C:GEO( / MyType)
(geo_dialog)
(cond
    ((= MyType 1) (alert "This is a circle"))
    ((= MyType 2) (alert "This is a square"))
    ((= MyType 3) (alert "This is a triangle"))
    ((alert "Not any type selected!")) 
)
)
;;;--------------------------------------------------------------

Chia sẻ bài đăng này


Liên kết tới bài đăng
Chia sẻ trên các trang web khác

Tạo một tài khoản hoặc đăng nhập để nhận xét

Bạn cần phải là một thành viên để lại một bình luận

Tạo tài khoản

Đăng ký một tài khoản mới trong cộng đồng của chúng tôi. Điều đó dễ mà.

Đăng ký tài khoản mới

Đăng nhập

Bạn có sẵn sàng để tạo một tài khoản ? Đăng nhập tại đây.

Đăng nhập ngay

×