Đến nội dung


Hình ảnh
- - - - -

Các bác giúp em kiểm tra lisp về lenh trim


  • Please log in to reply
5 replies to this topic

#1 cavoitrang_11

cavoitrang_11

    biết zoom

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

Đã gửi 26 November 2007 - 09:38 PM

Neu lisp nầy chạy tốt thì thật tiến vi lenh trim chỉ cho phép cat từng đường một trong khi lệnh này cho phép trim liên tục (em cũng xin lỗi tác giả vì em xin được một tập list nên \"chep \" ra để đúng thoi ...Nhưng chưa chạy được ). Doan lisp như sau :
(defun C:trn ()
(setq CVAR (Getvar "CMDECHO")) (setvar "CMDECHO" 0)
(Prompt "Select cutting edges :") (setq CUTEDG (Ssget))
(Prompt "select objects to trim :") (setq SS (Ssget))
(Setq LEN (SSlength SS)) (Setq I-1)
(Setq SIDE (getpoint"pick side to trim")) (command "TRIM" CUTEDG "")
(Repeat LEN
(Setq I (1+I))
(Command (List(SSname SS I) SIDE)) )
(Command "")
(Setvar "CMDECHO" CVAR) (Princ "\nTrim complete.")
(Princ) )
Cac bac kiem tra dum nhe!!!!!!!!!
  • 0

#2 Nộ Thiên

Nộ Thiên

    biết lệnh ddedit

  • Members
  • PipPipPipPip
  • 297 Bài viết
Điểm đánh giá: 133 (tàm tạm)

Đã gửi 26 November 2007 - 10:28 PM

Neu lisp nầy chạy tốt thì thật tiến vi lenh trim chỉ cho phép cat từng đường một trong khi lệnh này cho phép trim liên tục (em cũng xin lỗi tác giả vì em xin được một tập list nên \"chep \" ra để đúng thoi ...Nhưng chưa chạy được ). Doan lisp như sau :
(defun C:trn ()
(setq CVAR (Getvar "CMDECHO")) (setvar "CMDECHO" 0)
(Prompt "Select cutting edges :") (setq CUTEDG (Ssget))
(Prompt "select objects to trim :") (setq SS (Ssget))
(Setq LEN (SSlength SS)) (Setq I-1)
(Setq SIDE (getpoint"pick side to trim")) (command "TRIM" CUTEDG "")
(Repeat LEN
(Setq I (1+I))
(Command (List(SSname SS I) SIDE)) )
(Command "")
(Setvar "CMDECHO" CVAR) (Princ "\nTrim complete.")
(Princ) )
Cac bac kiem tra dum nhe!!!!!!!!!

Chỉ mới kiểm tra bằng mắt thì thấy 2 lỗi trên:
(chú ý các khỏang trắng)
(setq I 1)
(setq I (1+ I))
Bác chạy lại thử xem.
  • 0

#3 pooh_21

pooh_21

    biết zoom

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

Đã gửi 27 November 2007 - 10:38 AM

@cavoitrang_11 bạn dùng cad "đời" bao nhiêu mà phải để ý đến lệnh trim vậy ???
  • 0

#4 meohoang

meohoang

    biết lệnh adcenter

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

Đã gửi 27 November 2007 - 11:28 AM

@cavoitrang_11 bạn dùng cad "đời" bao nhiêu mà phải để ý đến lệnh trim vậy ???

Dùng lệnh Extrim hình như Cad14 cũng đã có.
Và học lisp phải học bài bản ko nên copy code mà ko rõ ý nghĩa mất nhiều thời gian lắm
đoạn mã trên là ko thể chạy được
  • 0

#5 ssg

ssg

    biết lệnh adcenter

  • Vip
  • PipPipPipPipPipPipPip
  • 1228 Bài viết
Điểm đánh giá: 1087 (rất tốt)

Đã gửi 27 November 2007 - 02:20 PM

Neu lisp nầy chạy tốt thì thật tiến vi lenh trim chỉ cho phép cat từng đường một trong khi lệnh này cho phép trim liên tục (em cũng xin lỗi tác giả vì em xin được một tập list nên \"chep \" ra để đúng thoi ...Nhưng chưa chạy được )...

Mình có vài ý kiến:

1) Code đã sửa và chạy được:

(defun C:trn () 
(setq CVAR (Getvar "CMDECHO")) (setvar "CMDECHO" 0)
(Prompt "Select cutting edges :") (setq CUTEDG (Ssget))
(Prompt "select objects to trim :") (setq SS (Ssget))
(Setq LEN (SSlength SS)) (Setq i -1)
(Setq SIDE (getpoint "pick side to trim")) (command "TRIM" CUTEDG "")
(Repeat LEN
(Setq I (1+ I))
(Command (List (SSname SS I) SIDE))
)
(Command "")
(Setvar "CMDECHO" CVAR) (Princ "\nTrim complete.")
(Princ) )

2) Chỉ chạy đúng khi cutting edge và object to trim vuông góc nhau, nếu không kết quả có khi không đúng như ý muốn (khi xác định side to trim)

3) Cad đời mới (không nhớ rõ bắt đầu từ đời nào) có lệnh Extrim, làm thay công việc của đoạn lisp trên, và tất nhiên kết quả bao giờ cũng đúng! Nếu bạn có ý "ngâm cứu" về lisp thì giữ lại (xét về kỹ thuật lisp cũng có cái để tham khảo), còn chỉ để dùng thì... quên nó đi!
  • 0

#6 cavoitrang_11

cavoitrang_11

    biết zoom

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

Đã gửi 28 November 2007 - 08:56 PM

Xin cam on cac bac chi giao, em moi duoc biet toi cong dung cua Lisp thoi nen van con "ngo ngac" truoc cac doan ma.
Va lai cung dang can sai lam do an nen cu lieu load len hoi cac bac cung la de hoc hoi luon the.
Em dang dung CAD2004 cung chua cap nhat phien ban moi.
:bigsmile:
  • 0