Chuyển đến nội dung
Diễn đàn CADViet
Đăng nhập để thực hiện theo  
tchinh371

Khác biệt khi dùng command va dùng lisp

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

Tình hình là em có tạo mấy lệnh tắt trong líp để dể sử dụng ở các máy khác. Nhưng nó lại có sự khác biệt mà em không hiểu vì sao? Mong các Bác cao thủ chỉ dẫn giúp em với.

Trường hợp 1: Em dùng lệnh " (defun C:c() (command "copy")(princ)) " để thay thế copy. Nhưng lệnh líp này lại không có chức năng copy multiple được, muốn copy nhiều thì phải chọn lại. Trong khi đó em đánh lệnh "copy" trong command thì lại không sao cà?????

 

Command: copy

Select objects: Specify opposite corner: 126 found

Select objects:

Current settings: Copy mode = Multiple

Specify base point or [Displacement/mOde] <Displacement>: Specify second point

or <use first point as displacement>:

Specify second point or [Exit/Undo] <Exit>:

 

Command: c copy

Select objects: Specify opposite corner: 126 found

Select objects:

Specify base point or [Displacement/Multiple] <Displacement>: Specify second

point or <use first point as displacement>:

 

 

Tương tự, khi em đánh lệnh trong command "dimstyle" thì nó hiện ra hộp thọai. Nhưng khi dùng lệnh (defun C:dd() (command "dimstyle")(princ)) thì cad lại báo kiểu khác chứ không ra hộp thọai! Sao kỳ vậy???

 

(defun C:dd() (command "dimstyle")(princ))

Command: dd dimstyle

Current dimension style: Copy(2) of TL1-200 Annotative: No

Enter a dimension style option

[ANnotative/Save/Restore/STatus/Variables/Apply/?] <Restore>: Enter a dimension

style option

[ANnotative/Save/Restore/STatus/Variables/Apply/?] <Restore>: *Cancel*

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ình hình là em có tạo mấy lệnh tắt trong líp để dể sử dụng ở các máy khác. Nhưng nó lại có sự khác biệt mà em không hiểu vì sao? Mong các Bác cao thủ chỉ dẫn giúp em với.

Trường hợp 1: Em dùng lệnh " (defun C:c() (command "copy")(princ)) " để thay thế copy. Nhưng lệnh líp này lại không có chức năng copy multiple được, muốn copy nhiều thì phải chọn lại. Trong khi đó em đánh lệnh "copy" trong command thì lại không sao cà?????

 

Command: copy

Select objects: Specify opposite corner: 126 found

Select objects:

Current settings: Copy mode = Multiple

Specify base point or [Displacement/mOde] <Displacement>: Specify second point

or <use first point as displacement>:

Specify second point or [Exit/Undo] <Exit>:

 

Command: c copy

Select objects: Specify opposite corner: 126 found

Select objects:

Specify base point or [Displacement/Multiple] <Displacement>: Specify second

point or <use first point as displacement>:

 

 

Tương tự, khi em đánh lệnh trong command "dimstyle" thì nó hiện ra hộp thọai. Nhưng khi dùng lệnh (defun C:dd() (command "dimstyle")(princ)) thì cad lại báo kiểu khác chứ không ra hộp thọai! Sao kỳ vậy???

 

(defun C:dd() (command "dimstyle")(princ))

Command: dd dimstyle

Current dimension style: Copy(2) of TL1-200 Annotative: No

Enter a dimension style option

[ANnotative/Save/Restore/STatus/Variables/Apply/?] <Restore>: Enter a dimension

style option

[ANnotative/Save/Restore/STatus/Variables/Apply/?] <Restore>: *Cancel*

 

(DEFUN C:cn () (Prompt "\nChon doi tuong copy") (Setq doituongcopy (Ssget))(command ".copy" doituongcopy "" "m") (princ))

Đoạn lisp trên giải quyết cái copy của bạn. Còn cái vụ lisp không hiển thị hộp thoại là vì .... không biết diển giải ra sao nửa. Nói chung là lisp không gọi được hộp thoại của cad.

  • 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
(DEFUN C:cn () (Prompt "\nChon doi tuong copy") (Setq doituongcopy (Ssget))(command ".copy" doituongcopy "" "m") (princ))

Đoạn lisp trên giải quyết cái copy của bạn. Còn cái vụ lisp không hiển thị hộp thoại là vì .... không biết diển giải ra sao nửa. Nói chung là lisp không gọi được hộp thoại của cad.

Tui cũng không giỏi về Lisp lắm, nhưng rõ ràng là trong commandline của bạn thiếu dialog box (hộp thoại), vậy làm sao mà có hộp thoại, ông phải làm riêng một cái dialog rồi nhúng vào 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
(DEFUN C:cn () (Prompt "\nChon doi tuong copy") (Setq doituongcopy (Ssget))(command ".copy" doituongcopy "" "m") (princ))

Đoạn lisp trên giải quyết cái copy của bạn. Còn cái vụ lisp không hiển thị hộp thoại là vì .... không biết diển giải ra sao nửa. Nói chung là lisp không gọi được hộp thoại của cad.

 

 

Lâu lắm không viết LISP, nhưng mà hình như là muốn hiện được dialog thì chỉ dùng lệnh CAD thuần thôi, dừng có thêm '.' hoặc '_' trước lệnh và không dùng cả (princ) sau lệ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
Tui cũng không giỏi về Lisp lắm, nhưng rõ ràng là trong commandline của bạn thiếu dialog box (hộp thoại), vậy làm sao mà có hộp thoại, ông phải làm riêng một cái dialog rồi nhúng vào chứ.

-Bạn hiểu không đúng câu hỏi của người ta.

-Bạn cũng hiểu không đúng câu trả lời của mình.

*Bạn nên hiểu rỏ vấn đề.

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
Lâu lắm không viết LISP, nhưng mà hình như là muốn hiện được dialog thì chỉ dùng lệnh CAD thuần thôi, dừng có thêm '.' hoặc '_' trước lệnh và không dùng cả (princ) sau lệnh

-Theo bác Nguyenhoanh thì gọi hộp thoại của cad từ lisp là không thể.

-Từ trước giờ mình cũng toàn thất bại trong việc này.

*Chỉ duy nhất gọi hộp thoại chọn màu là được như sau:

(princ "\nChon mau lop :")(setq m (acad_colordlg 7))

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
-Theo bác Nguyenhoanh thì gọi hộp thoại của cad từ lisp là không thể.

-Từ trước giờ mình cũng toàn thất bại trong việc này.

*Chỉ duy nhất gọi hộp thoại chọn màu là được như sau:

(princ "\nChon mau lop :")(setq m (acad_colordlg 7))

đôi khi em dùng lệnh mà cũng ko ra hộp thoại,toàn là hỏi ở dòng command thôi(mặc dù ko có'-' trước lệnh)!em ko hiểu tại sao!nhưng em đoán là cái này có biến nào đó để chỉnh tùy từng lệnh thỳ phải?ko být sao mong các anh chỉ giáo thêm ạ

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
-Theo bác Nguyenhoanh thì gọi hộp thoại của cad từ lisp là không thể.

-Từ trước giờ mình cũng toàn thất bại trong việc này.

*Chỉ duy nhất gọi hộp thoại chọn màu là được như sau:

(princ "\nChon mau lop :")(setq m (acad_colordlg 7))

 

 

Ra được đó bạn ạh. Tôi đã từng nhiều lần gọi lệnh mà cứ bị ra dialog, sau đó phát hiện ra là nếu thêm '.' hoặc '_' thì sẽ không bị.

open-file-dialog - lênh này cũng mở dialog nè

Vậy nên cái duy nhất của bạn chưa chính xác đâu

  • 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

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
Đăng nhập để thực hiện theo  

×