首页 CATIA工程图宏教程

CATIA工程图宏教程

举报
开通vip

CATIA工程图宏教程CATIA工程图宏教程工程图百格线教程你是否为在Catia做2D图纸的时候,画百格线而伤脑筋呢?别担心,接下来我告诉你一个简单的方法1.新建一个txt文本文档,比如Draw-Grid.txt2.把以下内容复制到Draw-Grid.txt中=========这里开始,不要复制我========OptionExplicit'***********************************************************************' Purpose:   Thismacroallows...

CATIA工程图宏教程
CATIA工程图宏教程工程图百格线教程你是否为在Catia做2D图纸的时候,画百格线而伤脑筋呢?别担心,接下来我告诉你一个简单的方法1.新建一个txt文本文档,比如Draw-Grid.txt2.把以下内容复制到Draw-Grid.txt中=========这里开始,不要复制我========OptionExplicit'***********************************************************************' Purpose:   ThismacroallowsyoutocreateGridlineinCATIAdrawing' Author:chenqa' Languages: VBScript' Locales:   English' DevelopingCATIALevel:V5R12' Viewmushparalleltosystemaixes,viewangle0deg,90degand-90deg'***********************************************************************SubCATMain()CATIA.RefreshDisplay=FalseDimsStatusAsString'SettheCATIApopupfilealertstoFalse'ItpreventstostopthemacroateachalertduringitsexecutionCATIA.DisplayFileAlerts=False'Optional:allowstofindthesamplewhereverit'sinstalled'VariablesdeclarationDimoDrwDocumentAsDrawingDocumentDimoDrwSheetsAsDrawingSheetsDimoDrwSheetAsDrawingSheetDimoDrwViewAsDrawingViewDimoFactory2DASFactory2D'TheDistancebetweenthelinesDimDAsIntegerDimnxAsIntegerDimnyAsInteger'ThepointcoordinateselectfromDrawingDimX1AsIntegerDimY1AsIntegerDimX2AsIntegerDimY2AsIntegerDimPt1AsPoint2DDimPt2AsPoint2D'TheviewscaledAngleforrotateviewscaleforviewscaleDimdScale,dAngleAsDouble'TheviewcoordinateoriginDimXAsIntDimYAsIntDimxSel AsINFITF.SelectionD=InputBox("PleaseInputtheDistanceValue","inputbox","100")D=Cint(D)'RetriveanewdrawingdocumentSetoDrwDocument=CATIA.ActiveDocument'Retrievethedrawingdocument'ssheetscollectionSetoDrwSheets=oDrwDocument.Sheets'RetrievetheactivesheetSetoDrwSheet=oDrwSheets.ActiveSheet'RetrievetheactiveviewofthesheetSetoDrwView=oDrwSheet.Views.ActiveView'Retrivethevalueoftheview X=oDrwView.xAxisDataY=oDrwView.yAxisDatadScale=oDrwView.ScaledAngle=oDrwView.AngleSetoFactory2D=oDrwView.Factory2D'Getthecoordinatefromtheselecttwopoint'OnErrorResumeNextSetxSel=CATIA.ActiveDocument.SelectionxSel.clearReDimsFilter(0)sFilter(0)="Point2D"MsgBox"Pleaseselecttheleft-bottompoint"sStatus=xSel.SelectElement2(sFilter,"SelectFirstPoint.",false)If(sStatus="Normal")ThenDimSelectedPoint1AsSelectedElementSetSelectedPoint1=xSel.Item(1)Dimpt1Coord(2)AsIntSelectedPoint1.GetCoordinates(pt1Coord)'MsgBox"Thefrstpointhasbeenselected"ElseMsgBox"Selecta2DPoint1"ExitSubEndIfMsgBox"Pleaseselecttheritht-toppoint"sStatus=xSel.SelectElement2(sFilter,"SelectTheSecondPoint.",false)If(sStatus="Normal")ThenDimSelectedPoint2AsSelectedElementSetSelectedPoint2=xSel.Item(1)Dimpt2Coord(2)AsIntSelectedPoint2.GetCoordinates(pt2Coord)'MsgBox"Thesecondpointhasbeenselected"ElseMsgBox"Selecta2Dpoint1"ExitSubEndIfifdAngle=0thenX1=Cint((pt1Coord(0)-X)/dScale)Y1=Cint((pt1Coord(1)-Y)/dScale)X2=Cint((pt2Coord(0)-X)/dScale)Y2=Cint((pt2Coord(1)-Y)/dScale)endif'MsgBox(pt1Coord(0))'MsgBoxXifdAngle>0thenX1=Cint((pt1Coord(1)-Y)/dScale)Y1=Cint((pt1Coord(0)-X)/dScale)X2=Cint((pt2Coord(1)-Y)/dScale)Y2=Cint((pt2Coord(0)-X)/dScale)endififdAngle<0thenX1=Cint((pt1Coord(1)-Y)/dScale)Y1=Cint((pt1Coord(0)-X)/dScale)X2=Cint((pt2Coord(1)-Y)/dScale)Y2=Cint((pt2Coord(0)-X)/dScale)endifX1=D*Cint(X1/D)Y1=D*Cint(Y1/D)X2=D*Cint(X2/D)Y2=D*Cint(Y2/D)nx=(X2-X1)\D'Thenumberofthehorizontallineny=(Y2-Y1)\D'ThenumberoftheverticallineDimLine2D1AsLine2DDimCircle2D1asCircle2DDimMyTextasDrawingTextDimiFontsizeasDoubleDimiAsIntDimjAsIntDimRAsDoubel'theradiusofthecircleiFontSize=3.5R=8R=R/dScale'------------------------------------------------------DimDi_H,Di_VasintDimText_XYZ_HasstringDimText_XYZ_VasstringDi_H=1Di_V=1'ComparethedrawingviewHVwith3DAixesDimXX1,YY1,ZZ1,XX2,YY2,ZZ2asintoDrwView.GenerativeBehavior.GetProjectionPlaneXX1,YY1,ZZ1,XX2,YY2,ZZ2if(XX1=1)thenText_XYZ_H="X"Endifif(XX1=-1)thenText_XYZ_H="X"Di_H=-1Endifif(YY1=1)thenText_XYZ_H="Y"Endifif(YY1=-1)thenText_XYZ_H="Y"Di_H=-1Endifif(ZZ1=1)thenText_XYZ_H="Z"Endifif(ZZ1=-1)thenText_XYZ_H="Z"Di_H=-1Endifif(XX2=1)thenText_XYZ_V="X"Endifif(XX2=-1)thenText_XYZ_V="X"Di_V=-1Endifif(YY2=1)thenText_XYZ_V="Y"Endifif(YY2=-1)thenText_XYZ_V="Y"Di_V=-1Endifif(ZZ2=1)thenText_XYZ_V="Z"Endifif(ZZ2=-1)thenText_XYZ_V="Z"Di_V=-1EndififdAngle>0thenDi_V=-Di_VendififdAngle<0thenDi_H=-Di_HendifDimoSelasSelectionDimoVisPropsasVisPropertySetsetoSel=oDrwDocument.SelectionoSel.ClearDimTextVAsintTextV=R/2'Drawthehorizontalllinefori=0TOnyifdAngle=0thensetLine2D1=oFactory2D.CreateLine(X1-D/3,Y1D*i,X1nx*DD/3,Y1D*i)oSel.AddLine2D1setCircle2D1=oFactory2D.CreateClosedCircle(X1-D/3-R,Y1D*i,R)oSel.AddCircle2D1setLine2D1=oFactory2D.CreateLine(X1-D/3-R*2,Y1D*i,X1-D/3,Y1D*i)oSel.AddLine2D1SetMyText=oDrwView.Texts.Add(Text_XYZ_V,X1-D/3-R,Y1D*iTextV)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeSetMyText=oDrwView.Texts.Add((Y1D*i)*Di_V,X1-D/3-R,Y1D*i-TextV)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeendififdAngle>0thensetLine2D1=oFactory2D.CreateLine(X1-D/3,-Y1-D*i,X1nx*DD/3,-Y1-D*i)oSel.AddLine2D1setCircle2D1=oFactory2D.CreateClosedCircle(X1nx*DD/3R,-Y1-D*i,R)oSel.AddCircle2D1setLine2D1=oFactory2D.CreateLine(X1nx*DD/3R,-Y1-D*iR,X1nx*DD/3R,-Y1-D*i-R)oSel.AddLine2D1SetMyText=oDrwView.Texts.Add(Text_XYZ_V,X1nx*DD/3RTextV,-Y1-D*i)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeSetMyText=oDrwView.Texts.Add((Y1D*i)*Di_V,X1nx*DD/3R-TextV,-Y1-D*i)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeendififdAngle<0thensetLine2D1=oFactory2D.CreateLine(-X1D/3,Y1D*i,-(X1nx*DD/3),Y1D*i)oSel.AddLine2D1setCircle2D1=oFactory2D.CreateClosedCircle(-(X1nx*DD/3)-R,Y1D*i,R)oSel.AddCircle2D1setLine2D1=oFactory2D.CreateLine(-X1-nx*D-D/3-R,Y1D*iR,-X1-nx*D-D/3-R,Y1D*i-R)oSel.AddLine2D1SetMyText=oDrwView.Texts.Add(Text_XYZ_V,-X1-nx*D-D/3-RTextV,Y1D*i)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeSetMyText=oDrwView.Texts.Add((Y1D*i)*Di_V,-X1-nx*D-D/3-R-TextV,Y1D*i)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeendifnext'Drawtheverticallineforj=0TOnxifdAngle=0thensetLine2D1=oFactory2D.CreateLine(X1D*j,Y1-D/3,X1D*j,Y1ny*DD/3)oSel.AddLine2D1setCircle2D1=oFactory2D.CreateClosedCircle(X1D*j,Y1ny*DD/3R,R)oSel.AddCircle2D1setLine2D1=oFactory2D.CreateLine(X1D*j-R,y1ny*DD/3R,X1D*JR,y1ny*DD/3R)oSel.AddLine2D1SetMyText=oDrwView.Texts.Add(Text_XYZ_H,X1D*j,Y1ny*DD/3RTextV)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeSetMyText=oDrwView.Texts.Add((X1D*j)*Di_H,X1D*j,y1ny*DD/3R-TextV)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeendififdAngle>0thensetLine2D1=oFactory2D.CreateLine(X1D*j,-Y1D/3,X1D*j,-Y1-ny*D-D/3)oSel.AddLine2D1setCircle2D1=oFactory2D.CreateClosedCircle(X1D*j,-Y1D/3R,R)oSel.AddCircle2D1setLine2D1=oFactory2D.CreateLine(X1D*j,-Y1D/3R*2,X1D*J,-Y1D/3)oSel.AddLine2D1SetMyText=oDrwView.Texts.Add(Text_XYZ_H,X1D*jTextV,-Y1D/3R)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeSetMyText=oDrwView.Texts.Add((X1D*j)*Di_H,X1D*j-TextV,-Y1D/3R)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeendififdAngle<0thensetLine2D1=oFactory2D.CreateLine(-X1-D*j,Y1-D/3,-X1-D*j,Y1ny*DD/3)oSel.AddLine2D1setCircle2D1=oFactory2D.CreateClosedCircle(-X1-D*j,Y1-D/3-R,R)oSel.AddCircle2D1setLine2D1=oFactory2D.CreateLine(-X1-D*j,Y1-D/3-R*2,-X1-D*J,Y1-D/3)oSel.AddLine2D1SetMyText=oDrwView.Texts.Add(Text_XYZ_H,-X1-D*jTextV,Y1-D/3-R)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeSetMyText=oDrwView.Texts.Add((X1D*j)*Di_H,-X1-D*j-TextV,Y1-D/3-R)MyText.AnchorPosition=catMiddleCenterMyText.SetFontSize0,0,iFontSizeendifnextdimoFontSizeAslong'MyText.SetFontSize0,0,iFontSizesetoVisProps=oSel.VisPropertiesoVisProps.SetRealWidth1,0'1stparameterlinewidth1-632ndparameterinheritanceflag1or0oVisProps.SetRealColor0,255,0,1SetoVisProps=NothingSetoSel=Nothing'UpdatedrawingtablemodificationsCATIA.ActiveWindow.ActiveViewer.ReframeEndSub=========这里结束,不要复制我========3.保存Draw-Grid.txt,然后将文件后缀改为CATScript即Draw-Grid.CATScript,就可以使用了使用方法:1.在Catia工程制图界面激活要创建百格线的视图2.在改视图里边创建两个点,这两个点分别是百格线的左下角和右上角点3.按ALTF8打开宏库,导入刚才创建的宏a.按ALTF8出现一个界面,然后点宏库b.库类型中选择“目录”—>“添加现有库”—>“浏览”,选取刚才创建的Draw-Grid.CATScript,确定后关闭4.点运行—>确定—>选左下角点—>确定—>选右上角点百格线至此就全部完成了
本文档为【CATIA工程图宏教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_337177
暂无简介~
格式:doc
大小:29KB
软件:Word
页数:0
分类:
上传时间:2021-09-08
浏览量:97