资源描述:
《字符阵列做法详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、字符阵列做法详解整理:waterdrop基础1:函数本文分析了字符阵列的实现原理,并搭配实例分析,读者可真正理解字符阵列的做法及应用。基础1:函数此类阵列需要一个极重要的函数,即extract(string,position,length)。这个函数的作用是从一个字符串(string)的指定位置(position)起,提取出指字数目(length)的字符出来。例:String=abcdefghijk,po=2,len=3,则extract(string,po,len)=bcd ----从第二个位置起提取出3个连续字
2、符String=chinaren,A=5,len=1,则extract(string,A,len)=a ----从第五个位置起提取出1个字符此函数有如下使用注意:A.string是个字符串变量,position、length都是实数型变量,它们可以是直接的变量,也可是表达式,其中,position如果带小数,则向下取整,即丢掉小数(但小于1的小数取整为1),length如果带小数,是向上取整,即进一位取整。也就是:extract(string,0.2,1.2)=extract(string,0.8,1.9)=ext
3、ract(string,1.2,1.01)=extract(string,1.9,1,9)=extract(string,1,2)。B.设字符串string的总长度为len_string,有: 1.position=0,运算出错,但无提示; 2.position>len_string,运算出错,有提示; 3.position+length>len_string+1,运算出错,有提示; 4.length=0,无意义(相当于出错),无提示。因为字符包括数字和字母,数字它本身也是一种字符,不过,如果变量A的值是一个
4、数字的话,那么它可能是一个数值型变量(整型、实数型)也可能是一个字符型变量,如果它是一个数值型变量的话,它就不能用为extract函数的源字符串,必须先转化为一个字符串变量才能使用。为此,PROE提供了一个函数专门用来做这种转换,那就是itos(int),即”inttostring”。Itos(int)的变量int是一个数值型变量或表达式,如果int的值是非整数,则系统先将其四舍五入后再转换。例:itos(1.2)=itos(1.0)=字符“1”;itos(1.5)=itos(1.9)=字符“2”。基础2:草绘插入文
5、本使用参数本文分析了字符阵列的实现原理,并搭配实例分析,读者可真正理解字符阵列的做法及应用。基础2:草绘插入文本使用参数前面的函数是PROE2001就有的,但这一个是野火版新增的,因此,这种阵列不能在2001版里实现。这个新增功能是在草绘时,插入文本时,文本内容可以引用已定义参数。这样,我们可以通过控制参数的值来控制文本内容,而参数的值是可以与idx1、idx2发生关系的,因此,草绘文本就可以在不同的阵列子特征里表现为不同的内容。 以上分析了其实现的基础,下面我们再对这些实例稍加点评并附part,朋友们可通过点评的思
6、路及所附part来理解这种阵列的实现及其应用。子标题:实例1:冰大数字阵列本文分析了字符阵列的实现原理,并搭配实例分析,读者可真正理解字符阵列的做法及应用。实例1:冰大数字阵列原题见此:http://bbs.icax.cn/viewthread.ph...hlight=%D5%F3%C1%D0题目要求:一个阵列做出一串数字,数字多少及内容随阵列变化(可参考下图).思路详解:1.进入草绘界面;2.在参照平面的“虚线”上绘制一个草绘点,生成一个尺寸,尺寸值改为1。这一步的目的是生成一个尺寸,供后面创建参数使用。(因为只需
7、要一个尺寸,故将其落在参照平面上,当然也可以是在任意位置上,只要后面创建参数和阵列时注意使用的是哪个尺寸就好了。当然也不一定要用草绘点,也可用一小段直线修改为结构线使用其长度尺寸或位置尺寸,或者用坐标系的位置尺寸,但推荐使用草绘点。)3.工具----关系,进入关系编辑器,写入如下内容:A=itos(sd0)B=itos(100+sd0*10)Sd0即是上一步生成的那个尺寸的代号,当然这里只要A=itos(sd0)就完成冰大的要求,我这里增加一个是方便大家理解。这一步结束,系统生成字符型参数A和B,初值分别为”1”和”
8、110”(对应于尺寸值1)。4.在草绘中加入两个文本,文本内容分别选取刚才创建的参数A和B。然后结束草绘。5.阵列,单向尺寸阵列,第2步生成的尺寸,增量为1;第4步生成的控制文本横向位置的尺寸,增量自行确定。结果如下图。Part:char_num.prt (此part阵列后重定义草绘会退出程序,要重定义草绘请先取消阵列,可重定义阵列)子标题: