Đến nội dung


Hình ảnh
- - - - -

[Nhờ chỉnh sửa]Lisp tính tổng độ dài đoạn thẳng.


  • Please log in to reply
40 replies to this topic

#21 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 13 October 2012 - 08:10 AM

1). "Cách" sau khi chọn đối tượng mỗi lần xong: đúng. Và lisp đã có.
2). "Cách" sau khi ghi ra text xong: thừa. Nên tôi sẽ không sửa. Bởi, xong bước này thì tự động nhảy qua bước kia thôi.
3). Đã bổ sung tỉ lệ, nhưng sẽ do người dùng nhập vào thay vì lấy theo dimstyle hiện hành, vì 1 bản vẽ có thể có nhiều dimstyle, và đôi khi tỉ lệ theo dimstyle hiện hành chưa phải là tỉ lệ người dùng mong muốn.
4). Tải lại ở link cũ.
  • 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.


#22 dothanhdatvtchd

dothanhdatvtchd

    biết vẽ line

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

Đã gửi 13 October 2012 - 10:10 AM

"Cách" sau khi chọn đối tượng mỗi lần xong: đúng. Và lisp đã có.
"Cách" sau khi ghi ra text xong: thừa. Và để làm gì nhỉ? Xong bước này thì tự động nhảy qua bước kia, chứ sao phải thêm "cách" vào nữa. Bạn xem có lệnh cad nào hoạt động thừa như vậy không?

Bác xem lại giúp em với. Sau khi sửa text lần 1,2 thì ko có "cách", chỉ có lần 3 là lần cuối cùng để kết thúc thì mới nhấn cách mà bác.
Bác sửa lại 2 vấn đề nữa giúp em với:
1. Tính chiều dài theo tỉ lệ của dim style hiện hành.
2. Sau khi kết thúc lệnh mới xuất kq ra txt hoac excel chứ ko phải sau mỗi lần chọn đối tượng lại hỏi có xuất ko. Làm lệnh thừa và dài.
Cám ơn bác nhé.
  • 0

#23 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 13 October 2012 - 10:18 AM

Bạn xem lại bài viết tôi mới chỉnh sửa, và down lisp tại link cũ.
  • 1

* 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.


#24 dothanhdatvtchd

dothanhdatvtchd

    biết vẽ line

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

Đã gửi 13 October 2012 - 04:59 PM

Bạn xem lại bài viết tôi mới chỉnh sửa, và down lisp tại link cũ.

Cám ơn bác. Nhưng lệnh bị lỗi rồi thì phải. Em tính tổng chiều dài thì nó toàn ra sai kết quả. Bác xem lại hộ em nhé. Ví dụ đo tổng 2 đoạn dài 50 và 20, tỉ lệ nhập vào là 5 thì kết quả phải là 70/5 =14 đúng ko ạ? Nhưng nó ra là 10,8. :S
Cám ơn bác lần nữa :D
  • 0

#25 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 13 October 2012 - 05:13 PM

srr, tôi nhầm tí và tôi sửa lại rồi. Link cũ.
  • 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.


#26 dothanhdatvtchd

dothanhdatvtchd

    biết vẽ line

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

Đã gửi 13 October 2012 - 07:23 PM

srr, tôi nhầm tí và tôi sửa lại rồi. Link cũ.

Thanks bác nhiều lắm. Lisp này em bóc khối lượng nhanh hơn nhiều :D, với cái lisp chọn đối tượng trong vùng kín nữa. :D
À, bác cho em hỏi, bác có tài liệu học viết lisp ko cho em xin vào mail thangt0407@gmail.com với. Để ít ra còn biết cop đoạn code, ko phải hơi thay đổi tí là lại phiền các bác. :D
Cảm ơn bác nhiều.
  • 0

#27 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 13 October 2012 - 09:21 PM

Bạn search trên Cadviet chắc có. Tôi không có 1 cuốn sách nào chính thống cả, chủ yếu là cadviet và google.
  • 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.


#28 quocloc213

quocloc213

    biết pan

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

Đã gửi 01 November 2012 - 02:54 PM

cho mình hỏi: Sao mình load trên autocad Mac OSX 10.8 nhưng nó báo lỗi là sao vậy bạn (Lisp của a Hà). Bạn có thể kiểm traf giùm mình tí được không? Thanks.
  • 0

#29 quocloc213

quocloc213

    biết pan

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

Đã gửi 01 November 2012 - 02:58 PM

Viết nhanh cho bạn đây.



;Doan Van Ha - CADViet.com - Ngay 13/10/2012
;Muc dich: Tinh tong chieu dai cac doi tuong, ghi len text, ghi ra file.
(defun C:HA ( / tl lst ss entlst cdai a z)
(vl-load-com)
(setq tl (getreal "\nHe so ti le: "))
(while
(and
(princ "\nChon cac doi tuong can tinh chieu dai...")
(setq ss (ssget '((0 . "*LINE,ARC,CIRCLE,ELLIPSE")))))
(setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
(setq cdai 0)
(foreach ent entlst
(setq cdai (+ cdai (/ (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)) tl))))
(setq a (assoc 1 (entget (setq ent (car (entsel "Chon Text de nhap chieu dai..."))))))
(entmod (subst (cons 1 (rtos cdai 2 2)) a (entget ent)))
(setq lst (cons cdai lst)))
(if (not ss)
(progn
(initget "Y N")
(setq ghi (getkword "\nBan muon luu file khong?[Y/N] <Y>: "))
(if (or (= ghi "Y") (= ghi nil))
(progn
(setq fn (getfiled "Chon file de xuat ket qua" "" "txt" 1))
(setq pw (open fn "w"))
(setq z 0 lst (reverse lst))
(repeat (length lst)
(princ (strcat "Tong " (itoa (1+ z)) " = " (rtos (nth z lst) 2 2) "\n") pw)
(setq z (1+ z)))
(close pw)))))
(princ))
P/S: bổ sung 17h-13/10/2012

Thanks vì Lisp hay.
Nhưng mình ko thể sử dụng trên cad (Mac OSX). Bạn có thể giúp mình được không. Thanks.
https://www.sugarsyn...60624047_665865
  • 0

#30 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 01 November 2012 - 03:00 PM

Tôi không biết Mac OSX là cái gì cả bạn ạ!
  • 1

* 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.


#31 gia_bach

gia_bach

    biết lệnh adcenter

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

Đã gửi 01 November 2012 - 03:26 PM

Thanks vì Lisp hay.
Nhưng mình ko thể sử dụng trên cad (Mac OSX). Bạn có thể giúp mình được không. Thanks.
https://www.sugarsyn...60624047_665865

Bạn gửi cho bác Hà 1 em "Mac OS" là bác ấy giúp được bạn liền.
(ngoài lề : chắc bạn là người đầu tiên nói về Cad for Mac OS trên Cadviet ?!)
Đa số anh em toàn sài máy rẻ Window OS thôi.
  • 0

#32 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 01 November 2012 - 03:51 PM

Một dòng thông báo rất to là hàm vl-load-com tương đương với Visual Lisp không được hỗ trợ bới phiên bản MAC OS bạn đang dùng :) Bạn bỏ tiếp dòng (vl-load-com) đi xem nó báo chi ^^
  • 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


#33 quocloc213

quocloc213

    biết pan

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

Đã gửi 01 November 2012 - 04:03 PM

Một dòng thông báo rất to là hàm vl-load-com tương đương với Visual Lisp không được hỗ trợ bới phiên bản MAC OS bạn đang dùng :) Bạn bỏ tiếp dòng (vl-load-com) đi xem nó báo chi ^^

Mình đã loại bỏ vl-load, nhưng giờ nó báo tiếp lỗi dòng vlax-... như hình. Bạn xem giúp nhá.https://www.sugarsyn...60624047_665212
  • 0

#34 dothanhdatvtchd

dothanhdatvtchd

    biết vẽ line

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

Đã gửi 01 November 2012 - 04:15 PM

Bạn dân kỹ thuật mà dùng Mac thì cũng hơi khó đấy :D Mình thấy ít ai vẽ cad bằng Mac :D
  • 0

#35 ketxu

ketxu

    Copier - Paster - Editor

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

Đã gửi 01 November 2012 - 04:44 PM

Tất nhiên là k load được Visualisp thì toàn bộ hàm vl* đều báo thiếu rồi bạn :) Mình nói để bạn kiểm nghiệm chắc chắn lại thôi
  • 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 quocloc213

quocloc213

    biết pan

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

Đã gửi 04 November 2012 - 12:24 PM

Tất nhiên là k load được Visualisp thì toàn bộ hàm vl* đều báo thiếu rồi bạn :) Mình nói để bạn kiểm nghiệm chắc chắn lại thôi

Thanks bạn.
Bạn có thể chỉnh giùm mình lisp tính diện tích này để nó có thể có 2 tuỳ chọn để xuất text: 1. xuất text mới; 2 .xuất trên text có sẵn được không bạn. Và có thể chèn vào câu hỏi là "Chọn bao nhiêu số thập phân: ". Cảm ơn bạn nhìu.
https://www.sugarsyn...60624047_668569
  • 0

#37 quocloc213

quocloc213

    biết pan

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

Đã gửi 04 November 2012 - 12:26 PM

Có ai có thể giúp mình khôg nhỉ> mình đang rất cần. Thanks nhiều.
  • 0

#38 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 24 November 2015 - 02:25 PM

Viết nhanh cho bạn đây.

 
;Doan Van Ha - CADViet.com - Ngay 13/10/2012
;Muc dich: Tinh tong chieu dai cac doi tuong, ghi len text, ghi ra file.
(defun C:HA ( / tl lst ss entlst cdai a z)
(vl-load-com)
(setq tl (getreal "\nHe so ti le: "))
(while
  (and
   (princ "\nChon cac doi tuong can tinh chieu dai...")
   (setq ss (ssget '((0 . "*LINE,ARC,CIRCLE,ELLIPSE")))))
  (setq entlst (vl-remove-if 'listp (mapcar 'cadr (ssnamex ss))))
  (setq cdai 0)
  (foreach ent entlst
   (setq cdai (+ cdai (/ (vlax-curve-getDistAtParam ent (vlax-curve-getEndParam ent)) tl))))
  (setq a (assoc 1 (entget (setq ent (car (entsel "Chon Text de nhap chieu dai..."))))))
  (entmod (subst (cons 1 (rtos cdai 2 2)) a (entget ent)))
  (setq lst (cons cdai lst)))
(if (not ss)
  (progn
   (initget "Y N")
   (setq ghi (getkword "\nBan muon luu file khong?[Y/N] <Y>: "))
   (if (or (= ghi "Y") (= ghi nil))
    (progn
 	(setq fn (getfiled "Chon file de xuat ket qua" "" "txt" 1))
 	(setq pw (open fn "w"))
 	(setq z 0 lst (reverse lst))
 	(repeat (length lst)
      (princ (strcat "Tong " (itoa (1+ z)) " = " (rtos (nth z lst) 2 2) "\n") pw)
      (setq z (1+ z)))
 	(close pw)))))
(princ))
P/S: bổ sung 17h-13/10/2012

 

e muốn thêm một tí bổ sung vào lisp nay của bác Ha

sau khi chọn text và điền giá trị vào e muốn đổi màu của text đó

VD màu 6: (command "_change" en "" "p" "c" "6" "") nhưng e ko biết để nó vào đâu

mong mọi người hỗ trợ


  • -1

#39 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 24 November 2015 - 02:35 PM

Chèn dòng đó vào dưới dòng (entmod...). Đồng thời sửa chữ en thành ent.


  • 1

* 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.


#40 hoquangvinh

hoquangvinh

    biết lệnh mirror

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

Đã gửi 24 November 2015 - 02:39 PM

Chèn dòng đó vào dưới dòng (entmod...). Đồng thời sửa chữ en thành ent.

thanks bác e làm được rồi


  • 0