Đến nội dung


Hình ảnh
- - - - -

[Thảo luận] Viết lại các hàm Express


  • Please log in to reply
194 replies to this topic

#21 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 19 November 2011 - 10:47 AM

Các bác cho bàn thêm chút này xíu, không biết có sai lầm chỗ nào không:
1). Ý tưởng load thằng Express của bác Tue_NV: hình như trên CV đã có topic nói về load cả thư mục rồi thì phải? Nhưng liệu nó có nằm cố định trong các phiên bản khác nhau?
2). Viết lại 1 số hàm acet chưa hay của Ketxu: OK thôi, nhưng đi đâu mình cũng phải xách gói này theo nhỉ?
Thân thương!

Hề hề hề,
Xin phép các bác cho nói leo một chút.
Quan điểm của mình, một thằng đi mót thì đơn giản như sau:
1/- Thấy cái gì hay thì mót về và cố tìm hiểu cho nó thủng hẵng dùng, Chưa thủng chưa dùng vì ngay cả là lisp mà nếu không thủng cũng dễ ăn đòn lắm.
2/- Lisp hay acet hay gì gì gì gi cái gì cũng vậy, người ta đã mất công sức để làm ra nó thì có nhẽ chả bao giờ là vô nghĩa cả. Có thể là hay, hoặc chưa hay với người này hay với người khác, song ắt là nó không thừa với cộng đồng. Đó là đồ miễn phí nên việc lựa chọn dùng hay không dùng là do người sử dụng quyết định trong từng điều kiện cụ thể.
3/- Mèo trắng hay mèo đen, miễn bắt chuột được là mèo tốt. Cho nên khi có chuột thì nên nuôi mèo . Đã vào lúc cần đến đít thì chả cứ lisp hay acet mà cứ cái chi giải quyết được việc cho mình thì xài thôi.
4/- Việc nghiên cứu để chỉnh sửa hay hoàn thiện hay làm cho nó tiện dụng hơn thì chả cứ acet mà với bất cứ cái của nợ nào cũng nên làm cả, mặc dầu có thể là làm xong mới biết là không cần nữa. Bởi chưng có thể là mình không cần, nhưng mình sẽ thu được nhiều thứ từ cái việc làm đó. Hơn nữa sẽ vẫn có nhiều người cần tới cái mình đã làm......
5/- Việc nghiên cứu này đòi hỏi cả công sức,trí tuệ lẫn nhiệt huyết khá lớn vì nó không hề là đơn giản. Vậy nên chí ít cũng mong mọi người ủng hộ nhiệt thành, Với cái vốn liếng đi mót chửa đầy cái mẹt, mình cũng sẽ cố gắng để nếu có thể sẽ đóng góp công sức cùng mọi người.

Chúc cho đề án này thành công.
Hề hề hề,...
  • 6
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#22 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 21 November 2011 - 08:51 AM

Vậy mọi người đóng góp dần dần nhé. Ketxu khai súng nhé.
Đầu tiên là hàm ACET-ss-to-list, hàm này chuyển tập chọn về list ename. Nâng cấp lên 1 bước cho nó có thể chuyển cả về vlaObject

;|Ham chuyen ss -> list ename hoac vlaObject
@ketxu 21-11-11
Doi so :
ss : tap chon SS
vla : T hoac nil : Quy dinh chuyen sang Vla hay khong
Tra ve list doi tuong (ename hoac Vla)
|;
(defun CV:ss-to-list (ss vla / n e l)
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(setq l (cons (if vla (vlax-ename->vla-object e) e) l))
)
)
Sử dụng :
(CV:ss-to-list (ssget) nil)
(CV:ss-to-list (ssget) T)
  • 6

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#23 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 21 November 2011 - 09:35 AM

Tiếp theo là hàm ngược lại : acet-list-to-ss : hàm này cho phép convert list các ename thành tập chọn ss
- Nhược điểm : đối số chỉ cho phép list ename
=> nâng cấp cho nó làm việc với cả sự xuất hiện của vlaObject trong list

;|Ham chuyen list ename hoac vla-Object ve tap ss
@ketxu 21-11-11
Doi so :
- lst : list cac ename hoac vlaObject (lan lon)
Tra ve : tap chon ss
|;
(defun CV:List-to-ss (lst / ss)
(setq ss (ssadd))
(foreach item lst
(or (= (type item ) 'Ename)
(setq item (vlax-vla-object->ename item)))
(setq ss (ssadd item ss))
)
ss
)
Sử dụng :
(CV:List-to-ss (CV:ss-to-list (ssget) T))
  • 3

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#24 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 21 November 2011 - 02:45 PM

Tiếp theo là hàm ngược lại : acet-list-to-ss : hàm này cho phép convert list các ename thành tập chọn ss
- Nhược điểm : đối số chỉ cho phép list ename
=> nâng cấp cho nó làm việc với cả sự xuất hiện của vlaObject trong list

Sử dụng :
(CV:List-to-ss (CV:ss-to-list (ssget) T))

Hề hề hề,
Có một vấn đề mình muốn hỏi là: Với các hàm như vầy liệu có gặp cái lỗi Unknown do chưa load (vl-load-com) không hè??? Và như vầy thì có cách nào để không mắc vào thằng vlax.... không hè???
Hề hề hề,
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#25 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 21 November 2011 - 02:51 PM

Hề hề hề,
Có một vấn đề mình muốn hỏi là: Với các hàm như vầy liệu có gặp cái lỗi Unknown do chưa load (vl-load-com) không hè??? Và như vầy thì có cách nào để không mắc vào thằng vlax.... không hè???
Hề hề hề,


Chắc chắn là có bác ạ. Vì vậy khi viết lisp nếu sử dụng bất kỳ hàm nào của Vlisp ta đều cần có (vl-load-com) ở đầu. Vì hàm này chỉ cần load 1 lần cho toàn phiên làm việc nên trong từng hàm con ta không nên đưa nó vào nữa
  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#26 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 21 November 2011 - 02:53 PM


Chắc chắn là có bác ạ. Vì vậy khi viết lisp nếu sử dụng bất kỳ hàm nào của Vlisp ta đều cần có (vl-load-com) ở đầu. Vì hàm này chỉ cần load 1 lần cho toàn phiên làm việc nên trong từng hàm con ta không nên đưa nó vào nữa

Hề hề hề,
Chờ thì chờ......
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#27 hochoaivandot

hochoaivandot

    biết dimradius

  • Members
  • PipPipPipPipPip
  • 310 Bài viết
Điểm đánh giá: 107 (tàm tạm)

Đã gửi 21 November 2011 - 04:51 PM


Chắc chắn là có bác ạ. Vì vậy khi viết lisp nếu sử dụng bất kỳ hàm nào của Vlisp ta đều cần có (vl-load-com) ở đầu. Vì hàm này chỉ cần load 1 lần cho toàn phiên làm việc nên trong từng hàm con ta không nên đưa nó vào nữa


Nếu có 1 cái List đầu topic. Trong đó có cột tick đã viết. Có 1 cột đăng ký viết. Có lẽ như thế sẽ dễ theo dõi cho các thành viên hơn. Thu hút được nhiều người tham gia mà không bị chồng chéo viết đi viết lại. Hơn nữa nếu ai muốn viết code nào (hoặc có người đã viết rồi mà chưa post) tick vào đăng ký viết post lên thì sẽ tiết kiệm time hơn và giảm sức nặng cho ketxu. Mình nghĩ như vậy tổ sẽ mau đầy hơn
  • 1

Dương Bá Diệp

 

www.cadonline.duyxuyen.vn 

 

Thành viên nhóm CADMAGIC

 


#28 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 21 November 2011 - 05:09 PM

Tiếp theo là hàm ACET-Dxf.
- Hàm này cho phép lấy giá trị mã Dxf của 1 assoc list, ta thường lợi dụng để lấy giá trị từ entget ename
- Ngắn gọn có thể viết :

(defun Cv:dxf (dxf en)(cdr(assoc dxf (entget en))))

  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#29 lp_hai

lp_hai

    biết lệnh measure

  • Members
  • PipPipPipPipPipPip
  • 456 Bài viết
Điểm đánh giá: 202 (khá)

Đã gửi 21 November 2011 - 05:25 PM

Em cũng bon chen xin góp một hàm: SS-visible, ẩn hiện đối tượng
ss là tập chọn, vis là 0 (hiện dt) hoặc 1 là ẩn dt

(defun CV:ss-visible(ss vis / e n l)
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(setq l (entget e)
l(vl-remove (assoc 60 l) l)
l(vl-list* (cons 60 vis) l)
)
(entmod l)
)
)

  • 1
Hình đã gửi

#30 Thaistreetz

Thaistreetz

    biết lệnh adcenter

  • Advance Member
  • PipPipPipPipPipPipPip
  • 903 Bài viết
Điểm đánh giá: 505 (tốt)

Đã gửi 21 November 2011 - 05:57 PM

Cái vụ cãi nhau này cuối cùng cũng dứt được rồi ah. :rolleyes:
Mình góp đây:
acet-pixel-unit : lấy ra tỷ lệ số đơn vị bản vẽ chứa trong 1 pixel màn hình (rất hữu dụng với bác nào hay dùng vector)
(defun CV:pixel-unit nil (/ (getvar "viewsize")(cadr (getvar"screensize"))))
acet-sys-sleep: tạm dừng mọi tính toán trong thời gian ms (đôi khi chúng ta muốn làm chậm chương trình của mình lại 1 chút)
(defun CV:sys-sleep  (ms / x) (setq x (+ (getvar "cdate")(* ms 1E-8)))(while (> x (getvar "cdate"))))
Còn vài cái nữa, cứ từ từ kiếm thank, hê hê
@ketxu: Sếp nên test rồi cập nhật các hàm đã được viết lên post #1 cho anh em dễ theo dõi. lưu ý cho anh em cách đặt tên nữa đi, lung tung cả rồi kìa
  • 1

Hình đã gửi
IN HIM, I TRUST. THE TRUST IN MY GOD


#31 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 21 November 2011 - 08:15 PM

Em cũng bon chen xin góp một hàm: SS-visible, ẩn hiện đối tượng

 (defun CV:ss-visible(ss vis / e n l) (setq n (sslength ss)) (while (setq e (ssname ss (setq n (1- n)))) (setq l (entget e) l(vl-remove (assoc 60 l) l) l(vl-list* (cons 60 vis) l) ) (entmod l) ) ) 

Hề hề hề,
Bác lp_hai thử check lại xem nhé. có vẻ như chưa được ngon như thằng (acet-ss-visible ss vis) bác ạ. Hình như cái dxf 60 còn phải có thêm điều kiện chi đó nữa bác ạ.
Hề hề hề,
  • 0
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#32 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 6009 Bài viết
Điểm đánh giá: 3113 (tuyệt vời)

Đã gửi 21 November 2011 - 09:40 PM

Cái vụ cãi nhau này cuối cùng cũng dứt được rồi ah. :rolleyes:
Mình góp đây:

Còn vài cái nữa, cứ từ từ kiếm thank, hê hê
@ketxu: Sếp nên test rồi cập nhật các hàm đã được viết lên post #1 cho anh em dễ theo dõi. lưu ý cho anh em cách đặt tên nữa đi, lung tung cả rồi kìa

Hề hề hề,
Liều mạng thử phát xem có được không hè, mong các bác cứ chỉ dạy tận tình nghen.


;;; Ham xoa cac doi tuong trong tap chon ss
;;; Doi so la bo chon ss duoc tra ve tu cac ham ssget, ssadd, ssdel, acet-list-to-ss, Cv:list-to-ss.


(defun CV:ss-entdel (ss / n e )
(setq n (sslength ss))
(while (setq e (ssname ss (1- n))
(setq n (1- n))
(entdel e)
)
)

Hề hề hề, đang phân vân không biết có nên nhét thằng (princ) vô hay không vì hàm trả về tên đối tượng cuối cùng bị xóa. Các bác cho ý kiến hè....

Bài viết đã được chỉnh sửa nội dung bởi phamthanhbinh: 22 November 2011 - 10:16 AM
Sai lỗi chính tả.

  • 2
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#33 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 21 November 2011 - 11:00 PM

Hề hề, có nên cho bác ạ. Cái này tùy người sử dụng thôi.
À, nếu các bác không ngại, có thể ghi cả trường hợp sử dụng những hàm mang tính kế thừa vào hàm của mình (nếu có thể), như vậy ai thích sự hệ thống thì có thể xài luôn : (k cũng k sao, thì càng dễ nhớ hơn và k phải mang thêm hàm khác)
VD :
(defun CV:ss-entdel (ss)(mapcar 'entdel (CV:ss-to-list ss nil)))
(defun CV:ss-visible (ss visible )(mapcar '(lambda(x)(vla-put-visible x visible))(CV:ss-to-list ss T)))

Hàm bác Bình viết hơi syntax error, e xin phép chỉnh lại :


(defun CV:ss-entdel (ss / n e )
(setq n (sslength ss))
(while (setq e (ssname ss (setq n (1- n))))
(entdel e)
)
(princ)
)

P/s : dạo này 4r làm sao ý, e sửa lại bài thì nó lại thành bài đầu tiên e post :|
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#34 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 21 November 2011 - 11:06 PM

À, nếu các bác không ngại, có thể ghi cả trường hợp sử dụng những hàm mang tính kế thừa vào hàm của mình (nếu có thể), như vậy ai thích sự hệ thống thì có thể xài luôn : (k cũng k sao, thì càng dễ nhớ hơn)
VD :
(defun CV:ss-entdel (ss)(mapcar 'entdel (CV:ss-to-list ss nil)))

Mới mấy tiếng đồng hồ mà kho hàm "CV-..." đã khấm khá rồi đấy. Chắc lúc nào rảnh rảnh cũng góp vui một cái cho xôm.
Thảo luận tí: viết kế thừa là quá tốt, viết ngắn cũng quá tốt, nhưng viết dài chưa chắc đã không tốt. Chúng ta đang làm từng thằng lẻ nên chúng ta ít để ý đến tốc độ của nó. Tuy nhiên khi đưa nó vào trong các chương trình dài hơi thì điều này là cực quan trọng. Vì vậy, cần phải quan tâm tới tốc độ hơn là dài/ngắn. Mà làm sao để biết tốc độ hàm mình viết ra có nhanh không nhỉ? Bàn thêm chút này cũng hữu ích các bác nhỉ!
Thân thương!
P/S: nói thêm 1 chút về tốc độ: thường chúng ta viết các trình lisp hay cố giảm biến cục bộ càng nhiều càng hay, nhưng cũng có đôi lúc nhiều biến cục bộ lại chạy nhanh hơn ít biến mới nghiệt chứ.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#35 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 21 November 2011 - 11:29 PM

Bàn về tốc độ thì bên Topic Đố vui với lisp đã có mấy trang rồi, mọi người tự cảm nhận và test thôi :)
Nhưng tất nhiên khi viết điều quan trọng nhất vẫn là tốc độ rồi => k thể k nói trong mỗi hàm => một hàm viết ra sẽ có nhiều ý kiến để cùng sửa sang lại
Riêng ví dụ ketxu viết bên trên thì không cần bàn, chắc chắn là chậm hơn hàm bác Bình + bạn lp_hai viết rồi, vì nó duyệt lại list thêm 1 lần nữa, thế nên e mới nói là có thể :) (vì nêu trong 1 chương trình phải convert nhiều đoạn ss, không tội gì viết đi viết lại đoạn while, nhất là chương trình dài hơi như bác ĐVH nói)

Thêm 1 hàm nữa trước khi đi ngủ :
Acet-string-to-list : hàm tách string thành list các string bởi string ngăn cách.
Sử dụng : (Acet-string-to-list str_ngăn cách str_gốc)
VD : (acet-str-to-list " " "a b c") => ("a" "b" "c")
- Nhược điểm : không chấp nhận nhiều str ngăn cách liền nhau :

(defun CV:Str-to-list ( del str / pos lst )
;@ketxu 21-11-11 based on LM
(while (setq pos (vl-string-search del str))
(setq lst (cons (substr str 1 pos) lst) str (substr str (+ pos 1 (strlen del))))
)
(vl-remove "" (reverse (cons str lst))) ; add vl-remove here
)

  • 1

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#36 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5448 Bài viết
Điểm đánh giá: 2624 (tuyệt vời)

Đã gửi 21 November 2011 - 11:53 PM

Bàn về tốc độ thì bên Topic Đố vui với lisp đã có mấy trang rồi, mọi người tự cảm nhận và test thôi :)
Nhưng tất nhiên khi viết điều quan trọng nhất vẫn là tốc độ rồi => k thể k nói trong mỗi hàm => một hàm viết ra sẽ có nhiều ý kiến để cùng sửa sang lại
Riêng ví dụ ketxu viết bên trên thì không cần bàn, chắc chắn là chậm hơn hàm bác Bình + bạn lp_hai viết rồi, vì nó duyệt lại list thêm 1 lần nữa, thế nên e mới nói là có thể :) (vì nêu trong 1 chương trình phải convert nhiều đoạn ss, không tội gì viết đi viết lại đoạn while, nhất là chương trình dài hơi như bác ĐVH nói)

Không nói về hàm mà Ket viết đâu. Ý tôi nói chung chung là rất khó để xác định tốc độ của 1 hàm mà ta viết ra có tốt không, vì khi ta viết 1 hàm thì không có gì làm chuẩn để so sánh. Thậm chí nếu có người khác viết 1 hàm tương tự thì ta cũng chỉ so sánh được 2 hàm này thôi, rồi biết đâu lại có hàm thứ 3, thứ 4 nhanh hơn. Khó là chỗ đó, nên mới thảo luận, nhưng chắc chịu hè.
  • 0

* Chỉ nên yêu cầu Lisp khi bạn làm việc đó mất cả ngày nhưng họ chỉ viết 1 giờ. Đừng nêu yêu cầu Lisp khi bạn chỉ làm 1 giờ nhưng bắt họ phải mất cả ngày.

* Nhờ viết lisp cũng như đi khám bệnh. Chỉ gởi căn cước và than sắp chết thì không bác sỹ nào cứu sống được.


#37 lp_hai

lp_hai

    biết lệnh measure

  • Members
  • PipPipPipPipPipPip
  • 456 Bài viết
Điểm đánh giá: 202 (khá)

Đã gửi 22 November 2011 - 08:13 AM

Hề hề hề,
Bác lp_hai thử check lại xem nhé. có vẻ như chưa được ngon như thằng (acet-ss-visible ss vis) bác ạ. Hình như cái dxf 60 còn phải có thêm điều kiện chi đó nữa bác ạ.
Hề hề hề,

heeeheh, thì hàm cơ bản em thấy nó chỉ xài 2 biến, trong đó vis là 0 hoặc 1 tương đương với hiện hoặc ẩn dt.
em check thế này ko biết có thiếu xót gì ko?
(setq dt (ssget))
(CV:SS-VISIBLE dt 1)
(CV:SS-VISIBLE dt 0)
....
  • 0
Hình đã gửi

#38 lp_hai

lp_hai

    biết lệnh measure

  • Members
  • PipPipPipPipPipPip
  • 456 Bài viết
Điểm đánh giá: 202 (khá)

Đã gửi 22 November 2011 - 08:45 AM

Không nói về hàm mà Ket viết đâu. Ý tôi nói chung chung là rất khó để xác định tốc độ của 1 hàm mà ta viết ra có tốt không, vì khi ta viết 1 hàm thì không có gì làm chuẩn để so sánh. Thậm chí nếu có người khác viết 1 hàm tương tự thì ta cũng chỉ so sánh được 2 hàm này thôi, rồi biết đâu lại có hàm thứ 3, thứ 4 nhanh hơn. Khó là chỗ đó, nên mới thảo luận, nhưng chắc chịu hè.

Bác bàn về tốc độ thì em có ý này: Mình đang viết lại các hàm trong ACET thì có nên lấy mấy cái hàm của ACET làm chuẩn. Rồi mình so sánh với cái hàm mình viết lại. Nếu nhanh hơn thì tốt rồi. Còn ai có cái thứ 3 thứ 4 mà nhanh hơn nữa thì càng tốt! :)
  • 0
Hình đã gửi

#39 ketxu

ketxu

    Copier - Paster - Editor

  • Moderator
  • PipPipPipPipPipPipPip
  • 5682 Bài viết
Điểm đánh giá: 2605 (tuyệt vời)

Đã gửi 22 November 2011 - 08:49 AM

Mọi người cứ cùng nhau bàn bạc thôi ^^
P/s : hàm của lp_hai nếu dùng sub có nhanh hơn là xóa rồi lại tái tạo list k ? Bạn check thử xem sao ?
  • 0

Thành viên nhóm CadMagic.
Mời bạn ghé thăm facebook nhóm - Page viết lisp theo yêu cầu  :
CAD MAGIC


#40 lp_hai

lp_hai

    biết lệnh measure

  • Members
  • PipPipPipPipPipPip
  • 456 Bài viết
Điểm đánh giá: 202 (khá)

Đã gửi 22 November 2011 - 09:25 AM

Mọi người cứ cùng nhau bàn bạc thôi ^^
P/s : hàm của lp_hai nếu dùng sub có nhanh hơn là xóa rồi lại tái tạo list k ? Bạn check thử xem sao ?

Dùng subst chỉ được khi đã có assoc 60: (60 . 1), còn khi ban đầu dt chưa có assoc 60 thì mình ko thay thế dc, còn remove thì ko có cũng ko sao có thể áp dụng cho cả 2 trường hợp (60 . 1) và cả khi ko có assoc 60
Các bác chỉ giáo thêm! :)
  • 0
Hình đã gửi