找回密码
 注册会员

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 255|回复: 0

基于Pro/E的工程图纸自动化生成软件的开发(三)

[复制链接]
发表于 2011-6-18 09:25:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转磨削论坛

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  四、注释生成实例与程序4 R) l; z  ]( d1 h
  在TOOLKIT中,注释是以文本行(Note Line)为最小的存储单元的,不同的文本行组成一个注释块(Note Data),对于这些注释块,调用函数ProDtlnoteCreate()就可以生成注释,并在图纸的任何位置处显示出来。对于显示的字符可以通过设置不同的参数来改变它的颜色,字体以及倾斜度。实例中,通过调用用户自定义的注释生成函数UsrNoteCreate(),在图纸上生成轴的技术要求等信息。具体函数如下:- ^/ `' V9 U$ S3 E" @/ F
  UsrNoteCreate() { ProDtlnote note;ProDtlnotetextHeightSet(text, height); ProDtlnotetextWidthSet(text, -1.0); ProDtlnotetextSlantSet(text, 0.0); //设置注释字体的高、宽、倾斜度ProDtlnotetextThicknessSet(text, 0.0);//设置字体粗细ProStringToWstring(font,襢ont?; ProDtlnotetextFontSet(text, font); //设置字体类型ProStringToWstring(wstr, note_text); //note_text中存储需要显示的字符串ProDtlnotetextStringSet(text, wstr); ProDtlnotelineAlloc(&line); ProDtlnotelineTextAdd(line, text); //为文本行分配存储空间ProDtlnotedataAlloc(drawing, &ndata); ProDtlnotedataLineAdd(ndata, line);//为⑹头峙淇占洌?⒓尤胛谋拘? ProDtlnotedataAngleSet(ndata, angle) ; ProDtlattachAlloc(PRO_DTLATTACHTYPE_FREE,NULL, pos_note, NULL, &attach); ProDtlnotedataAttachmentSet(ndata, attach); ProDtlattachAlloc(PRO_DTLATTACHTYPE_PARAMETRIC, NULL, NULL, surf_sel, &leader); ProDtlnotedataLeaderAdd(ndata, leader); ProDtlnoteCreate(drawing, NULL, ndata,¬e); ProDtlnoteShow(¬e);//最终生成注释,并显示其中的字符串ProDtlnotedataFree(ndata);//释放前面所分配的内存空间Return();}1 ^6 \$ T9 j. O6 g
  五、其他特殊符号的生成方法
9 J  o! |6 {7 k- ]! {" u  TOOLKIT提供了最基本的二维图形生成函数ProDtlentityCreate(),它的生成方法和文本注释的生成方法类似。通过调用圆弧初始化函数ProArcdataInit()或者直线初始化函数ProLinedataInit(),可以很容易地画出直线或者圆弧曲线。以圆弧生成为例,程序如下:
5 r2 \6 O1 X( N& F" l! |  UsrCircleentityCreate() { ProVector start_pos,end_pos; double start_angle, end_angle,start_angle ,end_angle ; ProDtlentitydataAlloc(drawing, &edata);//分配图元存储空间ProCurvedataAlloc(&curve); //分配圆弧存储空间ProArcdataInit(start_pos,end_pos,center,start_angle,end_angle,radius,curve);//圆弧的初始化:设置起点,终点,起始角度,中止角度以及半径ProDtlentitydataCurveSet(edata, curve); entity_color.method = PRO_COLOR_METHOD_TYPE; entity_color.value.type = color; ProDtlentitydataColorSet(edata, &entity_color);//设置圆弧的线型颜色ProDtlentityCreate(drawing, NULL, edata, entity);//生成圆弧ProDtlentitydataFree(edata);//释放内存空间return(); }
% k9 {# ]0 O' Y  R  借助于以上图形生成函数,可以生成一些特殊符号或者简单的剖面图形。在实例中,应用这种方法来实现粗糙度、同轴度及平行度等的标注。4 X" t( M: F5 G7 ^! E$ X" c( s( O
文章关键词:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

中国磨床技术论坛
论 坛 声 明 郑重声明:本论坛属技术交流,非盈利性论坛。本论坛言论纯属发表者个人意见,与“中国磨削技术论坛”立场无关。 涉及政治言论一律删除,请所有会员注意.论坛资源由会员从网上收集整理所得,版权属于原作者. 论坛所有资源是进行学习和科研测试之用,请在下载后24小时删除, 本站出于学习和科研的目的进行交流和讨论,如有侵犯原作者的版权, 请来信告知,我们将立即做出整改,并给予相应的答复,谢谢合作!

中国磨削网

QQ|Archiver|手机版|小黑屋|磨削技术网 ( 苏ICP备12056899号-1 )

GMT+8, 2024-10-24 16:25 , Processed in 0.127712 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表