找回密码
 欢迎加入
搜索
查看: 1544|回复: 2

[教程] creo尺子阵列刻度且逢5逢10长度不一

[复制链接]

40

主题

15

回帖

55

积分

管理员

积分
55
发表于 2023-4-11 09:29 | 显示全部楼层 |阅读模式
在creo里用阵列画一个尺子,阵列刻度线,一条命令搞定三种刻度线的长度,并且加上数字标记


先上成品图
array-ruler-line-number-13.png



1,拉伸一个尺子形状,如图,长度为43MM
array-ruler-line-number-1.png



2,用投影方向在尺子的斜面和上表面投影一条刻度线
array-ruler-line-number-2.png



3,用草绘的方式来画这个刻度线
array-ruler-line-number-3.png



4,在草绘里面,点定义,定义草绘的基本平面
array-ruler-line-number-4.png



5,选取一个面做来草绘的平面,建议选下面那个大平面
array-ruler-line-number-5.png



6,画一条刻度线,长度为5MM,离中心距离为20MM
array-ruler-line-number-6.png



7,曲面这里,就是要投影的面,我们选那个斜边和上表面,即要把线投影到这两个面上来。
按住ctrl,点选这两个面。
array-ruler-line-number-7.png



8,方向参考那里点一下,投影方向选沿方向,选上表面做为方向的参考
array-ruler-line-number-8.png



9,投影方向向下。默认的方向是向上的,点一下向上的箭头,就变成向下了。
array-ruler-line-number-9.png



10,进入阵列
选择第一方向的尺寸20,增量为-1,也就是向右阵列,数量41个。
array-ruler-line-number-10.png



11,按住ctrl键,选取刻度线的长度5,在方向1里面选取这个,点“按关系定义增量”,进入关系式编辑模式。
array-ruler-line-number-11.png



12,关系式如下
  1. if floor(idx1/5)*5 != idx1
  2. memb_v=2
  3. else
  4. memb_v=3.5
  5. endif

  6. if floor(idx1/10)*10 == idx1
  7. memb_v=5
  8. endif
复制代码
解释:
阵列数量是0-40一共41个,所以idx1最大是40,也就是说idx1就是0-40之间的一个灵敏。
如果第x个刻度不能被5整除,刻度长2,否则刻度长度为3.5.
如果第x个刻度能被10整除,刻度长5.

floor是向下取整,例如floor(3.5)=3
举例:idx1=18,也就是说第18个刻度,18/5=3.6,floor(3.6)=3,3*5=15,等号左边的是15,右边是idx1是18,不相等,所以第18个刻度就是2MM。

array-ruler-line-number-12.png

40

主题

15

回帖

55

积分

管理员

积分
55
 楼主| 发表于 2023-4-11 09:31 | 显示全部楼层
在尺子上阵列数字,完成如下图
array-ruler-line-number-18.png


1,打开草绘,添加一个点,标注为1
array-ruler-line-number-14.png


2,打开工具--关系,弹出对话框。
展开局部参数,点+号,增加一个参数。名称自己取,例如:A。类型:字符串。值:01234
关系栏里添加一行关系:letter=extract(A,sd0,1)。说明一下,这里的sd0就是之前添加点的那个尺寸,每个人不一样。
最后点确定。
array-ruler-line-number-15.png


3,点文本,在第一条线下面添加文字,文字选用我们上面写好的参数,即使用参数,选letter这个参数。
array-ruler-line-number-16.png


4,调整一下文字的尺寸位置,完成文字绘制。
array-ruler-line-number-17.png


5,对文字进行阵列。
先选20这个尺寸,增量为-10,即每10MM阵列一个文字。
按住ctrl再选点的那个尺寸1,即每次增加一个数字。

array-ruler-line-number-19.png


完成。

array-ruler-line-number.prt.3.zip (91.29 KB, 下载次数: 81)


40

主题

15

回帖

55

积分

管理员

积分
55
 楼主| 发表于 2023-4-11 09:33 | 显示全部楼层
用同样的方法,做了一把20cm长的尺子,如下图
array-ruler-line-number-23.png


1,把尺子长度改为205MM

2,把之前的那个点尺寸改为0
array-ruler-line-number-20.png



3,工具--参数。添加参数B,字符串,值为0
在关系栏中,如下关系式
  1. B = itos(sd0)
  2. IF B==""
  3. B="0"
  4. ENDIF
复制代码
因为itos对0返回的是空值,所以我们第一个标记0是不起作用的。第2-5行的意思是,当B为空值时,B为字符串0。
array-ruler-line-number-21.png


4,重新选取文本,选刚才的B
array-ruler-line-number-22.png


完成,重新阵列。

array-ruler-line-number-20cm.prt.2.zip (212.93 KB, 下载次数: 84)



您需要登录后才可以回帖 登录 | 欢迎加入

本版积分规则

Archiver|手机版|小黑屋|八三设计网

GMT+8, 2024-11-28 01:28 , Processed in 0.028456 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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