机械CAD第三次报告.docx

上传人:b****5 文档编号:7847133 上传时间:2023-01-26 格式:DOCX 页数:13 大小:1.12MB
下载 相关 举报
机械CAD第三次报告.docx_第1页
第1页 / 共13页
机械CAD第三次报告.docx_第2页
第2页 / 共13页
机械CAD第三次报告.docx_第3页
第3页 / 共13页
机械CAD第三次报告.docx_第4页
第4页 / 共13页
机械CAD第三次报告.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

机械CAD第三次报告.docx

《机械CAD第三次报告.docx》由会员分享,可在线阅读,更多相关《机械CAD第三次报告.docx(13页珍藏版)》请在冰豆网上搜索。

机械CAD第三次报告.docx

机械CAD第三次报告

ParametricDrawingReport

 

 

Name:

..........

StudentNo.:

............

Expectingscore:

90

 

ChinaUniversityofGeosciences

Project:

Programmingfordrawascrew,screwboltorothergraphicsbyusingVLISP,VBA,ObjectARXetc..

一、TheObjectofDesign:

1.1、ThedesignisbasedonVBAasatoolforscrewparameterdesign.Reference"mechanicaldrawing"textbooks,slottedcheeseheadscrewsofthepartialtableasTheChartShows1-1

螺纹规格d

M5

M6

M8

M10

M12

M14

P(螺距)

0.8

1

1.25

1.5

1.75

2

B(参考)

22

24

28

32

36

40

8.5

10

13

16

18

21

k

5

6

8

10

12

14

t

2.5

3

4

5

6

7

s

4

5

6

8

10

12

r

0.2

0.25

0.4

0.4

0.6

0.6

公称长度l

8~50

10~60

12~80

16~100

20~120

25~140

L≤表中数值时

25

30

35

40

45

55

l系列

5,6,8,10,12,16,20,25,30,35,40,45,50,

55,60,65,70,80……

figure1-1

 

1.2、Method:

Takep0forpositioningpoint,accordingtothetable,selectthescrewdiameterDandnominallengthofLdata,determinethescrewsofthe,k,n,tparameters.Thescrewpointsidentified,wiredgenerationscrewCADdiagram,asillustratedinthefigure1-2.

figure1-2

二、processofprogramming

2.1、OpentheMicrosoftVisualBasiceditorasfigured2-1(a)/(b).

figured2-1(a)

figured2-1(b)

2.2、Createauserwindowasfigured2-2.

figured2-2

2.3、InsertPictureasfigured2-3.

figured2-3

2.4、Edittheuserwindowasfigured2-4.

figured2-4

2.5、Programasfigured2-6(a)/(b)/(c)/(d).

figured2-5(a)

figured2-5(b)

 

figured2-5(c)

figured2-5(d)

2.6、Toloaddotdashlineasfigured2-6.

figure2-6

2.7、ClickRunastheillustratedfigure2-7(a)/(b).

figure2-7(a)

figure2-7(b)

2.8、Inputthedata,asillustratedfigure2-8.

figure2-8

2.9、Press“qued”,thenwewillgetaboltthatweexpectasfigure2-9.

figure2-9

3、Program:

PrivateSubCommandButton1_Click()

DimCulineAsAcadLine'定义直线的对象变量

DimXilineAsAcadLine

DimDhlineAsAcadLine

Dimp0(0To2)AsDouble

DimdAsVariant

DimLAsVariant'定义三个变体变量

Dimp1(0To2)AsDouble'定义保存点的双精度数组

Dimp2(0To2)AsDouble

Dimp3(0To2)AsDouble

Dimp4(0To2)AsDouble

Dimp5(0To2)AsDouble

Dimp6(0To2)AsDouble

Dimp7(0To2)AsDouble

Dimp8(0To2)AsDouble

Dimp9(0To2)AsDouble

Dimp10(0To2)AsDouble

Dimp11(0To2)AsDouble

Dimp12(0To2)AsDouble

Dimp13(0To2)AsDouble

Dimp14(0To2)AsDouble

Dimp15(0To2)AsDouble

Dimp16(0To2)AsDouble

Dimp17(0To2)AsDouble

Dimp18(0To2)AsDouble

Dimpt1(0To2)AsDouble

Dimpt2(0To2)AsDouble

'线型的添加

DimentryAsAcadLineType:

DimfoundAsBoolean:

DimltName(0To2)AsString

DimiAsInteger

found=False

'准备添加的3种线型

ltName(0)="BORDER"

ltName

(1)="CENTER"

ltName

(2)="DASHDOT"

Fori=0To2

'搜寻要添加的线型在线型集合中是否已存在

ForEachentryInThisDrawing.Linetypes

IfStrComp(entry.Name,ltName(i),1)=0Then

found=True

ExitFor

EndIf

Next

'如果不存在则将其从线型文件acadiso.lin中加载

IfNot(found)Then

ThisDrawing.Linetypes.LoadltName(i),"acadiso.lin"

EndIf

Next

'创建图层

DimobjLayerAsAcadLayer

'粗实线

SetobjLayer=ThisDrawing.Layers.Add("粗实线")

objLayer.color=acWhite

objLayer.Linetype="Continuous"

objLayer.Lineweight=acLnWt030

ThisDrawing.ActiveLayer=objLayer

p0(0)=Val(TextBox1.Text)'输入螺钉定点的X坐标

p0

(1)=Val(TextBox2.Text)'输入螺钉定点的Y坐标

p0

(2)=0

d=Val(TextBox3.Text)'输入螺钉的直径

L=Val(TextBox4.Text)'输入螺钉的长度

p1(0)=p0(0):

p1

(1)=p0

(1)+0.1*d:

p1

(2)=p0

(2)'计算各个点

p2(0)=p0(0):

p2

(1)=p0

(1)-0.1*d:

p2

(2)=p0

(2)

p3(0)=p1(0)-0.2*d:

p3

(1)=p1

(1):

p3

(2)=p1

(2)

p4(0)=p2(0)-0.2*d:

p4

(1)=p2

(1):

p4

(2)=p2

(2)

p5(0)=p3(0):

p5

(1)=p3

(1)+1.4*d:

p5

(2)=p3

(2)

p6(0)=p4(0):

p6

(1)=p4

(1)-1.4*d:

p6

(2)=p4

(2)

p7(0)=p5(0)+0.8*d:

p7

(1)=p5

(1):

p7

(2)=p5

(2)

p8(0)=p6(0)+0.8*d:

p8

(1)=p6

(1):

p8

(2)=p6

(2)

p9(0)=p7(0):

p9

(1)=p7

(1)-0.25*d:

p9

(2)=p7

(2)

p10(0)=p8(0):

p10

(1)=p8

(1)+0.25*d:

p10

(2)=p8

(2)

p11(0)=p9(0)+0.125*d:

p11

(1)=p9

(1):

p11

(2)=p9

(2)

p12(0)=p10(0)+0.125*d:

p12

(1)=p10

(1):

p12

(2)=p10

(2)

p13(0)=p11(0):

p13

(1)=p11

(1)-0.075*d:

p13

(2)=p11

(2)

p14(0)=p12(0):

p14

(1)=p10

(1)+0.075*d:

p14

(2)=p12

(2)

p15(0)=p9(0)+L-0.075*d:

p15

(1)=p9

(1):

p15

(2)=p11

(2)

p16(0)=p10(0)+L-0.075*d:

p16

(1)=p10

(1):

p16

(2)=p12

(2)

p17(0)=p9(0)+L:

p17

(1)=p13

(1):

p17

(2)=p13

(2)

p18(0)=p10(0)+L:

p18

(1)=p14

(1):

p18

(2)=p14

(2)

pt1(0)=p0(0)-0.2*d-7:

pt1

(1)=p0

(1):

pt1

(2)=p0

(2)

pt2(0)=p0(0)+0.6*d+L+7:

pt2

(1)=p0

(1):

pt2

(2)=p0

(2)

SetCuline=ThisDrawing.ModelSpace.AddLine(p0,p1)'画出直线

SetCuline=ThisDrawing.ModelSpace.AddLine(p0,p2)

SetCuline=ThisDrawing.ModelSpace.AddLine(p1,p3)

SetCuline=ThisDrawing.ModelSpace.AddLine(p2,p4)

SetCuline=ThisDrawing.ModelSpace.AddLine(p3,p5)

SetCuline=ThisDrawing.ModelSpace.AddLine(p4,p6)

SetCuline=ThisDrawing.ModelSpace.AddLine(p5,p7)

SetCuline=ThisDrawing.ModelSpace.AddLine(p6,p8)

SetCuline=ThisDrawing.ModelSpace.AddLine(p7,p8)

SetCuline=ThisDrawing.ModelSpace.AddLine(p9,p15)

SetCuline=ThisDrawing.ModelSpace.AddLine(p10,p16)

SetCuline=ThisDrawing.ModelSpace.AddLine(p11,p12)

SetCuline=ThisDrawing.ModelSpace.AddLine(p17,p18)

SetCuline=ThisDrawing.ModelSpace.AddLine(p15,p17)

SetCuline=ThisDrawing.ModelSpace.AddLine(p16,p18)

SetCuline=ThisDrawing.ModelSpace.AddLine(p15,p16)

'细实线

SetobjLayer=ThisDrawing.Layers.Add("细实线")

objLayer.color=acWhite

objLayer.Linetype="Continuous"

objLayer.Lineweight=acLnWt009

ThisDrawing.ActiveLayer=objLayer

SetXiline=ThisDrawing.ModelSpace.AddLine(p13,p17)

Xiline.Linetype="ByLayer"

SetXiline=ThisDrawing.ModelSpace.AddLine(p14,p18)

Xiline.Linetype="ByLayer"

'点划线

SetobjLayer=ThisDrawing.Layers.Add("点划线")

objLayer.color=acRed

objLayer.Linetype="CENTER2"

objLayer.Lineweight=acLnWt009

ThisDrawing.ActiveLayer=objLayer

SetDhline=ThisDrawing.ModelSpace.AddLine(pt1,pt2)

Dhline.Linetype="ByLayer"

EndSub

PrivateSubLabel2_Click()

UnloadMe

EndSub

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1