找回密码
 立即注册

QQ登录

只需一步,快速开始

微信扫码登录

搜索
查看: 11202|回复: 11

[分享] 不规则容器容量刻度UG半参数化建模方法!(转)

[复制链接]

2258

主题

1万

回帖

3万

积分

Administrator

积分
32454

站长优秀版主论坛技术员论坛元老论坛贡献推广达人

发表于 2015-2-16 12:40:44 | 显示全部楼层 |阅读模式
很不错的UG造型练习题,大家可以试试,此问题已论坛会员fanrens2977提出:

UG高手

UG高手

以下内容转自唐工QQ空间:

题目:在CREO和SW论坛里看到过此种问题的检讨,用UG研究一下,分享一下,大家一起来练练手!因量杯形状的不规则,其刻度不一定均匀的分布,如使用优化设计的计算方法,一次只能求得一个刻度线位置。因量具刻度线比较多,需要探讨更快捷的标注方法。不规则容器,容量刻度建模,误差控制在千分之一以内!
    要求当瓶子形状发生比较大的变更时,更改这个刻度,也不要太麻烦;
具体如下图所示!
dHOHCna4PAAA&ek=1&kp=1&pt=0&bo=WQLlAQAAAAADB50!&su=2196061265&sce=0-12-12&rf=2-9.jpg
这种瓶子刻度问题,我很早就研究过,但一直无法做到全参数化,加上工作中,根本就遇不到,也没有太多兴趣继续下去!
我个人的理想参数化是,只要改了瓶子的形状,刻度就自动变更,但目前来说,个人觉得可能NX当前的版本,可能无法实现。(用词可能,是因为本人对软件的认知也是有限的)
   既然,很多网友对此题感觉兴趣,我可以把曾经想的一些东西简单的分享一下。
   这类型题目,如果瓶子是一个标准的回转零件,且侧面的曲线轮廓,是可以用曲线方程来表示的,那么它就会变得很简单,可以利用高数中的“古尔丁定理”即:以平面图形绕同一平面上的任何一条与该图形不相交的直线旋转一周所产生的体积,等于图形的面积乘以其重心相应半径所画的圆周长。
还要利用形心公式,进行求解,以上这个方法是理论,本人从小不喜欢读书,所以这些高深的东西,表示无能为力。
   对于瓶子不是一个标准的回转体,就比较麻烦了,但解决思路,基本上类似,油箱油的体积与高度关系的研究。
   通俗点说,如果能找到瓶子内液体体积与液体的高度函数图像,就可以利用这图像反求到,具体刻度时,液面的高度,再阵列就可以了。
接下来,本人简单的举一个例子说明一下建模思路!
1、如下,我通过两个草图与两个样条,随意构建了一个瓶子的外轮廓曲线;
dFabCna6PAAA&ek=1&kp=1&pt=0&bo=QQIUAQAAAAADB3Q!&su=2180684705&sce=0-12-12&rf=2-9.jpg
2、进行构面,加厚,就会得到瓶子,而里面最先做的曲面,缝合起来,就可以形成“液体”
dP1JrHbyJAAA&ek=1&kp=1&pt=0&bo=QQJpAQAAAAADBwk!&su=234120113&sce=0-12-12&rf=2-9.jpg
3、创建一个高度表达式h=1.5 (具体数字自己定义)接下来修剪体,修剪体时,要使用新建基准平面,而平面偏置的高度,就是刚创建的h尺寸;
这样操作是方便,等一下做灵敏度研究时,可以利用这个高度来求它与体积的关系图。 dNB0Q3ejCAAA&ek=1&kp=1&pt=0&bo=qQK.jpg
4、进行灵敏度研究,下图的尺寸,自己根据自己的图像进行设置。
dP09GXB6AwAA&ek=1&kp=1&pt=0&bo=.jpg
设置观察值;
设置观察值时,可以利用几何体参数进行选择到“液体”的体积;
    dOm7q3ASBAAA&ek=1&kp=1&pt=0&bo=7wHrAO8B6wADCC0!&su=150940753&sce=0-12-12&rf=2-9.jpg
    勾上“显示灵敏度研究图表”再点“运行灵敏度研究”就可以打开一个电子表格数据。
   dArGrnARBAAA&ek=1&kp=1&pt=0&bo=*QHFAv0BxQIDCC0!&su=1232351025&sce=0-12-12&rf=2-9.jpg
打开电子表格数据如下:(在这个电子表格里面,同时还存在函数图像。)
    dB58bXXzPwAA&ek=1&kp=1&pt=0&bo=CwKtAQsCrQEDCC0!&su=161954817&sce=0-12-12&rf=2-9.jpg
5、将电子表格另存到本地电脑上,比如我另存的名字叫 20150215
    6、在NX的表达式中,创建高度与体积列表,所用到的函数是:ug_red_fixed_list 该函数的作用,就是将灵敏度研究得到的电子表格数据中的,高度与体积那一列,分别读取到NX的表达式来;
   dJd8cHXnPwAA&ek=1&kp=1&pt=0&bo=9AKdAPQCnQADCC0!&su=1179096881&sce=0-12-12&rf=2-9.jpg
    7、创建一条直线,直线长度为1;我的电脑上,这个直接长度的表达式为P59
    8、创建一个点表达式,P=point(nth(p59,b),0,nth(p59,a)),同时,在NX里面创建一个点,创建点的方式,采用从表达式创建,表达式选这个P。
   dAkwD3avPAAA&ek=1&kp=1&pt=0&bo=XwLUAV8C1AEDCC0!&su=1188099569&sce=0-12-12&rf=2-9.jpg
9、选中,创建的直线与点,进行阵列,就可以一次性阵列出,利用灵敏度分析得到的高度与对应体积的点坐标,如下:
   dM9lbXW8PwAA&ek=1&kp=1&pt=0&bo=2gKjAdoCowEDCC0!&su=159475329&sce=0-12-12&rf=2-9.jpg
10、利用拟合曲线命令,拟合这些点;(提示,拟合前,可以考虑对这些点创建一个组,这样选点方便一些,就可以一次性选中所有的点,不用去慢慢的框选。)
   拟合得到的曲线,就是液体的高度与体积的函数图像;(拟合时,尽时阶数稍高一点,默认是3阶,我设了10阶,这样拟合出来的曲线,与这些点的误差小些)
   接下来就要在这个图像上去反求,我们想要的体积时,所对应的液体高度就可以了;
dBznHXB4AwAA&ek=1&kp=1&pt=0&bo=9QJtAfUCbQEDCC0!&su=1135017617&sce=0-12-12&rf=2-9.jpg
   11、接下创建一条直线,直线的横坐标,是体积,纵坐标是液体高度。
dOZjs3ARBAAA&ek=1&kp=1&pt=0&bo=kwN*AZMDfwEDCC0!&su=1229647425&sce=0-12-12&rf=2-9.jpg
   12、建模刻度与刻度文本;(创建时,有一定小技巧,不懂的可以观看前期做过的视频)
dIk7rXAQBAAA&ek=1&kp=1&pt=0&bo=MgO1ATIDtQEDCC0!&su=1164084641&sce=0-12-12&rf=2-9.jpg
   13、接下来是一步阵列,就可以阵列时,体积每加1,所对应的液体刻度,结果如下:
dLBMsHAOBAAA&ek=1&kp=1&pt=0&bo=QgTQAUIE0AEDCC0!&su=1259294593&sce=0-12-12&rf=2-9.jpg
    14、最后把这些刻度线投影到瓶子的表面;
    以上,就是这个刻度的创建思路,但带来的问题是,以上这个是不完全参数化的,当瓶子的形状发生变更时,比如下图这样:再去分析体积时,就会发现,体积与刻度对不上了。
    dMNqrHbtJAAA&ek=1&kp=1&pt=0&bo=FwOAAk8DrQIDCFg!&su=176591105&sce=0-12-12&rf=2-9.jpg
如果当瓶子形状发生变更,也要刻度是对的,需要以下操作;
①  重新利用灵敏度分析,再次得到新的体积与液面高度数据表;将这个数据表,再次另存为20150215;
②  打开NX的表达式窗口,点刷新来自外部电子表格数据,此时,新的体积与高度数据,就重新回添加到了表达式中。
点确定,三维就自动更新了。
     PS:在NX8.0版里面,我的印象中,有一个单独的命令在工具→更新→更新以获取外部的更改,这样一个命令,理论上是点这个选项,貌似在后期的版本中,没有这个更新命令;这个可以手动创建一个就行了。这个命令对应的按钮为: UG_ASSY_UPDATE_EXT_CHG
如下:
dAA0oHYUJQAA&ek=1&kp=1&pt=0&bo=CASAAlkEsgIDCE4!&su=114661761&sce=0-12-12&rf=2-9.jpg
这样,结果就满足了。
个人觉得,这只是一个半参数化的建模思路,谁有全参数化的思路?
dHbHq3AQBAAA&ek=1&kp=1&pt=0&bo=4gMBAuIDAQIDCC0!&su=129171057&sce=0-12-12&rf=2-9.jpg



发表于 2015-2-16 14:53:32 | 显示全部楼层
论坛里高手如云啊! {}

0

主题

7

回帖

78

积分

上等兵

积分
78
发表于 2015-11-26 09:14:25 | 显示全部楼层
牛波依~~~~~~~~!!!!!!!!!!!

9

主题

440

回帖

4600

积分

中尉

积分
4600
发表于 2015-12-8 00:20:15 | 显示全部楼层
相互学习,共同进步!

9

主题

609

回帖

5138

积分

上尉

积分
5138

VIP会员

发表于 2016-7-14 20:23:39 | 显示全部楼层
太厉害了,膜拜啊

5

主题

104

回帖

3271

积分

中尉

积分
3271
发表于 2016-7-15 11:08:31 | 显示全部楼层
受教了 真是高手如云 UG所用到的功能估计我学会的还木有三分之一

2

主题

69

回帖

548

积分

三级士官

积分
548
发表于 2016-7-16 13:54:45 | 显示全部楼层

受教了 真是高手如云 UG所用到的功能估计我学会的还木有三分之一

112

主题

1314

回帖

1万

积分

大校

积分
15010
发表于 2016-12-26 11:19:54 | 显示全部楼层
本帖最后由 mwg 于 2016-12-26 11:29 编辑

谢谢楼主,这个主题是不错,是一种很好的思路,如果要全参数必需引入积分运算或是一些展开公式,因为先要把形体的轮廓曲线参数化,轮廓曲线旋转或是沿轮廓线扫掠过程中形成体积,这个体积用表达式,就可以全参了。

9

主题

526

回帖

5400

积分

上尉

积分
5400
发表于 2017-7-8 07:28:04 | 显示全部楼层
高手啊,能加入UG爱好者论坛是学UG者的一大幸事。

9

主题

526

回帖

5400

积分

上尉

积分
5400
发表于 2017-7-8 11:43:08 | 显示全部楼层
好东西,赶紧来收藏,在这里我也提一问题,相信好多都会编程或者操机,我们晓得西门子840d如果要加工非汉字类的文本机床可以直接把那指令调出来就可以了,那么我现在想搞个法拉克系统也要有这功能,该怎样思考呢?首先得晓得26个字母和10个数字的长宽关系,然后用宏程序把他们编在一个子程序里,然后每次主程序里用G65宏程序调用并且赋值应该就可以了,有喜欢的朋友,一起想想这个要怎样做呢?如果要不同的字体就多编几个。现在我这希望高手们能告诉我这字母和数字的关系,谢谢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

咨询QQ:1359218528|发帖须知!|Archiver|手机版|小黑屋|UG爱好者论坛 ( 京ICP备10217105号-2 )

GMT+8, 2025-3-6 21:12

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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