Đến nội dung


Hình ảnh
- - - - -

Lisp tinh toan momen quan tinh xoan(J) cua tiet dien bat ky


  • Please log in to reply
13 replies to this topic

#1 lucky007

lucky007

    biết pan

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

Đã gửi 10 July 2013 - 10:05 AM

Dear các anh chị em trong diễn đàn!

Trong quá trình làm việc tôi có vướng mắc khi tính toán mômen quán tính xoắn cảu 1 tiết diện bất kỳ, vậy mong anh chị em trong diễn đàn giúp đỡ tôi, tôi xin chân thành cảm ơn và hậu tạ. 


  • 0

#2 phamthanhbinh

phamthanhbinh

    biết lệnh adcenter

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

Đã gửi 10 July 2013 - 10:15 AM

Dear các anh chị em trong diễn đàn!

Trong quá trình làm việc tôi có vướng mắc khi tính toán mômen quán tính xoắn cảu 1 tiết diện bất kỳ, vậy mong anh chị em trong diễn đàn giúp đỡ tôi, tôi xin chân thành cảm ơn và hậu tạ. 

Similar topics from web:
Ứng dụng CNTT trong Xây Dựng

Hề hề hề,

Hình như chủ thớt co tham vọng hơi lớn. Việc tính mô men quán tính của một tiết diện bất kỳ xem ra không hề dễ. Bản thân các nhà khoa học chuyên ngành cũng mới chỉ đưa ra được một số công thức tinh toán cho một số tiết điện cho trước như HCN, Hình tròn, hình chữ I, hình chữ U, hình chữ C .... là những tiết diện tương đối thông dụng. Còn tiết diện hình bất kỳ thì nếu mình nhớ không nhầm thì chỉ có công thức tich phân chi chi đó. Chỉ nguyên cái việc tìm ra nguyên hàm cho nó cũng đủ tè ra quần rồi chứ chưa nói đến chuyện viết lisp hay viết cái chi chi.

Hy vọng rằn chủ thớt sẽ giới hạn lại những loại tiết diện cần dùng thì may ra còn có khả năng giải quyết, chớ bao la bất tận thế này thì chắc là phải chờ các viện sĩ viện hàn lâm khoa học ....... linh tinh mới viết nổi.

Hề hề hề,....


  • 1
Chúc các quý Anh trên diễn đàn luôn khỏe, đẻ thêm được nhiều thứ để mót.

#3 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 10 July 2013 - 10:23 AM

Ủa! Cái này tôi đã viết rồi mà?


  • 2

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


#4 lucky007

lucky007

    biết pan

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

Đã gửi 10 July 2013 - 08:36 PM

Tôi xin cảm ơn các bạn đã trả lời.Theo tôi nghĩ thì trong cad họ có thể tính toán được Section Properties qua lệnh " Region" và "Massprop" với tất cả các loại tiết diện,do đó tôi nghĩ Lisp Cad cũng có thể làm được việc đó.Nếu ai có thể viết được tôi xin cảm ơn và hậu tạ.

Nếu bác Doan Van Ha viết được tôi xin cảm ơn và sẽ không quên sự giúp đỡ của bác.


  • 0

#5 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 10 July 2013 - 08:54 PM

Tôi nhớ đã post cái này 1 lần, nhưng giờ quên link nên đành post lại. Hy vọng đúng ý bạn. Và nếu đúng thì xin nhận hậu tạ bằng LIKE cho gọn.

;Doan Van Ha - CADViet.com
;Tinh cac dac trung hinh hoc cua Polyline kin hoac Region.
(defun C:HA() 
 (setq obj (vlax-ename->vla-object (car (entsel "\Chon doi tuong kin (Polyline hoac Region): "))))
 (VxGetMassProps Obj))
(defun VxGetMassProps (Obj / DelFlg ResLst TmpObj)
 (or Gb:AcO (setq Gb:AcO (vlax-get-acad-object)))
 (or Gb:AcD (setq Gb:AcD (vla-get-activedocument Gb:AcO)))
 (if (member (vla-get-ObjectName Obj) '("AcDb2dPolyline" "AcDbPolyline"))
  (setq DelFlg T
        TmpObj (vlax-safearray-get-element  (vlax-variant-value (vla-AddRegion (vla-get-ModelSpace Gb:AcD) (VxListToArray (list Obj) vlax-vbObject))) 0))
  (setq TmpObj Obj))
 (setq ResLst (append
               (list
                (vlax-get TmpObj 'Centroid)
                (vlax-get TmpObj 'RadiiOfGyration)
                (setq a (vlax-get TmpObj 'PrincipalDirections))
                (vlax-get TmpObj 'PrincipalMoments)
                (vlax-get TmpObj 'MomentOfInertia))
               (if (= (vla-get-ObjectName TmpObj) "AcDbRegion")
                (list
                 (vla-get-ProductOfInertia TmpObj)
                 (vla-get-Area TmpObj)
                 (vla-get-Perimeter TmpObj))
                (list
                 (vlax-get TmpObj 'ProductOfInertia)
                 (vla-get-Volume TmpObj)
                 nil))))
 (if DelFlg (vla-delete TmpObj))
 (princ "\n\nKET QUA TINH: ")
 (princ "\n1). Centroid: ")
 (princ "\n X: ") (princ (car (nth 0 Reslst)))
 (princ "\n Y: ") (princ (cadr (nth 0 Reslst)))
 (princ "\n2). Radii Of Gyration: ")
 (princ "\n X: ") (princ (car (nth 1 Reslst)))
 (princ "\n Y: ") (princ (cadr (nth 1 Reslst)))
 (princ "\n3). Principal Directions: ")
 (princ "\n ") (princ (car (nth 2 Reslst)))
 (princ "\n ") (princ (cadr (nth 2 Reslst)))
 (princ "\n ") (princ (caddr (nth 2 Reslst)))
 (princ "\n ") (princ (nth 3 (nth 2 Reslst)))
 (princ "\n4). Principal Moments: ")
 (princ "\n I: ") (princ (car (nth 3 Reslst)))
 (princ "\n J: ") (princ (cadr (nth 3 Reslst)))
 (princ "\n5). Moment Of Inertia: ")
 (princ "\n X: ") (princ (car (nth 4 Reslst)))
 (princ "\n Y: ") (princ (cadr (nth 4 Reslst)))
 (princ "\n6). Product Of Inertia: ")
 (princ (nth 5 Reslst))
 (princ "\n7). Area: ")
 (princ (nth 6 Reslst))
 (princ "\n8). Perimeter: ")
 (princ (nth 7 Reslst))
 (textpage))
; (princ))
; ResLst=((70.5309 25.7049) (25.7963 70.5906) (0.966567 0.256415 -0.256415 0.966567) (285.635 561.65) (42933.0 321491.0) 116901.0 64.5172 37.4259)
;-----
(defun VxListToArray (Lst Typ)
 (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray Typ (cons 0 (1- (length Lst)))) Lst)))
 

  • 3

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


#6 lucky007

lucky007

    biết pan

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

Đã gửi 10 July 2013 - 10:30 PM

Thank Ha rất nhiều!

Mình đã down về rồi but cái mình cần là  mômen quán tính chống xoắn(Jz) và mômen kháng xoắn của tiết diện(Wz)

Nên nếu có thể nhờ bạn viết hộ mình nhé.

Mình attach trang Wed có nói đến vấn đề này cho bạn.

Cảm ơn vì đã quan tâm.

http://www.roymech.c...on/Torsion.html


  • 0

#7 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 10 July 2013 - 10:44 PM

Bạn có thể cung cấp cho mình nghĩa tiếng Anh của Jz và Wz để xem thử có thể giúp được không nhé.


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


#8 lucky007

lucky007

    biết pan

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

Đã gửi 10 July 2013 - 11:05 PM

Mình gửi bạn :

The torsion constant (J) : mômen quán tính xoắn

The torsion modulus constant (Z) : mômen quán tính kháng xoắn

Minh đính kèm 1 file cong thức tính toán cho bạn nhé, o trang Wed minh đính kèm họ nói cũng rất rõ về vấn đề này.

Mình cảm ơn.

 


  • 0

#9 Hoan1111

Hoan1111

    biết lệnh adcenter

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

Đã gửi 10 July 2013 - 11:35 PM

Tôi nhớ đã post cái này 1 lần, nhưng giờ quên link nên đành post lại. Hy vọng đúng ý bạn. Và nếu đúng thì xin nhận hậu tạ bằng LIKE cho gọn.

 

;Doan Van Ha - CADViet.com
;Tinh cac dac trung hinh hoc cua Polyline kin hoac Region.
(defun C:HA() 
 (setq obj (vlax-ename->vla-object (car (entsel "\Chon doi tuong kin (Polyline hoac Region): "))))
 (VxGetMassProps Obj))
(defun VxGetMassProps (Obj / DelFlg ResLst TmpObj)
 (or Gb:AcO (setq Gb:AcO (vlax-get-acad-object)))
 (or Gb:AcD (setq Gb:AcD (vla-get-activedocument Gb:AcO)))
 (if (member (vla-get-ObjectName Obj) '("AcDb2dPolyline" "AcDbPolyline"))
  (setq DelFlg T
        TmpObj (vlax-safearray-get-element  (vlax-variant-value (vla-AddRegion (vla-get-ModelSpace Gb:AcD) (VxListToArray (list Obj) vlax-vbObject))) 0))
  (setq TmpObj Obj))
 (setq ResLst (append
               (list
                (vlax-get TmpObj 'Centroid)
                (vlax-get TmpObj 'RadiiOfGyration)
                (setq a (vlax-get TmpObj 'PrincipalDirections))
                (vlax-get TmpObj 'PrincipalMoments)
                (vlax-get TmpObj 'MomentOfInertia))
               (if (= (vla-get-ObjectName TmpObj) "AcDbRegion")
                (list
                 (vla-get-ProductOfInertia TmpObj)
                 (vla-get-Area TmpObj)
                 (vla-get-Perimeter TmpObj))
                (list
                 (vlax-get TmpObj 'ProductOfInertia)
                 (vla-get-Volume TmpObj)
                 nil))))
 (if DelFlg (vla-delete TmpObj))
 (princ "\n\nKET QUA TINH: ")
 (princ "\n1). Centroid: ")
 (princ "\n X: ") (princ (car (nth 0 Reslst)))
 (princ "\n Y: ") (princ (cadr (nth 0 Reslst)))
 (princ "\n2). Radii Of Gyration: ")
 (princ "\n X: ") (princ (car (nth 1 Reslst)))
 (princ "\n Y: ") (princ (cadr (nth 1 Reslst)))
 (princ "\n3). Principal Directions: ")
 (princ "\n ") (princ (car (nth 2 Reslst)))
 (princ "\n ") (princ (cadr (nth 2 Reslst)))
 (princ "\n ") (princ (caddr (nth 2 Reslst)))
 (princ "\n ") (princ (nth 3 (nth 2 Reslst)))
 (princ "\n4). Principal Moments: ")
 (princ "\n I: ") (princ (car (nth 3 Reslst)))
 (princ "\n J: ") (princ (cadr (nth 3 Reslst)))
 (princ "\n5). Moment Of Inertia: ")
 (princ "\n X: ") (princ (car (nth 4 Reslst)))
 (princ "\n Y: ") (princ (cadr (nth 4 Reslst)))
 (princ "\n6). Product Of Inertia: ")
 (princ (nth 5 Reslst))
 (princ "\n7). Area: ")
 (princ (nth 6 Reslst))
 (princ "\n8). Perimeter: ")
 (princ (nth 7 Reslst))
 (textpage))
; (princ))
; ResLst=((70.5309 25.7049) (25.7963 70.5906) (0.966567 0.256415 -0.256415 0.966567) (285.635 561.65) (42933.0 321491.0) 116901.0 64.5172 37.4259)
;-----
(defun VxListToArray (Lst Typ)
 (vlax-make-variant (vlax-safearray-fill (vlax-make-safearray Typ (cons 0 (1- (length Lst)))) Lst)))
 

 

Em tò mò muốn anh Hà giải thích cho em hiểu sự khác biệt khi dùng lisp của anh so với dùng  lệnh MASSPROP:

 

Command: HA Chon doi tuong kin (Polyline hoac Region):
KET QUA TINH:
1). Centroid:
 X: 18.9681
 Y: 13.3743
2). Radii Of Gyration:
 X: 13.4322
 Y: 19.1217
3). Principal Directions:
 0.972257
 0.233915
 -0.233915
 0.972257
4). Principal Moments:
 I: 37.8715
 J: 179.868
5). Moment Of Inertia:
 X: 5309.66
 Y: 10760.3
6). Product Of Inertia: 7433.39
7). Area: 29.4288
8). Perimeter: 28.1659nil
Command:

 

Command: MASSPROP
Select objects: 1 found
Select objects:
 ----------------   REGIONS   ----------------
Area:                    29.4288
Perimeter:               28.1659
Bounding box:         X: 13.9725  --  23.4991
                      Y: 10.4037  --  16.9504
Centroid:             X: 18.9681
                      Y: 13.3743
Moments of inertia:   X: 5309.6579
                      Y: 10760.3003
Product of inertia:  XY: 7433.3925
Radii of gyration:    X: 13.4322
                      Y: 19.1217
Principal moments and X-Y directions about centroid:
                      I: 37.8715 along [0.9723 -0.2339]
                      J: 179.8684 along [0.2339 0.9723]
Write analysis to a file? [Yes/No] <N>: *Cancel*


  • 0

66 Câu Phật Học Cho Cuộc Sống : http://ngocchinh.com...-cho-cuoc-song/

Gió đưa cây cải về trời / Rau răm ở lại chịu lời đắng cay...

 

 


#10 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 11 July 2013 - 07:19 AM

Có 2 điều khác biệt cơ bản giữa lisp trên và lệnh cad MASSPROP:

1). Lisp có thể lấy properties của Lwpolyline, 2DPolyline và Region, cad thì chỉ lấy được Region.

2). Khi cần, lisp có thể in ra file cho hàng loạt đối tượng, cad thì mỗi lần chỉ in được 1 đối tượng.


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


#11 lucky007

lucky007

    biết pan

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

Đã gửi 15 July 2013 - 08:45 AM

Chào các anh chị em trong diễn đàn!mọi người hãy giúp mình với.

Xin cảm ơn.


  • 0

#12 Doan Van Ha

Doan Van Ha

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 5454 Bài viết
Điểm đánh giá: 2626 (tuyệt vời)

Đã gửi 15 July 2013 - 08:52 AM

Không tìm ra được sự liên hệ giữa J và Z với 8 thuộc tính đã biết >> chắc chịu thôi?


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


#13 Nguyen Hoanh

Nguyen Hoanh

    biết lệnh adcenter

  • Moderator
  • PipPipPipPipPipPipPip
  • 4106 Bài viết
Điểm đánh giá: 4495 (đỉnh cao)

Đã gửi 15 July 2013 - 05:29 PM

J (không nói gì) ở đây được hiểu là Jz là mô ment quán tính của khối 3d đối với trục quán tính z của nó, moment này chỉ xuất hiện khi vật thể là khối 3d.

Muốn tính Jz hãy extrude tiết diện với chiều cao bằng 1 unit (khi chiều cao = 1 thì xét về mặt số học, thể tích sẽ bằng diện tích), dùng lệnh massprop sẽ xuất hiện Moment quán tính theo trục z (tiếng anh là Moments of inertia), đọc kết quả ở dòng Z.

Còn W = J/r, cái này phải tùy từng tiết diện. r = khoảng cách xa nhất từ tâm quán tính tới biên. Với hình tròn thì r=bán kính, với hình chữ nhật thì r=nửa đường chéo, AutoCAD không tự tính cho ta.

Công thức ở trang web lucky007 đưa mình thấy một số công thức hình như không đúng (so với các sách sức bền vật liệu).

Công thức Jz này của AutoCAD tính theo công thức chung ở đây: http://en.wikipedia....ents_of_inertia
  • 2

#14 nguyensy47

nguyensy47

    Chưa sử dụng CAD

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

Đã gửi 06 March 2014 - 03:27 PM

Cách Momen quán tinh trong autocad

1.      Menu/draw/region. (cho td thành khối rắn)

2.      Menu/tools/Inquiry/(region/mass properties.(phần mềm tự tính cho ta Jx, jy chả cần phải viết lisp gì cả rách việt

có gì liên hệ mình

nguyensy47@yahoo.com


  • 0