Đến nội dung


Hình ảnh

Tổng hợp các lisp thường dùng cho dân CƠ KHÍ & CẤP TỐC THOÁT NƯỚC


  • Please log in to reply
25 replies to this topic

#21 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 25 October 2014 - 11:56 AM

Thì đây haanh:

;Lisp khai trien canh vit
(defun c:KTCV( / Rnho Rlon P S Dng Dtr x y Dtb)
(defun ch(a b) (sqrt (+ (* a a) (* b b))))
;====
(setq Rnho (getdist "\nNhap ban kinh nho ®: ")
	  Rlon (getdist "\nNhap ban kinh lon ®: ")
	  P (getdist "\nNhap buoc vit (P): ")
	  S (getdist "\nNhap chieu day tam thep (S): "))
(cond ((and Rnho Rlon P S)
	(setq Dng (/ (ch (* 2 pi Rlon) P) pi)
		  Dtr (/ (ch (* 2 pi Rnho) P) pi)
		  x (sqrt (- (* (- Rlon Rnho) (- Rlon Rnho)) (/ (* (- Dng Dtr) (- Dng Dtr)) 4.)))
		  y (/ (* x 0.5 S) (- Rlon Rnho))
		  Dtb (- Dng (* 2 y))
		  Dtr_tb (- Dtr (* 2 y))
		  )
		  )
)
(princ (strcat "\nDtb: " (rtos Dtb 2 4) "\tdtb: " (rtos Dtr_tb 2 4)))
(princ)
)
;========================================

p/s: Có muốn vui cũng chẳng vui nỗi ^^ Vì haanh "rặn" ... làm mình ngóng dài hết cả cổ :D :D :D


  • 2

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#22 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 26 October 2014 - 12:39 PM

Con lisp thứ 2 và 3 rất khó tính, nó đỏng đảnh và kiêu sa lắm! Tiếp cận được với nó,  em chỉ lo anh phải mất nhiều đêm thức trắng :) :) :)

Em muốn anh giải quyết dứt điểm Lisp vẽ đường ống 3D trước (cần thiết hơn). Em sẽ viết bài sao cho nội dung  không vượt quá giới hạn ức chế cho phép [Ϭưche], để chiều theo ý của anh:

"haanh cần đưa nguyên cục vậy để mình lựa chọn giải pháp để khỏi tốn công vô ích

chứ viết lisp mà cứ rặn .... từng tí vậy là ức chế lắm đó ^ ^"

Chúc anh 2 ngày cuối tuần gặp vui nhiều!

 

11837_1haq.png

 

Em cảm ơn anh Hiệp nhiều nhiều nhé! :) :) :)

Lisp của anh  ra kết quả dtb đúng tuyệt đối , hơi tiếc là Dtb lại có sai số ???

Không còn con đường nào khác, nếu rảnh, anh chỉ có nhấn ga để tiến hoặc cài số lùi:

1)- Tiến để lisp ra được  trị số đúng của Dtb và dtb

2)- Lùi để lisp ra được trị số đúng của Dtb và chấp nhận dtb có sai số 0.0001

 

P/S: anh mở file.dwg của em trong bài viết #15 trang 1, kiểm tra lại giúp em nhé!


  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#23 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 27 October 2014 - 02:08 AM

Kết quả của lisp & haanh có sự sai khác là do số liệu của haanh đãđ bị làm tròn
(Nếu ko muốn nói là tính nhầm)
VD: dn nếu làm tròn đến 4 số sau dấu thập phân phải là 163.1422
  • 1

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#24 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 27 October 2014 - 04:04 PM

Còn chần chờ gì nữa mà ko tiếp bước 2, bước 3 ..... bước n đi haanh ?!

 

>>> Phần 1:

(defun c:KTCV( / Rnho Rlon P S Dng Dtr x y Dtb)
(defun ch(a B) (sqrt (+ (* a a) (* b B))))
;====
(setq Rnho (getdist "\nNhap ban kinh nho ®: ")
     Rlon (getdist "\nNhap ban kinh lon ®: ")
     P (getdist "\nNhap buoc vit (P): ")
     S (getdist "\nNhap chieu day tam thep (S): "))
(cond ((and Rnho Rlon P S)
    (setq Dng (/ (ch (* 2 pi Rlon) P) pi)
         Dtr (/ (ch (* 2 pi Rnho) P) pi)
         x (sqrt (- (* (- Rlon Rnho) (- Rlon Rnho)) (/ (* (- Dng Dtr) (- Dng Dtr)) 4.)))
         y (/ (* x 0.5 S) (- Rlon Rnho))
         Dtb (- Dng (* 2 y))))
)
)

P/s:

haanh cần đưa nguyên cục vậy để mình lựa chọn giải pháp để khỏi tốn công vô ích

chứ viết lisp mà cứ rặn .... từng tí vậy là ức chế lắm đó ^ ^

 

:D :D :D

 

1)- Sử dụng lisp trong bài viết của anh số #16 ở trang 1 (mà em vừa trích dẫn ở trên) để xác định trị số của Dtb:

Command: ktcv1 
Nhap ban kinh nho ®: 51
Nhap ban kinh lon ®: 200
Nhap buoc vit (P): 400
Nhap chieu day tam thep (S): 5
417.234
Command:

2)- Sử dụng lisp trong bài viết số #21 của anh ở trên để xác định trị số của Dtb và dtb:

Command: ktcv
Nhap ban kinh nho ®: 51
Nhap ban kinh lon ®: 200
Nhap buoc vit (P): 400
Nhap chieu day tam thep (S): 5
Dtb: 417.2339       dtb: 160.6008
Command:

Hai lisp  cho kết quả Dtb không giống  nhau, vì sao vậy, anh Hiệp thử kiểm tra lại xem sao??? :) :) :)


  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”


#25 hiepttr

hiepttr

    Edu level: li10

  • Members
  • PipPipPipPipPipPipPip
  • 1298 Bài viết
Điểm đánh giá: 518 (tốt)

Đã gửi 27 October 2014 - 04:53 PM

417.234 là mình để cad tuỳ hứng hiển thị
417.2339 là mình "nhờ" cad hiển thị đến 4 số lẻ.
Thực ra cad vẫn hiểu Dtb ở 2 trường hợp là bằng nhau.
Tom lại, ko có gì sai ở đây cả. Chỉ là muốn hiển thị bao nhiêu số lẻ mà thôi ^^
  • 1

Có vợ dù dữ dù hiền , bạn đều có lợi
_ Nếu vợ hiền, bạn sẽ là người đàn ông sung sướng
_ Nếu vợ dữ, bạn sẽ thành ... triết gia !

Bergson


#26 haanh

haanh

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 2875 Bài viết
Điểm đánh giá: 1554 (rất tốt)

Đã gửi 28 October 2014 - 08:25 AM

Kết quả của lisp & haanh có sự sai khác là do số liệu của haanh đãđ bị làm tròn
(Nếu ko muốn nói là tính nhầm)
VD: dn nếu làm tròn đến 4 số sau dấu thập phân phải là 163.1422

 

Untitled_zpsnkggavka.gif

 

Dòm kỹ ảnh động trên, anh sẽ thấy là dù đặt units có precision 0,0000 hay 0,00000000 thì AutoCAD vẫn cho kết quả như nhau.

Từ AutoCAD2013 đã hỗ trợ tính toán làm cho việc vẽ vời trở lên nhanh chóng và chính xác hơn. Số liệu vẽ em bôi đen copy và pate vào dòng command, đảm bảo không thể nhầm được.

Chính thằng precision đó đã làm cho em hiểu lầm về độ chính xác của lisp chứ không phải là do em đâu nhé! :) :) :)

Chào biệt anh Hiệp ở chủ đề này, hẹn gặp lại anh Hiệp trở lại viết tiếp 2 con lisp khai triển cánh vít sau nhé!

Em muốn anh giải quyết dứt điểm Lisp vẽ đường ống 3D trước (cần thiết hơn).

 Em sẽ  cố gắng viết bài sao cho nội dung  không vượt quá giới hạn ức chế cho phép [Ϭưche] của anh....

 

P/s: - Em muốn anh viết lisp thống kê  tổng chiều dài đường ống và   tổng số lượng cút  cho từng loại đường kính ống mà cách thao tác chỉ là chỉ bấm đúp chuột vào 1 đoạn ống hoặc 1  cái cút  (giống như việc bấm đúp vào đường thẳng ở ảnh trên  có được không?


  • 0

“Sống trong đời sống cần có một tấm lòng / Để làm gì em biết không ? / Để gió cuốn đi, để gió cuốn đi...”