明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5090|回复: 6

计算图形惯性矩,面积等

[复制链接]
发表于 2008-2-19 15:51:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2008-2-19 16:02:25 编辑

工具计算任意图形(region)对象的面积,周长,惯性矩,主惯性矩,主矩方向,并表示在Cad图上。非常方便,单首先要把封闭图形利用region命令做成面域对象。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2008-2-19 16:24:00 | 显示全部楼层
凑个热闹,下面这个是纯算法的。
http://zml84.blog.sohu.com/77169816.html
  1. ;;;=======================================
  2. ;;;功能:根据点位表,计算截面特性值
  3. ;;;参数:LST_PT  ----截面内外轮廓线二维点表
  4. (defun ZML-JM (LST_PT    /       X面积  X静矩     对X轴惯性矩
  5.          Y面积    Y静矩       对Y轴惯性矩     PT0
  6.          X0    Y0       X1    Y1     XX
  7.          YY    Y面积       Y静矩  面积A     面积B
  8.          YA    YB       惯性矩A  惯性矩B     X形心
  9.          Y形心    对形心X轴惯性矩  对形心Y轴惯性矩
  10.          对X轴惯性矩       LST_X  LST_Y     MAX_X
  11.          MAX_Y    MIN_X       MIN_Y  形心至上   形心至下
  12.          形心至左    形心至右
  13.         )
  14.     ;;==========
  15.     ;;第一部分  计算与面积有关的特性
  16.     (setq X面积  0
  17.     Y面积  0
  18.     X静矩  0
  19.     Y静矩  0
  20.     对X轴惯性矩 0
  21.     对Y轴惯性矩 0
  22.     )
  23.     (setq PT0 (last LST_PT))
  24.     (foreach PT  LST_PT
  25.   (progn
  26.       ;;
  27.       (setq X0 (car PT0)
  28.       Y0 (cadr PT0)
  29.       X1 (car PT)
  30.       Y1 (cadr PT)
  31.       )
  32.       (setq XX (- X1 X0)
  33.       YY (- Y1 Y0)
  34.       )
  35.       ;;对于X轴
  36.       ;;备忘:a为矩形,b为三角形
  37.       (setq 面积A    (* XX Y0)
  38.       YA    (* 0.5 Y0)
  39.       惯性矩A (* (/ 1.0 12) XX Y0 Y0 Y0)
  40.       惯性矩A (+ 惯性矩A (* 面积A YA YA))
  41.       )
  42.       (setq 面积B    (* 0.5 XX YY)
  43.       YB    (+ Y0 (/ YY 3.0))
  44.       惯性矩B (* (/ 1.0 36) XX YY YY YY)
  45.       惯性矩B (+ 惯性矩B (* 面积B YB YB))
  46.       )
  47.       (setq X面积        (+ X面积 面积A 面积B)
  48.       X静矩        (+ X静矩 (* 面积A YA) (* 面积B YB))
  49.       对X轴惯性矩 (+ 对X轴惯性矩 惯性矩A 惯性矩B)
  50.       )
  51.       ;;对于y轴
  52.       ;;备忘:a为矩形,b为三角形
  53.       (setq 面积A    (* YY X0)
  54.       YA    (* 0.5 X0)
  55.       惯性矩A (* (/ 1.0 12) YY X0 X0 X0)
  56.       惯性矩A (+ 惯性矩A (* 面积A YA YA))
  57.       )
  58.       (setq 面积B    (* 0.5 YY XX)
  59.       YB    (+ X0 (/ XX 3.0))
  60.       惯性矩B (* (/ 1.0 36) YY XX XX XX)
  61.       惯性矩B (+ 惯性矩B (* 面积B YB YB))
  62.       )
  63.       (setq Y面积        (+ Y面积 面积A 面积B)
  64.       Y静矩        (+ Y静矩 (* 面积A YA) (* 面积B YB))
  65.       对Y轴惯性矩 (+ 对Y轴惯性矩 惯性矩A 惯性矩B)
  66.       )
  67.       (setq PT0 PT)
  68.   )
  69.     )
  70.     ;;计算形心位置
  71.     (setq X形心  (/ Y静矩 Y面积)
  72.     Y形心  (/ X静矩 X面积)
  73.     )
  74.     ;;计算对自身形心的惯性矩
  75.     (setq 对形心X轴惯性矩 (- 对X轴惯性矩 (* X面积 Y形心 Y形心))
  76.     对形心Y轴惯性矩 (- 对Y轴惯性矩 (* Y面积 X形心 X形心))
  77.     )
  78.     ;;==========
  79.     ;;第二部分  计算截面的边缘位置
  80.     (setq LST_X  '()
  81.     LST_Y  '()
  82.     )
  83.     (foreach PT  LST_PT
  84.   (setq LST_X (cons (car PT) LST_X)
  85.         LST_Y (cons (cadr PT) LST_Y)
  86.   )
  87.     )
  88.     (setq MAX_Y  (apply 'max LST_Y)
  89.     MIN_Y  (apply 'min LST_Y)
  90.     MAX_X  (apply 'max LST_X)
  91.     MIN_X  (apply 'min LST_X)
  92.     )
  93.     (setq 形心至上 (- MAX_Y Y形心)
  94.     形心至下 (- Y形心 MIN_Y)
  95.     形心至右 (- MAX_X X形心)
  96.     形心至左 (- X形心 MIN_X)
  97.     )
  98.     ;;==========
  99.     ;;第三部分  返回结果
  100.     (list (cons "面积" Y面积)
  101.     (cons "形心" (list X形心 Y形心))
  102.     (cons "形心至上" 形心至上)
  103.     (cons "形心至下" 形心至下)
  104.     (cons "形心至左" 形心至左)
  105.     (cons "形心至右" 形心至右)
  106.     (cons "对X轴静矩" (- X静矩))
  107.     (cons "对Y轴静矩" Y静矩)
  108.     (cons "对X轴惯性矩" (- 对X轴惯性矩))
  109.     (cons "对Y轴惯性矩" 对Y轴惯性矩)
  110.     (cons "对形心X轴惯性矩" (- 对形心X轴惯性矩))
  111.     (cons "对形心Y轴惯性矩" 对形心Y轴惯性矩)
  112.     )
  113. )
发表于 2012-5-19 19:28:03 | 显示全部楼层
这个太有用了,谢谢两位楼上的
发表于 2012-5-20 09:14:48 | 显示全部楼层
谢谢分享,下载学习了,顶一下
发表于 2012-10-9 13:10:44 | 显示全部楼层
谢谢。。。。。。。。。。。。
发表于 2012-10-11 09:48:49 | 显示全部楼层
能不能计算部分受压区的惯性距呢?
发表于 2018-9-26 16:43:36 | 显示全部楼层
本帖最后由 yjtdkj 于 2018-9-26 17:00 编辑

楼主看一下我这个图纸,为什么惯性矩和CAD自带的查出来不一样呀?
形心、面积都一样,是不是中间挖空的原因?










=====================
不好意思,是我搞错了,系统自带的惯性矩是针对0,0,0点来求的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-19 08:29 , Processed in 0.182804 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表