Chuyển đến nội dung
Diễn đàn CADViet
minhtu2004

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

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

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.

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

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.

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

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.sugarsync.com/pf/D9227121_60624047_665865

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

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.

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

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 ^^

  • 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

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.sugarsync.com/pf/D9227121_60624047_665212

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ấ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

  • 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ấ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.sugarsync.com/pf/D9227121_60624047_668569

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

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ợ

  • Vote giảm 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

×