Đến nội dung


Hình ảnh
- - - - -

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


  • Please log in to reply
7 replies to this topic

#1 tchinh371

tchinh371

    biết zoom

  • Members
  • Pip
  • 13 Bài viết
Điểm đánh giá: 9 (bình thường)

Đã gửi 04 August 2008 - 09:31 PM

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*
  • 0
""AutoCAD đã có công tạo LISP, chúng ta hãy cùng nhau phát triển LISP"

#2 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 05 August 2008 - 07:12 AM

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.
  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#3 phamtuan

phamtuan

    biết lệnh scale

  • Members
  • PipPipPip
  • 145 Bài viết
Điểm đánh giá: 222 (khá)

Đã gửi 05 August 2008 - 09:09 AM

(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ứ.
  • 0

#4 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 05 August 2008 - 09:35 AM

(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
  • 0

#5 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 05 August 2008 - 10:14 AM

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 đề.
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#6 duy782006

duy782006

    PHẠM QUỐC DUY

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 2155 Bài viết
Điểm đánh giá: 1360 (rất tốt)

Đã gửi 05 August 2008 - 10:17 AM

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))
  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#7 jindo07

jindo07

    biết vẽ arc

  • Members
  • PipPip
  • 42 Bài viết
Điểm đánh giá: 11 (tàm tạm)

Đã gửi 05 August 2008 - 10:23 AM

-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 ạ
  • 0

#8 vndesperados

vndesperados

    biết lệnh xref

  • Members
  • PipPipPipPipPipPipPip
  • 547 Bài viết
Điểm đánh giá: 253 (khá)

Đã gửi 05 August 2008 - 10:38 AM

-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
  • 1