第5.1章CAD软件系统二次开发技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5-1 CAD软件二次开发主要有几类方法?
【参考答案】UG的二次开发根据其开发接口的类型,CAD软件UG二次开发方法主要有:
5-2 已知A(0,0)、B(2,1)、C(1,2),试编写点A、直线AB、平面ABC 的GRIP生成源程序,要求进行编译、连接,并获得通过。
【参考答案】
ENTITY/PT(3),LN,PL
PT(1)=POINT/0,0
PT(2)=POINT/2,1
PT(3)=POINT/1,2
LN=LINE/PT(2),PT(3)
PL=PLANE/PT(1..3)
HALT
5-3 编写grip程序,生成如图所示的阶梯轴。
【参考答案】
ENTITY/ent(5)
NUMBER/n,d(5),h(5),qq,h1,rp
n=4
L10:
PARAM/'请输入段数:','N=',n,qq
JUMP/L10:,L100:,,,qq
IFTHEN/n<3 or n>5
MESSG/'段数不满足要求!'
JUMP/L10:
ENDIF
h1=0
Do/LOOP10:,i,1,n,1
L20:
PARAM/'请输入每段参数:','D=',d(i),'H=',h(i),rp JUMP/L20:,L100:,,,rp
ent(i)=solcyl/origin,0,0,h1,height,h(i),diamtr,d(i) h1=h1+h(i)
LOOP10:
L100:
5-4 已知矩形花键如图所示,D1、D2、B、N均为参数,图中参数取值如表所示, 矩形花键长度满足50<L<200。
编写参数化建立其三维实体模型的GRIP 程序,用户通过交互式确定中心线位置,选择零件型号即可在UG中得到
零件的实体模型。
(单位:mm
)
【参考答案】
NUMBER/x(5),y(5),z(5),mat1(12) ENTITY/pt(200),cr(5),en(20),ln(10),cy1 $$确定花键轴型号
CHOOSE/'请选择花键轴型号:','型号1:D1=30 D2=26 N=6 B=6',$ '型号2:D1=58 D2=52 N=8 B=10',$
'型号3:D1=100 D2=90 N=10 B=14',rps
JUMP/L10:,HLT:,,,L11:,L12:,L13:,RPS
$$确定花键轴参数
L11:
D1=30
D2=26
N=6
B=6
JUMP/L15:
L12:
D1=58
D2=52
N=8
B=10
JUMP/L15:
L13:
D1=100
D2=90
N=10
B=14
L15:
$$确定长度
L16:
PARAM/'请输入花键轴长度:','HEIGHT=',h,rp2
JUMP/L16:,HLT:,,,rp2
$$容错判断
IFTHEN/h<=50 or h>=200
MESSG/'长度超过范围,请重新输入!'
JUMP/L16:
ENDIF
$$确定中心线位置
DO/L30:,K,1,2
L20:
GPOS/'请输入中心线位置:',x(K),y(K),z(K),rp1 JUMP/L20:,HLT:,,,rp1
L30:
ln(1)=LINE/x(1),y(1),z(1),x(2),y(2),z(2)
$$定义用户坐标系(中心线为心坐标系的Z轴方向)
pt(1)=POINT/1,0,0
cy1=CSYS/pt(1),ln(1)
&WCS=cy1
delete/ln(1)
$$生成圆柱体
en(1)=SOLCYL/ORIGIN,0,0,0,HEIGHT,h,DIAMTR,D2
$$生成一个花键轮廓
cr(1)=CIRCLE/0,0,0,D2/2
cr(2)=CIRCLE/0,0,0,D1/2
ln(1)=LINE/-b/2,0,-b/2,D1
ln(2)=LINE/b/2,0,b/2,D1
pt(1)=point/intof,cr(1),ln(1)
pt(2)=point/intof,cr(1),ln(2)
pt(3)=point/0,D2/2
cr(3)=CIRCLE/pt(2),pt(3),pt(1)
pt(4)=point/intof,cr(2),ln(1)
pt(5)=point/intof,cr(2),ln(2)
pt(6)=point/0,D1/2
cr(4)=CIRCLE/pt(5),pt(6),pt(4)
ln(3)=LINE/pt(1),pt(4)
ln(4)=LINE/pt(2),pt(5)
$$拉伸得到一个花键实体
en(2)=SOLEXT/ln(3..4),cr(3..4),height,h
delete/cr(1..4),ln(1..4),pt(1..6)
$$阵列花键
DO/L40:,i,1,n-1
mat1=MATRIX/XYROT,360/n*i
en(2+i)=transf/mat1,en(2)
L40:
en(3+i)=UNITE/en(1),WITH,en(2..2+i) HLT:
HALT。