Chuyển đến nội dung
Diễn đàn CADViet
Thuc Tap Vien

( Yêu Cầu ) Nhờ Sửa Lisp Udt

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

Kính nhờ MOD sửa giúp với ạ : Em thấy Lisp "udt" của bác Tue_NV chỉnh lại sử dụng rất tốt. 

MOD Phạm Thanh Bình đã chỉnh sửa theo bạn ( V77 ) rồi nhưng khi sử dụng nó bị thế này ạ : 

 Command: udt

 Kich thuoc cua chuong trinh tinh theo don vi mm
 Nhap ti le chuyen doi don vi <0.001> :
 Nhap So chu so thap phan <2> :
 Chon doi tuong de tinh dien tich hay Enter de tinh dien tich theo Pick diem
Select objects: 1 found
Select objects:
; error: no function definition: SS2ENT
Command:
* Nhờ MOD chỉnh sửa lại giúp với ạ
- Theo ý kiến của em MOD có thể bổ sung thêm là : Sau khi có kết quả thì Pick điểm để ghi kết quả ra. Kết quả ra có thể là Text hiện hành hoặc theo Dim hiện hành hoặc trong ô giống khi sử dụng lênh TOLERANCE.
Em xin chân thành cảm ơn.!!!
P/S: Em gửi kèm theo file của MOD Bình sửa ạ.http://www.cadviet.com/upfiles/5/149353_udt.lsp
  • 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

 

Kính nhờ MOD sửa giúp với ạ : Em thấy Lisp "udt" của bác Tue_NV chỉnh lại sử dụng rất tốt. 

MOD Phạm Thanh Bình đã chỉnh sửa theo bạn ( V77 ) rồi nhưng khi sử dụng nó bị thế này ạ : 

 Command: udt

 Kich thuoc cua chuong trinh tinh theo don vi mm
 Nhap ti le chuyen doi don vi <0.001> :
 Nhap So chu so thap phan <2> :
 Chon doi tuong de tinh dien tich hay Enter de tinh dien tich theo Pick diem
Select objects: 1 found
Select objects:
; error: no function definition: SS2ENT
Command:
* Nhờ MOD chỉnh sửa lại giúp với ạ
- Theo ý kiến của em MOD có thể bổ sung thêm là : Sau khi có kết quả thì Pick điểm để ghi kết quả ra. Kết quả ra có thể là Text hiện hành hoặc theo Dim hiện hành hoặc trong ô giống khi sử dụng lênh TOLERANCE.
Em xin chân thành cảm ơn.!!!
P/S: Em gửi kèm theo file của MOD Bình sửa ạ.http://www.cadviet.com/upfiles/5/149353_udt.lsp

 

Hề hề hề,

Bạn phải post cả cái lisp và bản vẽ chạy bị lỗi lên mới có thể biết mà sửa chứ.

  • 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

Lisp bị dồn hàng. Có rất nhiều lisp ở cadviet bị điều này.

Hãy học lisp chừng 1-3 ngày thì có thể thêm xuống hàng ở các chỗ cần thiết

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

Lisp trong link của bạn gửi :

(defun c:udt (/ ss tong ham tmp tt hstl oldim toe frome cur dt)
(prompt "\n Kich thuoc cua chuong trinh tinh theo don vi mm ")
(if (not hstlo) (setq hstlo 0.001))
(setq hstl (getreal (strcat "\n Nhap ti le chuyen doi don vi <" (rtos hstlo 2 3) "> :")))
(if (not hstl) (setq hstl hstlo) (setq hstlo hstl))
(if (not tpo) (setq tpo 2))
(setq tp (getint (strcat "\n Nhap So chu so thap phan <" (itoa tpo) "> :")))
(if (not tp) (setq tp tpo) (setq tpo tp))
(setq oldim (getvar "Dimzin"))
(setvar "Dimzin" 0)
(prompt "\n Chon doi tuong de tinh dien tich hay Enter de tinh dien tich theo Pick diem ")
(setq
ss (ssget '((-4 . "<OR")(0 . "LWPOLYLINE")(0 . "REGION")(0 . "CIRCLE")(0 . "ARC")(-4 . "OR>")))
tong 0.0
ham (lambda (x) (command ".area" "o" x) (setq tong (+ tong (getvar "area"))))
tmp (mapcar 'ham (ss2ent ss))
)

(if (not ss)
(progn
(setq tong 0.0 ss (ssadd))
(while (setq p (getpoint "\n Pick vao vung tinh dien tich :"))
(setq frome (entlast))
(command ".boundary" p "")
(setq toe (entlast))

(setq cur frome)
(while (not (eq cur toe))
(setq
cur (entnext cur)
ss (ssadd cur ss))
(command "area" "S" "O" ss "" "")
(setq dt (getvar "area"))
(setq tong (+ tong dt))
)
(command "area" "A" "O" "L" "" "")
(setq dt (getvar "area"))
(setq tong (+ tong (* dt 2)))
(sssetfirst ss ss)
)
(command "erase" ss "")
))
(if (not (setq pt (getpoint "\n Chon diem dat text")))
(progn
(setq tt (entget (car (entsel "\nChon text ket qua: ")))
tong (vl-string-right-trim "." (vl-string-right-trim "0" (rtos tong)))
)
(entmod (subst (cons 1 (rtos (* (atof tong) hstl hstl) 2 tp)) (assoc 1 tt) tt))
)
(progn
(setq ht (getreal "\n Nhap chieu cao text"))
(command "text" pt ht 0 (rtos (* (atof tong) hstl hstl) 2 tp) "")
)
)

(setvar "Dimzin" oldim)


(princ)
)
;
(defun ss2ent(ss / sodt index lstent)
(setq
sodt (if ss (sslength ss) 0)
index 0
)
(repeat sodt
(setq ent (ssname ss index)
index (1+ index)
lstent (cons ent lstent)
)
)
(reverse lstent)
)
(princ "\nUpdate Area - free lisp from cadviet.com")
(princ "\nUse UDT command to start!")
(vl-load-com)
  • 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

Nhờ MOD sửa giúp em với ạ.

Em cảm ơn nhiều nhiều!!!

Hề hề hề,

1/- Lisp bác ketxu đã chỉnh 

2/- Lisp sau khi chỉnh đã chạy tốt, không rõ bạn cần chỉnh sửa gì thêm???

  • 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

Hề hề hề,

1/- Lisp bác ketxu đã chỉnh 

2/- Lisp sau khi chỉnh đã chạy tốt, không rõ bạn cần chỉnh sửa gì thêm???

Dạ. Em đã chạy ở cơ quan với Win XP, cad 2007. thì có một vấn đề là :

1- yêu cầu nhập chiều cao text.

2- Xong lại yêu cầu nhập text và không ra kết quả đo diện tích.

* Tối về em chạy lại ở nhà W 8.1 và CAD 2010 và báo cáo lại các bác ạh.

Em chân thành cảm ơn bác BINH và bác KetXu nhiêù nhiều ạh!!!!

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

Chắc lại là vấn đề với command text khi text style có height text = 0 hay không đây mà ^^

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ặng bạn lisp này để sử dụng cho tiện (diện tích và chiều dài):

http://www.cadviet.com/upfiles/5/141736_arealength.rar

Gồm các lệnh:

+ Diện tích: S2A; P2A; A2F; AFR.

+ Chiều dài: TCD; L2F.

+ Trả lời lisp hay không: TLDIA.

*2F là có gắn Field.

  • Vote tăng 3

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

Tks bạn đã chia sẻ. Mình rất thích những người biết xào nấu nguyên liệu của mọi người để làm nên món ăn phù hợp với mình. Bravo ^^

  • Vote tăng 2

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ặng bạn lisp này để sử dụng cho tiện (diện tích và chiều dài):

http://www.cadviet.com/upfiles/5/141736_arealength.rar

Gồm các lệnh:

+ Diện tích: S2A; P2A; A2F; AFR.

+ Chiều dài: TCD; L2F.

+ Trả lời lisp hay không: TLDIA.

*2F là có gắn Field.n  ơCảm

 Cảm ơn bạn !!!

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

@quocmanh04tt

Cảm ơn bạn. Đúng cái mình cần.

 

@ketxu: Em đã thử lại với W 8.1 và CAD 2010 vẫn bị như trên bác ah.

1- yêu cầu nhập chiều cao text.

2- Xong lại yêu cầu nhập text và không ra kết quả đo diện tích.

 * Nếu được bác sửa lại giống lênh A2F của quocmanh04tt ạ.

Cảm ơn các bác. Cảm ơn CADVIET!!!!!

http://www.cadviet.com/upfiles/5/149353_21_htakt.dwghttp://www.cadviet.com/upfiles/5/149353_udt_2.lsp

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

+ Lisp trên giải quyết các vấn đề về Area và Length rồi mà ...

+ Nếu cần sửa, bạn tìm dòng này: (command "text" pt ht 0 (rtos (* (atof tong) hstl hstl) 2 tp) "")  ở gần cuối lisp

thay bằng: (command "text" pt ht 0 (rtos (* tong hstl hstl) 2 tp)) .

​P/s: Lisp Udt nó hỏi mình nhiều quá, mà lần nào nó cũng hỏi, hỏi đi hỏi lại mấy câu đó ... :D

  • 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
Vào lúc 15/1/2016 tại 15:13, quocmanh04tt đã nói:

Tặng bạn lisp này để sử dụng cho tiện (diện tích và chiều dài):

http://www.cadviet.com/upfiles/5/141736_arealength.rar

Gồm các lệnh:

+ Diện tích: S2A; P2A; A2F; AFR.

+ Chiều dài: TCD; L2F.

+ Trả lời lisp hay không: TLDIA.

*2F là có gắn Field.

Lisp rất hay ạ. Nhưng khi sử dụng để đo diện tích 1 hình  bị khoét thì lisp ko tự trừ ra phần diện tích bị khoét,

ví dụ như: vẽ 1 hình vuông lớn rồi vẽ 1 hình vuông nhỏ bên trong hình vuông lớn, mình muốn tính phần diện tích giới hạn bởi 2 hình vuôn thì lisp chỉ tính diện tích hình vuông lớn mà ko trừ đi diện tích hình vuông nhỏ (mình dùng cad 2020) ko biết có phải do lisp ko?

Nhờ bạn ktra giúp. Thanks!

  • 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

×