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

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

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

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

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

 

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ề,....

  • Vote tăng 2
  • 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ô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.

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ô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)))
 
  • 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

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.co.uk/Useful_Tables/Torsion/Torsion.html

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

 

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

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

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.

  • 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

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.org/wiki/List_of_moments_of_inertia

  • 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

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

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

Các bác cho mình hỏi, nếu muốn tính Centroid của mặt cắt mà trong đó có một cái lỗ thì cad có tính được không? Thí dụ có một hình chữ nhật mà bên trong khoét một lỗ tròn ấy. Mong nhận được câu trả lời của mọi người. Cảm ơn 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

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

×