iCAx开思网

标题: 一个体积宏引发的问题 [打印本页]

作者: pyczt    时间: 2006-4-28 14:48
标题: 一个体积宏引发的问题
相关链接:
https://www.icax.org/viewthread. ... =page%3D&page=3
27楼所言修改某一個長度數據,令到體積達到某一個特定的量。
https://www.icax.org/viewthread. ... =page%3D&page=4
31楼所言这个功能不是和破衣的行为建模有点象了吗??

我想能不能编写这样的宏,界面如图,问题是怎样用最少步数去求解,用于实际设计中,如塑料件要求<500克,抽壳厚度要多少?在百度上查了行为建模的资料,好象是用迭代算法,高等数学学的不好,这些知识都丢了,不知谁有这方面的编程经验或思路提供。GNEFUL兄曾编过容积刻度题的解法宏,又是怎么计算的?
作者: Francis    时间: 2006-4-28 14:49
沙发
作者: Francis    时间: 2006-4-28 14:58
宏王提出疑问,看来要宏神出马了。
作者: GB2006    时间: 2006-4-28 17:03
程序设计我不懂,这些好像都是涉及优化设计的内容,UG好像是是调用EXCEL算的,pyczt兄看看是不是能调用EXCEL现成的函数来算算呢?
作者: gneful    时间: 2006-4-28 22:09
不好意思,对于行为建模一点概念都没有,迭代算法也是第一次听说。翻了一下字典,迭 就是重复的意思,迭代大概就是反复取值然后验证结果吧。
去年5/1放假的时候曾经做过一题,可能比较接近 pyczt 兄的要求,基本思路就是反复取基准面切割实体,然后验证其体积是否为设定值。至于取基准面的算法是否为最佳算法,这个就无从考证了,其实那个是临时想出来的办法,碰巧能解决问题而已。
下面简单介绍一下这个算法,如果各位感兴趣就请仔细往下看。
为了画图方便,把题目改成求面积了。
作者: gneful    时间: 2006-4-28 22:12
如下图,假设给定一条任意曲线,并已知面积 A,要求解高度 a 的值。
作者: gneful    时间: 2006-4-28 22:19
第一步,任意取值 b1,并且计算面积 B1,和面积 A 与 B1 之间的误差 C1
把 B1 抽象成一个矩形,就可以很容易的得到以下结论:高度再增加c1,就可以达到要求面积 A。
作者: gneful    时间: 2006-4-28 22:24
第二步,取值b2,并计算面积B2,然后验证面积 B2 和 A 之间是否存在误差,如果其误差 C2 超过了允许的范围,就按上一步的方法计算c2,然后重复修正b3,b4...直到满足要求。
作者: gneful    时间: 2006-4-28 22:50
思路很简单,关键是每次取 b 值都必须更接近目标值 a 。为了使计算效率更高,可以考虑增加一个系数,
例如: b2=(b1+c1)*1.2
只有认真想,可以有很多种算法,我的看法,如果你是普通的工程技术人员没必要过分追求优化的算法,凡事还是以解决问题为第一目标,办法是不是笨不重要。
当然,如果每次计算都会算到死机那也没有实用价值。
下面是以前做的一个粗陋的动画,要求容器上等体积画刻度。
作者: GB2006    时间: 2006-4-28 23:18
顶出宏神,哈哈
还差宏仙
作者: pyczt    时间: 2006-4-28 23:20
抛砖引玉啊,谢GNEFUL兄讲解




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3