找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 615|回复: 14

[求助] 吊诡的光栅盘

[复制链接]

6

主题

234

回帖

4

威望

工程师

积分
272
发表于 2026-4-10 11:30 | 显示全部楼层 |阅读模式
本帖最后由 redfoxzf 于 2026-4-16 18:31 编辑

设计过程中,画一个光栅盘,参照论坛教程,做了个简单的。
见附图
文字和刻度线均为72个,一个拉伸命令,一个阵列

简略的光栅盘

简略的光栅盘


总想做细化点,实际结果是这样的。
试了好多次,刻度线和文字分成两个拉伸命令,分别阵列,也是各种奇怪。

吊诡的光栅盘

吊诡的光栅盘


效尝试好多次,最后试验出这个效果。

细化刻度的光栅盘

细化刻度的光栅盘



Creo12.4.2和Creo10.0.9版本,都有这种现象。

刻度线增量阵列代码(验证合格):
/* 计算当前角度
/* 因为间隔是 1 度,所以直接等于索引号
angle_val = idx1 * 1

/* 第一级判断:90 的倍数 (0, 90, 180, 270) -> 长度 2
if (mod(angle_val, 90) == 0)
    memb_v = 2
else
    /* 第二级判断:10 的倍数 (10, 20, 30...) -> 长度 1.3
    if (mod(angle_val, 10) == 0)
        memb_v = 1.3
    else
        /* 第三级判断:5 的倍数 (5, 15, 25...) -> 长度 1
        if (mod(angle_val, 5) == 0)
            memb_v = 1
        else
            /* 第四级:其余刻度 -> 长度 0.5
            memb_v = 0.5
        endif
    endif
endif



文字刻度代码:
/* 1. 判断是否为 5 的倍数
if (mod(sd2, 5) == 0)
    /* 如果是 0 度,显示 "0"
    if (sd2 == 0)
        STR = "0"
    else
        /* 其他 5 的倍数(5, 10...),转换为字符串
        STR = itos(abs(sd2))
    endif
else
    /* 不是 5 的倍数
    /* 关键修正:草绘器不支持 " " (空格),必须用 "." (点) 或其他可见字符
    /* 点 "." 在远处看就是一个点,视觉上最接近隐藏效果
    STR = "."
endif



由于源文件太大,不方便上传,分享我摸索出来,最后做成功的思路吧:

由于刻度线分四种长度规格,其中最短刻度线有360根(包含重叠),和文字72个数量不一样。
我总想用关系式,一个阵列完成所有,前面多次尝试,总是出现莫名bug。

最后采用折中办法,完成。
1.阵列3种长度刻度线(if else endif关系式)及文字,数量72,角度间隔5度。

草绘尺寸关系式代码:
/*sd2是刻度与Y轴夹角。
if sd2==0    /*1.开始0度,刻写字符0
STR="0"
else
if sd2>359  /*2.到360度,刻写字符0
STR="0"
else
STR=itos(abs(sd2))/*3.其他刻写角度数字,因间隔5度,所以最终刻写72个字符,均是5的倍数。
endif
endif
1.png

阵列类型尺寸,角度增量5,刻度长度采用增量关系式:
/* 1. 计算当前实例对应的角度
/*idx1 是阵列索引 (0, 1, 2...),间隔是 5 度

angle_val = idx1 * 5

/* 2. 判断是否为 90/180/270/0 度 (长度设为 2)
/*使用取模函数 mod 来判断是否整除

if (mod(angle_val, 90) == 0)
    memb_v = 2
else
    /* 3. 判断是否为 10 的整数倍 (长度设为 1.3) */
    if (mod(angle_val, 10) == 0)
        memb_v = 1.3
    else
        /* 4. 其余情况 (长度设为 1) */
        memb_v = 1
    endif
endif


2.阵列短刻度线,360个,重叠到短线上,不影响。
常规,阵列类型:轴,360个,角度间隔1度。
3.png

111

主题

2745

回帖

310

威望

教授

积分
3921

热心助人勋章宣传大使勋章优秀会员勋章希望之星勋章

发表于 2026-4-10 13:41 | 显示全部楼层
可心做罗盘了
回复

使用道具 举报

6

主题

234

回帖

4

威望

工程师

积分
272
 楼主| 发表于 2026-4-10 14:54 | 显示全部楼层

题目:
创建一个圆形360度的表盘,刻度线间隔为1度。
刻度线要求:四种长度规格
90度/180度/270度以及0度刻度线长度为2,
10度整数倍长度为1.3,
5度整数倍长度为1,
其余为0.5.

刻字:刻上5度倍数的数字。

有空练把手,不怎么消耗时间,测试下。
有点怀疑CREO里面的关系式有bug...
回复

使用道具 举报

11

主题

247

回帖

1

威望

工程师

积分
276
发表于 2026-4-10 15:34 | 显示全部楼层
这个得支持一下!
回复

使用道具 举报

10

主题

136

回帖

17

威望

工程师

积分
234
发表于 2026-4-10 15:39 | 显示全部楼层
和约束方式有关系
回复

使用道具 举报

3

主题

348

回帖

8

威望

工程师

积分
439
发表于 2026-4-10 16:17 | 显示全部楼层
3d图能不能也放上来
回复

使用道具 举报

1

主题

190

回帖

2

威望

工程师

积分
301
发表于 2026-4-10 16:54 | 显示全部楼层
学习了,感谢分享
回复

使用道具 举报

6

主题

234

回帖

4

威望

工程师

积分
272
 楼主| 发表于 2026-4-10 20:37 | 显示全部楼层
齐辰 发表于 2026-4-10 15:39
和约束方式有关系

有空试一下,我以为是CREO有bug...
回复

使用道具 举报

6

主题

234

回帖

4

威望

工程师

积分
272
 楼主| 发表于 2026-4-10 20:38 | 显示全部楼层
cdk1998 发表于 2026-4-10 16:17
3d图能不能也放上来

创建一个圆形360度的表盘,刻度线间隔为1度。
刻度线要求:四种长度规格
90度/180度/270度以及0度刻度线长度为2,
10度整数倍长度为1.3,
5度整数倍长度为1,
其余为0.5.

刻字:刻上5度倍数的数字。

有空练把手,不怎么消耗时间,测试下。
有点怀疑CREO里面的关系式有bug...
回复

使用道具 举报

16

主题

336

回帖

29

威望

高工

积分
539
发表于 2026-4-11 10:03 | 显示全部楼层
creo的常见问题,就是跟约束有关。要说是BUG那也是几十年的陈酿老BUG了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

本站为非营利性站点,部分资源为网友搜集或发布,仅供学习和研究使用,如用于商业用途,请购买正版。站内所发布的资源,如有侵犯你的权益,请发邮件联系我们,本站将立即改正或删除。

手机版|小黑屋|野火论坛(©2007~2026) ( 苏ICP备11036728号-2 )苏公网安备 32039102000103号|站长QQ28016688

GMT+8, 2026-5-18 02:23 , Processed in 0.196816 second(s), 26 queries .

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