同心圓墊片的落料沖孔模具設計及下模零件二維輔助設計系統(tǒng)開發(fā)含12張CAD圖
同心圓墊片的落料沖孔模具設計及下模零件二維輔助設計系統(tǒng)開發(fā)含12張CAD圖,同心圓,墊片,沖孔,模具設計,零件,二維,輔助設計,系統(tǒng),開發(fā),12,CAD
D1,D2,D3,H1,H2:Real;
N,i:integer;
Dx0,Dy0:real;
X1,X2,X3,X4,X5,X6,X7:real;
Y1,Y2,Y3:real;
C1,C2:olevariant;
Hatch1,Hatch2:olevariant;
begin
D1:=StrToFloat(E1.Text);
H1:=StrToFloat(E2.Text);
D2:=StrToFloat(E3.Text);
H2:=StrToFloat(E4.Text);
D3:=StrToFloat(E5.Text);
X1:=X0;
X2:=X0-D1/2*Scale;
X3:=X0+D1/2*Scale;
X4:=X0-D3/2*Scale;
X5:=X0+D3/2*Scale;
X6:=X0-D2/2*Scale;
X7:=X0+D2/2*Scale;
C1:=VarArrayCreate([0,5],varDispatch);
SetlineType(1);////1 粗實線 2、中心線 3、細實線 4、剖面線 5、尺寸線 6、虛線
C1[0]:=Addline(X5,Y1,X3,Y1);
C1[1]:=Addline(X3,Y1,X3,Y2);
C1[2]:=Addline(X3,Y2,X7,Y2);
C1[3]:=Addline(X7,Y2,X7,Y3);
C1[4]:=Addline(X7,Y3,X5,Y3);
C1[5]:=Addline(X5,Y3,X5,Y1);
SetlineType(4);
Hatch1:=AddHatch('ANSI31',0,true,C1);
Hatch1.Evaluate; ////////剖面線的畫法
C2:=VarArrayCreate([0,5],varDispatch);
SetlineType(1);////1 粗實線 2、中心線 3、細實線 4、剖面線 5、尺寸線 6、虛線
C2[0]:=Addline(X4,Y1,X2,Y1);
C2[1]:=Addline(X2,Y1,X2,Y2);
C2[2]:=Addline(X2,Y2,X6,Y2);
C2[3]:=Addline(X6,Y2,X6,Y3);
C2[4]:=Addline(X6,Y3,X4,Y3);
C2[5]:=Addline(X4,Y3,X4,Y1);
SetlineType(4);
Hatch2:=AddHatch('ANSI31',0,true,C2);
Hatch2.Evaluate; ////////剖面線的畫法
SetlineType(4);
Hatch2:=AddHatch('ANSI31',0,true,C2);
Hatch2.Evaluate; ////////剖面線的畫法
SetlineType(1);
Addline(X4,Y1,X5,Y1);
Addline(X4,Y3,X5,Y3);
SetlineType(5);
Dim(X4,Y1,X5,Y1,X4,Y1-10,1);
Dim(X2,Y1,X3,Y1,X2,Y1-20,1);
Dim(X6,Y3,X7,Y3,X6,Y3+10,1);
Dim(X3,Y1,X3,Y2,X3+10,Y1,0);
Dim(X7,Y2,X7,Y3,X3+20,Y2,0);
SetlineType(2);
Addline(X0,Y0-5,X0,Y3+5);
以下模座為例
1. 設下模座的中心為(X0,Y0),把每個點的橫坐標設置成X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21;縱坐標設置成Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12,Y13,Y14,Y15,Y16,Y17,Y18,Y19,Y20,Y21,Y22。把每個點用坐標表示出來。將需填充的區(qū)域用C1,C2,C3,C4,C5,C6表示。
D1,D2,D3,D4,D5,D6,D7,L1,L2,L3,L4,L5,L6,L7,B1,B2,B3,B4,B5,B6,B7,H1,H2,H3,H4,H5,R1,R2,R3,R4,M:Real;
N,i:integer;
Dx0,Dy0,ZFL,ZZL:real;
X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,X11,X12,X13,X14,X15,X16,X17,X18,X19,X20,X21:real;
Y1,Y2,Y3,Y4,Y5,Y6,Y7,Y8,Y9,Y10,Y11,Y12,Y13,Y14,Y15,Y16,Y17,Y18,Y19,Y20,Y21,Y22:real;
C1,C2,C3,C4,C5,C6:olevariant;
Hatch1,Hatch2, Hatch3,Hatch4, Hatch5,Hatch6:olevariant;
2. 定義驅動尺寸
將驅動尺寸D1,D2,D3,D4,D5,D6,D7,L1,L2,L3,L4,L5,L6,L7,B1,B2,B3,B4,B5,B6,B7,H1,H2,H3,H4,H5,R1,R2,R3,R4,M按照Excel表中的順序對應。
L1:=StrToFloat(E1.Text);
B1:=StrToFloat(E2.Text);
R1:=StrToFloat(E3.Text);
R2:=StrToFloat(E4.Text);
L2:=StrToFloat(E5.Text);
R3:=StrToFloat(E6.Text);
B2:=StrToFloat(E7.Text);
H1:=StrToFloat(E8.Text);
D1:=StrToFloat(E9.Text);
L3:=StrToFloat(E10.Text);
D2:=StrToFloat(E11.Text);
B3:=StrToFloat(E12.Text);
H2:=StrToFloat(E13.Text);
B4:=StrToFloat(E14.Text);
D3:=StrToFloat(E15.Text);
D4:=StrToFloat(E16.Text);
L4:=StrToFloat(E17.Text);
L5:=StrToFloat(E18.Text);
D5:=StrToFloat(E19.Text);
B5:=StrToFloat(E20.Text);
D6:=StrToFloat(E21.Text);
B6:=StrToFloat(E22.Text);
D7:=StrToFloat(E23.Text);
H3:=StrToFloat(E24.Text);
L6:=StrToFloat(E25.Text);
R4:=StrToFloat(E26.Text);
B7:=StrToFloat(E27.Text);
H4:=StrToFloat(E28.Text);
L7:=StrToFloat(E29.Text);
M:=StrToFloat(E30.Text);
H5:=StrToFloat(E31.Text);
橫坐標與X0和驅動尺寸的關系如下:
X1:=X0;
X2:=X0-L4*Scale;
X3:=X0-L5*Scale;
X4:=X0-L7*Scale;
X5:=X0-L1/2*Scale;
X6:=X0+L7*Scale;
X7:=X0+L1/2*Scale;
X8:=X0+L5*Scale;
X9:=X0+L4*Scale;
X10:=X0-(L7+L3+L6+R4)*Scale;
X11:=X0-(L1/2-R1)*Scale;
X12:=X0-(L7+L3)*Scale;
X13:=X0-(L7+L3+L6)*Scale;
X14:=X0-L2*Scale;
X15:=X0-(L2+R3)*Scale;
X16:=X0+(L7+L3+L6+R4)*Scale;
X17:=X0+(L7+L3+L6)*Scale;
X18:=X0+(L1/2-R1)*Scale;
X19:=X0+(L7+L3)*Scale;
X20:=X0+(L2+R3)*Scale;
X21:=X0+L2*Scale;
縱坐標與Y0和驅動尺寸的關系如下:
Y1:=Y0;
Y2:=Y0+L4*Scale;
Y3:=Y0-L4*Scale;
Y4:=Y0+B5*Scale;
Y5:=Y0+(B5-B6)*Scale;
Y6:=Y0+B4*Scale;
Y7:=Y0+B7*Scale;
Y8:=Y0+(B7-R4)*Scale;
Y9:=Y0-(B7-R4)*Scale;
Y10:=Y0-B7*Scale;
Y11:=Y0+(B4-B1+R2+R1)*Scale;
Y12:=Y0+(B4-B1+R2)*Scale;
Y13:=Y0+(B4-B1+R2-R3)*Scale;
Y14:=Y0-B5*Scale;
Y15:=Y0+(B4-B1+R2-B2)*Scale;
Y16:=Y0+(B4+R2)*Scale+50;
Y17:=Y0+(B4+R2+H1+H2)*Scale+50;
Y18:=Y0+(B4+R2+H1)*Scale+50;
Y19:=Y0+(B4+R2+H1+H4)*Scale+50;
Y20:=Y0+(B4+R2+H3)*Scale+50;
Y21:=Y0+(B6-B5)*Scale;
Y22:=Y0+(B4+R2)*Scale;
C1:=VarArrayCreate([0,3],varDispatch);
SetlineType(1);////1 粗實線 2、中心線 3、細實線 4、剖面線 5、尺寸線 6、虛線
C1[0]:=Addline(X5,Y16,X4-D3/2*Scale,Y16);
C1[1]:=Addline(X4-D3/2*Scale,Y16,X4-D3/2*Scale,Y17);
C1[2]:=Addline(X4-D3/2*Scale,Y17,X5,Y17);
C1[3]:=Addline(X5,Y17,X5,Y16);
SetlineType(4);
Hatch1:=AddHatch('ANSI31',0,true,C1);
Hatch1.Evaluate; ////////剖面線的畫法
C2:=VarArrayCreate([0,3],varDispatch);
SetlineType(1);
C2[0]:=Addline(X4+D3/2*Scale,Y16,X3-D6/2*Scale,Y16);
C2[1]:=Addline(X3-D6/2*Scale,Y16,X3-D6/2*Scale,Y17);
C2[2]:=Addline(X3-D6/2*Scale,Y17,X4+D3/2*Scale,Y17);
C2[3]:=Addline(X4+D3/2*Scale,Y17,X4+D3/2*Scale,Y16);
SetlineType(4);
Hatch2:=AddHatch('ANSI31',0,true,C2);
Hatch2.Evaluate; ////////剖面線的畫法
C3:=VarArrayCreate([0,3],varDispatch);
SetlineType(1);
C3[0]:=Addline(X3+D6/2*Scale,Y16,X2-D4/2*Scale,Y16);
C3[1]:=Addline(X2-D4/2*Scale,Y16,X2-D4/2*Scale,Y17);
C3[2]:=Addline(X2-D4/2*Scale,Y17,X3+D6/2*Scale,Y17);
C3[3]:=Addline(X3+D6/2*Scale,Y17,X3+D6/2*Scale,Y16);
SetlineType(4);
Hatch3:=AddHatch('ANSI31',0,true,C3);
Hatch3.Evaluate; ////////剖面線的畫法
C4:=VarArrayCreate([0,8],varDispatch);
SetlineType(1);
C4[0]:=Addline(X2+D4/2*Scale,Y16,X1-(M/2-1.5)*Scale,Y16);
C4[1]:=Addline(X1-(M/2-1.5)*Scale,Y16,X1-(M/2-1.5)*Scale,Y16+(H5+2)*Scale); C4[2]:=Addline(X1-(M/2-1.5)*Scale,Y16+(H5+2)*Scale,X1,Y16+(H5+2+2.62)*Scale); C4[3]:=Addline(X1,Y16+(H5+2+2.62)*Scale,X1+(M/2-1.5)*Scale,Y16+(H5+2)*Scale);
C4[4]:=Addline(X1+(M/2-1.5)*Scale,Y16+(H5+2)*Scale,X1+(M/2-1.5)*Scale,Y16);
C4[5]:=Addline(X1+(M/2-1.5)*Scale,Y16,X9-D4/2*Scale,Y16);
C4[6]:=Addline(X9-D4/2*Scale,Y16,X9-D4/2*Scale,Y17);
C4[7]:=Addline(X9-D4/2*Scale,Y17,X2+D4/2*Scale,Y17);
C4[8]:=Addline(X2+D4/2*Scale,Y17,X2+D4/2*Scale,Y16);
SetlineType(4);
Hatch4:=AddHatch('ANSI31',0,true,C4);
Hatch4.Evaluate; ////////剖面線的畫法
C5:=VarArrayCreate([0,5],varDispatch);
SetlineType(1);
C5[0]:=Addline(X9+D4/2*Scale,Y16,X8-D7/2*Scale,Y16);
C5[1]:=Addline(X8-D7/2*Scale,Y16,X8-D7/2*Scale,Y20);
C5[2]:=Addline(X8-D7/2*Scale,Y20,X8-D5/2*Scale,Y20);
C5[3]:=Addline(X8-D5/2*Scale,Y20,X8-D5/2*Scale,Y17);
C5[4]:=Addline(X8-D5/2*Scale,Y17,X9+D4/2*Scale,Y17);
C5[5]:=Addline(X9+D4/2*Scale,Y17,X9+D4/2*Scale,Y16);
SetlineType(4);
Hatch5:=AddHatch('ANSI31',0,true,C5);
Hatch5.Evaluate; ////////剖面線的畫法
C6:=VarArrayCreate([0,5],varDispatch);
SetlineType(1);
C6[0]:=Addline(X8+D7/2*Scale,Y16,X8+D7/2*Scale,Y20);
C6[1]:=Addline(X8+D7/2*Scale,Y20,X8+D5/2*Scale,Y20);
C6[2]:=Addline(X8+D5/2*Scale,Y20,X8+D5/2*Scale,Y17);
C6[3]:=Addline(X8+D5/2*Scale,Y17,X8+D5/2*Scale+20,Y17);
C6[4]:=Addline(X8+D5/2*Scale+20,Y17,X8+D7/2*Scale+20,Y16);
C6[5]:=Addline(X8+D7/2*Scale+20,Y16,X8+D7/2*Scale,Y16);
SetlineType(4);
Hatch6:=AddHatch('ANSI31',0,true,C6);
Hatch6.Evaluate; ////////剖面線的畫法
1. 繪制除填充區(qū)域的其他部分
SetlineType(1);
Addline(X5,Y16,X7,Y16);
Addline(X5,Y17,X7,Y17);
Addline(X7,Y17,X7,Y16);
Addline(X19,Y17,X19,Y18);
Addline(X19,Y18,X7,Y18);
Addline(X7,Y19,X17,Y19);
Addline(X17,Y19,X17,Y18);
Addline(X8-D5/2*Scale,Y20,X8+D5/2*Scale,Y20);/////以上為主視圖,以下是俯視圖
AddCircle(X2,Y1,D4/2);
AddCircle(X9,Y1,D4/2);
AddCircle(X1,Y2,D4/2);
AddCircle(X1,Y3,D4/2);
AddCircle(X3,Y21,D6/2);
AddCircle(X8,Y5,D6/2);
AddCircle(X3, Y4, D5/2);
AddCircle(X1, Y4, D5/2);
AddCircle(X8, Y4, D5/2);
AddCircle(X3, Y14, D5/2);
AddCircle(X1, Y14, D5/2);
AddCircle(X8, Y14, D5/2);
AddCircle(X4, Y6, D3/2);
AddCircle(X6, Y6, D3/2);
SetlineType(6);/////虛線圓
AddCircle(X3, Y4, D7/2);
AddCircle(X1, Y4, D7/2);
AddCircle(X8, Y4, D7/2);
AddCircle(X3, Y14, D7/2);
AddCircle(X1, Y14, D7/2);
AddCircle(X8, Y14, D7/2);
SetlineType(1);
AddArc(X4, Y6, R2, 90, 180);
AddArc(X6, Y6, R2, 0, 90);
Addline(X4,Y22,X6,Y22);
Addline(X5,Y6,X5,Y11);
Addline(X7,Y6,X7,Y11);
AddArc(X11, Y11, R1, 180, 270);
AddArc(X18, Y11 ,R1, 270, 360);
Addline(X11,Y12,X15,Y12);
Addline(X18,Y12,X20,Y12);
AddArc(X15, Y13, R3, 0, 90);
AddArc(X20, Y13 ,R3, 90, 180);
Addline(X14,Y13,X14,Y15);
Addline(X14,Y15,X21,Y15);
Addline(X21,Y15,X21,Y13);
Addline(X5,Y7,X10,Y7);
AddArc(X10, Y8, R4, 0, 90);
Addline(X13,Y8,X13,Y9);
AddArc(X10, Y9, R4, 270,360);
Addline(X10,Y10,X5,Y10);
Addline(X7,Y7,X16,Y7);
AddArc(X16, Y8, R4, 90,180);
Addline(X17,Y8,X17,Y9);
AddArc(X16, Y9, R4,180,270);
Addline(X16,Y10,X7,Y10);
SetlineType(1);
Addline(X1-(M/2-1.5)*Scale,Y16,X1-(M/2-1.5)*Scale,Y16+(H5+2)*Scale);
Addline(X1-(M/2-1.5)*Scale,Y16+(H5+2)*Scale,X1+(M/2-1.5)*Scale,Y16+(H5+2)*Scale);
Addline(X1+(M/2-1.5)*Scale,Y16+(H5+2)*Scale,X1+(M/2-1.5)*Scale,Y16);
Addline(X1-(M/2-1.5)*Scale,Y16+(H5+2)*Scale,X1,Y16+(H5+2+2.62)*Scale);
Addline(X1,Y16+(H5+2+2.62)*Scale,X1+(M/2-1.5)*Scale,Y16+(H5+2)*Scale);
SetlineType(3);
Addline(X1-M/2*Scale,Y16,X1-M/2*Scale,Y16+H5*Scale);
Addline(X1-M/2*Scale,Y16+H5*Scale,X1+M/2*Scale,Y16+H5*Scale);
Addline(X1+M/2*Scale,Y16+H5*Scale,X1+M/2*Scale,Y16);////主視圖上的螺紋孔
AddArc(X1, Y1, M/2*Scale,270,180);
AddCircle(X1, Y1, (M/2-1.5)*Scale);///俯視圖上的螺紋孔
SetlineType(1);
Addline(X12,Y4+8.26*Scale,X12,Y12);
Addline(X19,Y4+8.26*Scale,X19,Y12);
Addline(X1,Y6+B3*Scale,X3+15.62*Scale,Y6+B3*Scale);
Addline(X1,Y6+B3*Scale,X8-15.62*Scale,Y6+B3*Scale);////有圓角的部分直線,
SetlineType(1);
AddArc(X4, Y6, R2, 30, 90);
AddArc(X4, Y6, R2, 180, 246);
AddArc(X6, Y6, R2, 90, 150);
AddArc(X6, Y6, R2, 294, 360);
AddArc(X5+20*Scale, Y4+8.26*Scale, D2/2, 0, 66);
AddArc(X7-20*Scale, Y4+8.26*Scale, D2/2, 114, 180);
AddArc(X3+15.62*Scale, Y6+(B3+D1/2)*Scale, D1/2, 210, 270);
AddArc(X8-15.62*Scale, Y6+(B3+D1/2)*Scale, D1/2, 270, 330);
///圓弧部分
SetlineType(5);/////尺寸標注
Dim(X5,Y11,X7,Y11,X1,Y11-R1*Scale-20,0);
Dim(X1,Y15,X21,Y15,X1,Y15-10,0);
Dim(X6,Y1,X19,Y1,X1,Y1-10,0);
Dim(X19,Y1,X17,Y1,X1,Y1-20,0);
Dim(X2,Y1,X1,Y1,X1,Y1+20,0);
Dim(X1,Y4,X8,Y4,X1,Y22+10,0);
Dim(X1,Y4,X6,Y4,X1,Y22+20,0);/////水平方向尺寸
SetlineType(5);
Dim(X6,Y22,X6,Y12,X7+40,Y1,0);
Dim(X21,Y15,X21,Y12,X7+40,Y1,0);
Dim(X8,Y1,X8,Y4,X7+30,Y1,0);
Dim(X7,Y1,X7,Y7,X7+20,Y1,0);
Dim(X8,Y5,X8,Y4,X7+10,Y1,0);
Dim(X4,Y6,X4,Y1,X5-20,Y1,0);
Dim(X7,Y16,X7,Y18,X7+20,Y1,0);
Dim(X7,Y18,X7,Y19,X7+10,Y1,0);
Dim(X7,Y18,X7,Y17,X7+30,Y1,0);
Dim(X8,Y16,X8,Y20,X8+D5/2*Scale+10,Y1,0);
Dim(X1,Y16,X1,Y16+H5*Scale,X1+M/2*Scale+10,Y1,0);
Dim(X1,Y6+B3,X1,Y6,X1+10,Y1,0);/////豎直方向尺寸
SetlineType(5);
Dim(X6+D3/2*Scale,Y6,X6-D3/2*Scale,Y6,X1,Y6-D3/2*Scale-10,1);
Dim(X3+D5/2*Scale,Y4,X3-D5/2*Scale,Y4,X1,Y4-D5/2*Scale-10,1);
Dim(X3+D7/2*Scale,Y4,X3-D7/2*Scale,Y4,X1,Y4-D7/2*Scale-20,1);
Dim(X3+D6/2*Scale,Y21,X3-D6/2*Scale,Y21,X1,Y21+D6/2*Scale+10,1);
Dim(X2+D4/2*Scale,Y1,X2-D4/2*Scale,Y1,X1,Y1-D4/2*Scale-10,1);
Dim(X1-M/2*Scale,Y1*Scale,X1+M/2*Scale,Y1,X1,Y1-10,2);/////圓的尺寸標注
Dim_D(X3+15.62*Scale, Y6+(B3+D1/2)*Scale,X4+(L7-L5)*Scale,Y6+(B3+D1/4)*Scale,10,40);
Dim_D(X5+20*Scale, Y4+8.26*Scale,X5+20*Scale+21.25 ,Y4+8.26*Scale+12.5,10,50);
Dim_R(X11, Y11, X11-17.3, Y11-10, 10,20);
Dim_R(X16, Y8, X16-8.5, Y8+5, 10,10);
Dim_R(X6, Y6, X6+42.5, Y6+25, 20,50);///圓弧的標注
1. 繪制中心線以及粗糙度
SetlineType(2);////中心線
Addline(X4,Y12-5,X4,Y22+5);
Addline(X6,Y12-5,X6,Y22+5);
Addline(X1,Y15-5,X1,Y22+5);
Addline(X3,Y12-5,X3,Y22+5);
Addline(X8,Y12-5,X8,Y22+5);
Addline(X5-5,Y6,X7+5,Y6);
Addline(X5-5,Y1,X7+5,Y1);
Addline(X3-D7/2*Scale-5,Y4,X8+D7/2*Scale+5,Y4);
Addline(X3-D7/2*Scale-5,Y14,X8+D7/2*Scale+5,Y14);
Addline(X2,Y1-D4/2*Scale-5,X2,Y1+D4/2*Scale+5);
Addline(X9,Y1-D4/2*Scale-5,X9,Y1+D4/2*Scale+5);
Addline(X3-D6/2*Scale-5,Y21,X3+D6/2*Scale+5,Y21);
Addline(X8-D6/2*Scale-5,Y5,X8+D6/2*Scale+5,Y5);
Addline(X1-D4/2*Scale-5,Y2,X1+D4/2*Scale+5,Y2);
Addline(X1-D4/2*Scale-5,Y3,X1+D4/2*Scale+5,Y3);
Addline(X1,Y16-5,X1,Y17+5);
Addline(X4,Y16-5,X4,Y17+5);
Addline(X3,Y16-5,X3,Y17+5);
Addline(X2,Y16-5,X2,Y17+5);
Addline(X9,Y16-5,X9,Y17+5);
Addline(X8,Y16-5,X8,Y17+5);
Addtz(6.3); ////其余
收藏