仿真在线:有限元分析咨询与培训中心——Ansys|Fluent|Abaqus|HFSS|SolidWorks|课程培训

AutoCAD計(jì)算截面對任意軸的靜距和慣性矩的程序設(shè)計(jì)

2013-08-09  by:廣州cad教學(xué)中心  來源:仿真在線

AutoCAD計(jì)算截面對任意軸的靜距和慣性矩的程序設(shè)計(jì)

 

一、引言

Autodesk公司開發(fā)的AutoCAD工程繪圖軟件是當(dāng)前應(yīng)用廣泛的二維CAD軟件,功能強(qiáng)大,在機(jī)械設(shè)計(jì)領(lǐng)域廣泛應(yīng)用。開放式體系結(jié)構(gòu)也允許第三方開發(fā)者為它編寫應(yīng)用程序,顯著增加了繪圖工作效率。

VBA是VisualBasicforApplications的英文縮寫,是由Microsoft公司創(chuàng)建的,它是一個(gè)功能強(qiáng)大的定制程序開發(fā)工具,用來自動(dòng)執(zhí)行任務(wù)的一個(gè)編程環(huán)境。VBA為AutoCAD的二次開發(fā)提供類似VisualBasic(VB)語言所擁有的功能,引入了對象的程序設(shè)計(jì)環(huán)境,為開發(fā)者提供了用來創(chuàng)建圖形用戶界面(GUI)的可拖拉工具和用來與AutoCAD對象交互的編程語言。

AutoCAD具有強(qiáng)大的繪圖功能,可以直接求得截面對當(dāng)前坐標(biāo)系x軸和y軸的慣性距,但不能求得對任意軸的靜距和慣性矩。需要用戶通過創(chuàng)建面域、變換坐標(biāo)系等一系列操作進(jìn)行求解。靜距和慣性矩分別是計(jì)算回轉(zhuǎn)體質(zhì)量、校核受力零部件強(qiáng)度的重要的截面幾何性質(zhì)。筆者使用VBA在AutoCAD平臺(tái)上進(jìn)行二次開發(fā),根據(jù)靜距和慣性距的平行移軸公式和轉(zhuǎn)軸公式定制應(yīng)用程序,幫助工程設(shè)計(jì)人員自動(dòng)高效率地完成截面對任意軸的靜距和慣性矩求解。

二、數(shù)學(xué)模型求解

根據(jù)平面圖形的平行移軸公式、轉(zhuǎn)軸公式,可推導(dǎo)出平面圖形對于任意軸的靜距和慣性矩。已知截面在XOY坐標(biāo)系下的面積A、質(zhì)心(xc,yc)、慣性距Ix、慣性距Iy和慣性距Ixy,求解截面對X3軸的靜距Sx3、慣性距Ix3。

步驟1:截面對x、y軸的靜距:Sx=ycA,Sy=xcA;

步驟2:通過平行移軸到形心(xc,yc)后,截面中任意一點(diǎn)在X1O1Y1坐標(biāo)系下的坐標(biāo)為:

x1=x-xc

y1=y-yc

求解對x1、y1軸的靜距、慣性距和慣性積。

因?yàn)樾涡脑?span>X1O1Y1坐標(biāo)系的原點(diǎn),所以Sx1=0,Sy1=0。

AutoCAD計(jì)算截面對任意軸的靜距和慣性矩的程序設(shè)計(jì)autocad應(yīng)用技術(shù)圖片圖片1

步驟3:圍繞形心(xc,yc)逆時(shí)針旋轉(zhuǎn)θ,圖形中任意一點(diǎn)在X2O2Y2坐標(biāo)系下的坐標(biāo)為:

x2=x1cosθ+y1sinθ

y2=-x1sinθ+y1cosθ

求解對x2、y2軸的靜距、慣性距和慣性積。因?yàn)樾涡脑赬202Y2坐標(biāo)系的原點(diǎn),所以Sx2=0,Sy2=0。

步驟4:通過沿y3方向平行移軸到x3軸后,圖形中任意一點(diǎn)在X3O3Y3坐標(biāo)系下的坐標(biāo)為:

x3=x2

y3=y2-D

求解對x3軸的靜距、慣性距:

AutoCAD計(jì)算截面對任意軸的靜距和慣性矩的程序設(shè)計(jì)autocad培訓(xùn)教程圖片2

通過平行移軸和轉(zhuǎn)軸很容易求解平面圖形對于任意軸的幾何性質(zhì),推導(dǎo)過程中所需要的已知數(shù)據(jù),可以采用VBA程序在AutoCAD的模型空間獲得。

三、VBA設(shè)計(jì)思路

本文通過為指定區(qū)域創(chuàng)建面域Region對象,可以獲得Region對象的Area、Centroid、MomentOfInertia和ProductOfInertia屬性。在VBA中通過程序代碼實(shí)現(xiàn)數(shù)學(xué)模型求解過程,從而實(shí)現(xiàn)截面對任意軸的靜距和慣性矩求解。

四、VBA程序編寫

1.生成面域

首先介紹生成面域并處理的方法,在AutoCAD模型空間中所求區(qū)域指定一點(diǎn),為所選區(qū)域生成面域,并使此面域處于繪圖順序的最頂層。此面域?yàn)槟P涂臻g中最新的實(shí)體對象,因此可以根據(jù)模型空間的實(shí)體數(shù)量,將此面域賦值給AcadRegion類型變量RegionTemp,再將Region和RegionTemp指定的兩個(gè)面域合并,其次變更Region的顏色以便突出顯示對象。此過程采用循環(huán)語句讓用戶可以選取多個(gè)區(qū)域并生成一個(gè)Region。為了便于調(diào)用代碼,創(chuàng)建自定義函數(shù)如下:

FunctionAddRegion(ByRefRegionAsAcadRegion,ColorAsACAD_COLOR)

DimP0AsVariant

DimRegionTempAsAcadRegion

DimOSIntAsInteger

on ErrorResumeNext

OSInt=ThisDrawing.GetVariable(“OSMODE”)

‘獲取對象捕捉數(shù)值

ThisDrawing.SendCommand“OSMODE31743“

‘取消對象捕捉loopstart:DoWhile1

P0=ThisDrawing.Utility.GetPoint(,vbCrLf&“請?jiān)谳喞€內(nèi)點(diǎn)取一點(diǎn):”)

IfErr<>0Then

Err.Clear

GoToErrorHandler

EndIf

PStr=P0(0)&“,”&P0(1)

lngnum=ThisDrawing.ModelSpace.Count

‘創(chuàng)建面域

ThisDrawing.SendCommand“-boundaryAORin

“&““&““&PStr&““&““

Iflngnum=ThisDrawing.ModelSpace.CountThen

GoToloopstart

EndIf

IfThisDrawing.ModelSpace.Item(lngnum).EntityName

=“AcDbRegion”Then

SetRegionTemp=ThisDrawing.ModelSpace.Item(lngnum)

EndIf

‘面域求和

Region.BooleanacUnion,RegionTemp

IfErr<>0Then

Err.Clear

SetRegion=RegionTemp

54www.idnovo.com.cn

欄目主持:黎艷

投稿信箱:liy@idnovo.com.cn

EndIf

Region.Color=ColorRegion.UpdateRegion.HighlightTrueLoop

ErrorHandler:

ThisDrawing.SendCommand“OSMODE“&OSInt&““‘回復(fù)對象捕捉EndFunction

2.獲得面域?qū)傩?/span>

面域生成之后,我們可以獲得面域?qū)ο蟮膶傩?從而得到面域?qū)?span>x、y軸的幾何性質(zhì)。具體的自定義函數(shù)代碼如下:

FunctionGetRegionAtt(ByRefRegionobjAs

AcadRegion,_

ByRefA,ByRefCx,ByRefCy,_

ByRefSx,ByRefSy,ByRefIx,ByRefIy,ByRefIxy)on ErrorResumeNext

A=Regionobj.Area’面積

Cx=Regionobj.Centroid(0)’質(zhì)心Cy=Regionobj.Centroid(1)

Sx=Cy*A’計(jì)算靜距Sy=Cx*A

Ix=Regionobj.MomentOfInertia(0)’慣性距Iy=Regionobj.MomentOfInertia(1)

Ixy=Regionobj.ProductOfInertia’慣性積EndFunction

3.程序求解

根據(jù)數(shù)學(xué)模型求解中的公式,我們可以采用VBA編寫代碼求解。公式推導(dǎo)時(shí)所用到的參數(shù)任意軸對x軸的角度θ、面域質(zhì)心到任意軸的距離D,需要通過VBA程序求解。在AutoCAD中可以使用“ThisDrawing.Utility.AngleFromXAxis”方法獲得指定兩點(diǎn)所形成的直線對x軸的弧度值。在VBA中計(jì)算三角函數(shù)時(shí)采用的參數(shù)為弧度,所以編寫代碼時(shí)可以直接用Radian變量代替角度θ。具體按公式求解的自定義函數(shù)代碼如下:

FunctionCalculate(ByRefRegionobjAsAcadRegion,ByRefA,ByRefCx,ByRefCy,_

ByRefSx,ByRefSy,ByRefIx,ByRefIy,ByRefIxy,_ByRefSx1,ByRefSy1,ByRefIx1,ByRefIy1,ByRef

Ix1y1,_

ByRefSx2,ByRefSy2,ByRefIx2,ByRefIy2,ByRef

Ix2y2,_

ByRefSx3,ByRefSy3,ByRefIx3,ByRefIy3,ByRef

Ix3y3)

on ErrorResumeNext

‘指定慣性軸兩點(diǎn)

P1=ThisDrawing.Utility.GetPoint(,vbCrLf&“請選取慣性軸第一點(diǎn):”)

P2=ThisDrawing.Utility.GetPoint(P1,vbCrLf&“請選取慣性第二點(diǎn):”)

Radian1=ThisDrawing.Utility.AngleFromXAxis(P1,P2)

IfStr(P1(0))=Str(Cx)AndStr(P1(1))=Str(Cy)Then

Radian2=0

Else

Radian2=ThisDrawing.Utility.AngleFromXAxis(P1,CP)

EndIf

DimCP(0To2)AsDouble

CP(0)=Cx

CP(1)=Cy

DisPP=Sqr((Cx-P1(0))^2+(Cy-P1(1))^2)‘質(zhì)心到P1點(diǎn)的距離

Radian=Radian2-Radian1慣性軸對于x軸弧度

DisPL=Abs(DisPP*Sin(Radian))‘質(zhì)心到慣性軸的距離

‘移軸至質(zhì)心

Sx1=Sx-Cy*ASy1=Sy-Cx*A

Ix1=Ix-2*Cy*Sx+Cy^2*AIy1=Iy-2*Cx*Sy+Cx^2*A

Ix1y1=Ixy-Cy*Sy-Cx*Sx+Cx*Cy*A‘轉(zhuǎn)軸

Sx2=Sx1*Cos(Radian1)-Sy1*Sin(Radian1)Sy2=Sy1*Cos(Radian1)+Sx1*Sin(Radian1)

Ix2=Ix1*Cos(Radian1)^2+Iy1*Sin(Radian1)^2-

2*Ix1y1*Sin(Radian1)*Cos(Radian1)

Iy2=Iy1*Cos(Radian1)^2+Ix1*Sin(Radian1)^2+

2*Ix1y1*Sin(Radian1)*Cos(Radian1)

Ix2y2=0.5*(Ix1-Iy1)*Sin(2*Radian1)+Ix1y1*Cos(2*Radian1)‘二次平行移軸

Sx3=Sx2+DisPL*A’所求靜距

Ix3=Ix2+DisPL^2*A’所求慣性矩EndFunction


開放分享:優(yōu)質(zhì)有限元技術(shù)文章,助你自學(xué)成才

相關(guān)標(biāo)簽搜索:AutoCAD計(jì)算截面對任意軸的靜距和慣性矩的程序設(shè)計(jì) AutoCAD計(jì)算截面對任意軸的靜距和慣性矩的程序設(shè)計(jì) AutoCAD培訓(xùn) AutoCAD培訓(xùn)課程 AutoCAD圖紙?jiān)O(shè)計(jì) AutoCAD在線視頻 AutoCAD技術(shù)學(xué)習(xí)教程 AutoCAD軟件教程 AutoCAD資料下載 Fluent、CFX流體分析 HFSS電磁分析 Ansys培訓(xùn) Abaqus培訓(xùn) 

編輯
在線報(bào)名:
  • 客服在線請直接聯(lián)系我們的客服,您也可以通過下面的方式進(jìn)行在線報(bào)名,我們會(huì)及時(shí)給您回復(fù)電話,謝謝!
驗(yàn)證碼

全國服務(wù)熱線

1358-032-9919

廣州公司:
廣州市環(huán)市中路306號(hào)金鷹大廈3800
電話:13580329919
          135-8032-9919
培訓(xùn)QQ咨詢:點(diǎn)擊咨詢 點(diǎn)擊咨詢
項(xiàng)目QQ咨詢:點(diǎn)擊咨詢
email:kf@1cae.com




主站蜘蛛池模板: 中陕核二一〇研究所有限公司| 塑料胶水|PVC胶水|PP胶水|橡胶胶水|强力胶水|透明胶水|胶粘剂|粘合剂|UV胶-聚力胶水厂家 | 耐磨涂料_陶瓷涂料_高温涂料_高硬度耐磨涂料-北京耐默科技 | 铝合金线棒生产厂家-提供第三代精益管,防静电工作台定制与批发-宁波杰艾逖仓储设备有限公司 | 鑫金牛建设工程(苏州)有限公司 | 塑木地板,塑木栏杆,塑木地板价格,塑木地板厂家—浙江尚元塑木制品有限公司 | 润东方环保空调厂家-水冷式空调价格-润东方水冷空调-东莞市科骏机电设备有限公司 | 山东恒泰矿业设备有限公司_跑车防护装置,矿用电机车,防爆无轨胶轮车,耙斗装岩机 | 郑州建网站,郑州做网站,郑州网站建设,郑州网站制作,郑州高端定制网站,郑州APP开发 | 智慧园区平台_智慧园区智慧写字楼运营平台领导品牌 | 明基太阳能玻璃钢污水处理公司-设计研发全自动加药装置设备 | 西安木包装箱出口托盘定做价格-抽真空实木包装箱免熏蒸木箱多层板木箱哪家好-模压托盘及白松原木-西安宇森木业 | 模压化粪池_三格式化粪池_玻璃钢化粪池厂家 | 潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机-潍坊沃林机械设备有限公司-牵引式风送果园打药机,悬挂式风送果园喷雾机,自走式果树喷药机,车载式风送远程喷雾机 潍坊网络推广,临沂360推广,东营360推广,枣庄360推广,潍坊网站建设,潍坊网络公司,潍坊360搜索,潍坊APP开发,潍坊360推广,潍坊360代理,潍坊点睛网络科技有限公司 | 中深世纪广告公司 深圳标志设计,深圳logo设计公司,包装设计公司,深圳商标设计,深圳画册设计公司 中商信息网-商务数据网-中文商务数据网 | 和中出国移民官网|出国移民|加拿大移民|欧洲移民|爱尔兰移民|马耳他移民|希腊移民|美国移民|海外护照_和中移民 | 天力普电力科技有限公司| 著名刑事诉讼律师_刑事辩护律师★王平聚【清华博士/刑法教授】 | 宁波华路德|交通信号灯|交通信号机|太阳能信号灯|交通警示灯|交通信号灯厂家 | 螺旋钢管厂家,临沂瑞源工贸有限公司| 监控工程,安防监控公司,北京监控安装,北京安装监控,安装摄像头,北京监控维保,监控施工,北京监控维修,监控弱电工程,监控器安装,监控维护保养,监控工程设计,北京监控设备维修,监控报警安装,北京北方合力科技有限公司 | 医用空气净化消毒机,医用床单位消毒机,无磁空气消毒机,紫外线空气消毒机厂家-南昌市扬帆环保设备有限公司 | 蒸汽发生器-电加热蒸汽发生器、燃油蒸汽发生器、燃气蒸汽发生器设备厂家-诺贝思蒸汽发生器 | 生态护坡砖_护坡砖_合肥植草砖-巢湖市华林新型建材有限公司 | 微行科技(MicroX):半导体装备核心供应商-超高真空炉 | 破碎机设备-锤式颚式反击式圆锥移动冲击式破碎机厂家-成都大宏立机器公司 | 荣事达电动洗地机_全自动工业洗地车_扫地机_清洁设备工厂 | 三轴伺服机械手_五轴伺服机械手_注塑机械手_东莞市浩能自动化机械有限公司 | 无铅锡膏,无铅锡膏厂家,有铅锡膏厂家,高温锡膏厂家,环保锡丝,贴片红胶-东莞市科舜电子科技有限公司 | 纸袋胶-糊盒胶-礼盒胶-裱纸胶-水性喷胶-东莞市美好化工有限公司 纸袋机|多层纸袋机|高速纸袋机|无锡市天天友情机械有限公司 | 和中出国移民官网|出国移民|加拿大移民|欧洲移民|爱尔兰移民|马耳他移民|希腊移民|美国移民|海外护照_和中移民 | 真空工业炉-真空油淬炉-真空气淬炉-高温石墨化炉-江苏华弘真空科技有限公司 | 粘土耐火砖,低气孔耐火砖-山东耐火材料 | 宁波明驰同步带有限公司| 制砂机_选矿设备_耐磨件-郑州富嵩机械设备有限公司 | 天力普电力科技有限公司| 山东鲁控电力设备有限公司_高低压电器设备_变压器 | 意大利留学-意大利语培训-马来西亚留学【长青藤海外】 | 热泵烘干机_食品烘干机_水果烘干机_蔬菜烘干机_河南蓝天机械制造有限公司 | 聚丙烯酰胺,聚合氯化铝,重金属捕捉剂,污泥调理剂,活性氧化铝,生石灰,反渗透阻垢剂,工业葡萄糖,硫酸铝,果壳活性炭,柱状活性炭,蜂窝活性炭,石英砂,锰砂-北京雁归来环保科技有限公司-以真诚为立足之本,以质量为生存之本,愿与海内外同仁共创双赢。雁归来人一路走来,气贯长虹,勇锐盖过怯弱,进取压倒苟安!我们紧扣时代脉搏,专注水处理、继往开来! | 上海物流公司_上海冷链运输_空运_电商仓储配送电话-迈泽物流 |