Đến nội dung


Hình ảnh
- - - - -

Lisp Thống Kế Thép Bằng Block.


  • Please log in to reply
11 replies to this topic

#1 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 10 September 2015 - 02:37 PM

Thử xem bà con. Lệnh là TKT

http://www.mediafire...6y7/thongke.lsp


  • 4

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#2 Tr.CongSon

Tr.CongSon

    biết lệnh array

  • Members
  • PipPipPip
  • 183 Bài viết
Điểm đánh giá: 40 (tàm tạm)

Đã gửi 10 September 2015 - 03:48 PM

Thử xem bà con. Lệnh là TKT

http://www.mediafire...6y7/thongke.lsp

 

Hay quá a Duy ơi ^^ 

 

Em thấy các giá trị nhập vào bảng thống kê thì nên khống chế giá trị nhập  phải là number và các đường kính thép phải nằm trong tiêu chuẩn (vd 6,8,10..chấp nhận còn 7,9,11,13 thì không được )Như vậy thì tốt hơn a ạ.

 

 

Thanks a!


  • 0

#3 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 10 September 2015 - 03:52 PM

Thực chất lisp này up lên  là  để bạn tham khảo vì thấy bạn cũng đang viết. Mình chỉ viết thế thôi. Không muốn chĩnh sửa gì nửa lười lắm.


  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#4 Tr.CongSon

Tr.CongSon

    biết lệnh array

  • Members
  • PipPipPip
  • 183 Bài viết
Điểm đánh giá: 40 (tàm tạm)

Đã gửi 10 September 2015 - 04:07 PM

Em cảm ơn a,lâu ni em cũng đang nghiên cứu cái thống kê này ^^

Giờ Có đoạn Lisp này của a thì còn gì bằng ^^ Hi vọng mót được ít  ^^

Chúc anh mạnh giỏi và thành công trong cuộc sống !

Thân!


  • 0

#5 qu0cba0hp91

qu0cba0hp91

    biết zoom

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

Đã gửi 05 October 2015 - 10:06 AM

Em đọc nhưng không rõ lắm. anh có chỉ bảo em qua cách dùng lisp của anh được không ?

Thanks Anh !!!


  • 0

#6 tien2005

tien2005

    biết lệnh properties

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

Đã gửi 05 October 2015 - 12:29 PM

Em đọc nhưng không rõ lắm. anh có chỉ bảo em qua cách dùng lisp của anh được không ?

Thanks Anh !!!

Bạn đọc bài này

http://www.cadviet.c...u-dung-ma-lisp/


  • 0

#7 pphung183

pphung183

    biết dimstyle

  • Members
  • PipPipPipPipPip
  • 384 Bài viết
Điểm đánh giá: 425 (tốt)

Đã gửi 09 October 2015 - 11:22 AM

Thấy Bạn duy782006 tặng diễn đàn 1 lisp hết sức công phu, mình cũng viết 1 lisp hỗ trợ sửa Bảng thống kê từ Lisp duy782006 :)

tặng các bạn yêu thích Lisp :) :

(defun c:TKTE (/ cmd GetTLDV GetDai GetTag PutTag ent at obj tn Dai km n k)
(setq cmd (getvar "cmdecho")) (setvar "cmdecho" 0)
(defun GetTLDV(D)
(cond ((= D 6) 0.222) ((= D 8) 0.395) ((= D 10) 0.617) ((= D 12) 0.888) ((= D 14) 1.209)
((= D 16) 1.579) ((= D 18) 1.998) ((= D 20) 2.467) ((= D 22) 2.985) ((= D 24) 3.552)
((= D 25) 3.854) ((= D 26) 4.169) ((= D 28) 4.835) ((= D 30) 5.55) ((= D 32) 6.315)
((= D 34) 7.129) ((= D 36) 7.992) ((= D 40) 9.867) )) ;;;;;
(defun GetDai (obj / Tag Val l lst)
(foreach att (vlax-invoke obj 'GetAttributes) 
(setq Tag (vla-get-TagString att)) (setq Val (vla-get-TextString att))
(if (or (eq Tag "KT1") (eq Tag "KT2") (eq Tag "KT3") (eq Tag "KTA1")
(eq Tag "KTA2") (eq Tag "KTB1") (eq Tag "KTB2") (eq Tag "KTC1") 
(eq Tag "KTC2") ) (setq l (atof Val) lst (cons l lst)) )) lst) ;;;;;
(defun GetTag (obj tag)
(vl-some '(lambda (att) (if (= tag (vla-get-tagstring att)) (vla-get-textstring att)))
(vlax-invoke obj 'getattributes)) ) ;;;;;
(defun PutTag (obj tag tn)
(vl-some '(lambda (att) (if (= tag (vla-get-tagstring att)) (vla-put-textstring att tn)))
(vlax-invoke obj 'getattributes)) ) ;;;;;
(setq cmd (getvar "cmdecho")) (setvar "cmdecho" 0) 
(while (and (/= (setq ent (entsel "\nSelect Block Attribute for edit: ")) nil) 
(setq at (car (nentselp (cadr ent))) obj (vlax-ename->vla-object (car ent))) )
(setq tn (lisped (vla-get-TextString (setq at (vlax-ename->vla-object at)))))
(vla-put-TextString at tn) (setq Dai (apply '+ (GetDai obj)))
(PutTag obj "CD" (rtos Dai 2 0))
(setq km (GetTLDV (atoi (GetTag obj "PI")))) (setq n (atof (GetTag obj "SL")))
(setq k (atof (GetTag obj "SCK"))) (setq tn1 (/ (* Dai n k) 1000))
(setq tn2 (* tn1 km)) (PutTag obj "TCDCK" (rtos tn1 2 2)) 
(PutTag obj "TLCK" (rtos tn2 2 2)) (vla-Update obj) ) 
(setvar "cmdecho" cmd) (princ))


  • 2

#8 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 09 October 2015 - 02:19 PM

Trong lisp của duy đã có sửa thống kê rồi mà nhỉ?


  • 1

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#9 pphung183

pphung183

    biết dimstyle

  • Members
  • PipPipPipPipPip
  • 384 Bài viết
Điểm đánh giá: 425 (tốt)

Đã gửi 09 October 2015 - 02:47 PM

Trong lisp của duy đã có sửa thống kê rồi mà nhỉ?

Vâng, mình biết là (c:edt) :) . Nhưng thực tế là có rất nhiều kiểu thống kê từ BlockAtt... muôn hình muôn vê... Nếu muốn sửa mà lấy code của Bạn thì chắc là nổ tung đầu để tìm :D . Từ code lisp của mình thì các bạn biết Lisp chỉ cần thay các Tag theo Bản thống kê hiện có là Ok. Ở đây mình lấy Tag  BlockAtt của Bạn làm điển hình :) ....


  • 0

#10 duy782006

duy782006

    PHẠM QUỐC DUY

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

Đã gửi 09 October 2015 - 03:27 PM

Không hiều ý bạn lắm.

-Nguyên tắc đặt tên tag của mình là cứ tag bắt đầu bằng KT thì là kích thước. và có hàn com chịu trách nhiệm lọc hết các tag có 2 ký tự bắt đầu là KT và cộng lại là ra giá trị chiều dài thanh.

-Sở dĩ có KT, KTA, KTB, KTC vì là nếu là 3 ký tự đầu là có hàm lọc 3 ký tự đầu dùng để hỏi nhập giá trị 1 lần và gán cho nhiều vị trí nếu tag có ký tự ban đầu theo quy định.

 -Ko có gì phài nổ tung cả chẳng qua mình gom rất nhiều hàm con phục vụ cà hộp thoại, và vân vân nên nó thế. 


  • 0

Cứ ngỡ trần gian là cõi thật.Cho nên tất bật đến bây giờ.
Tạo hộp thoại bằng lisp My blog QUY ĐỊNH ĐẶT TÊN TOPIC TRONG CHUYÊN MỤC LISPD http://ktsduy.wordpress.com/
Để cám ơn chỉ cần nhấn rep_up.png
(Là nhấn vào nút đó phía bài viết của người ta í chứ đừng có nhè cái hình này mà nhấn miết đi nha :-D


#11 pphung183

pphung183

    biết dimstyle

  • Members
  • PipPipPipPipPip
  • 384 Bài viết
Điểm đánh giá: 425 (tốt)

Đã gửi 09 October 2015 - 03:46 PM

Không hiều ý bạn lắm.

-Nguyên tắc đặt tên tag của mình là cứ tag bắt đầu bằng KT thì là kích thước. và có hàn com chịu trách nhiệm lọc hết các tag có 2 ký tự bắt đầu là KT và cộng lại là ra giá trị chiều dài thanh.

-Sở dĩ có KT, KTA, KTB, KTC vì là nếu là 3 ký tự đầu là có hàm lọc 3 ký tự đầu dùng để hỏi nhập giá trị 1 lần và gán cho nhiều vị trí nếu tag có ký tự ban đầu theo quy định.

 -Ko có gì phài nổ tung cả chẳng qua mình gom rất nhiều hàm con phục vụ cà hộp thoại, và vân vân nên nó thế. 

Bạn xem Link này sẽ hiểu ý mình :)

http://www.cadviet.c...ng-ke-cot-thep/

Đây là bản vẽ Bảng TK cũng dùng BlockAtt có nhiều Tag và còn nhiều loại nữa .... :)


  • 0

#12 thanhlam03xt

thanhlam03xt

    biết vẽ pline

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

Đã gửi 09 October 2015 - 03:59 PM

Thử xem bà con. Lệnh là TKT

http://www.mediafire...6y7/thongke.lsp

Bạn Duy viết lisp này rất hay nhưng cho mình hỏi có cách nào để chọn font chữ và layer cho bảng thống kê theo bản vẽ của mình (font khác font của bạn) 


  • 0
Sống trên đời cần có một tấm lòng.....