当前位置:首页 > 知识 > 

参数化到底是个什么鬼?

参数化到底是个什么鬼?

参数化到底是个什么鬼? 我这个尺寸怎么参数化? 我这个零件怎么参数化? 我这个程序怎么做? 为什么我的程序动不了? 我零件画好了发给你,做程序能不能便宜点? 我要做个装配

参数化到底是个什么鬼?

我这个尺寸怎么参数化?

我这个零件怎么参数化?

我这个程序怎么做?

为什么我的程序动不了?

我零件画好了发给你,做程序能不能便宜点?

我要做个装配体的参数化,但是先给你里面一个零件,做完了看看效果,再做其他零件可以吗?

我真不知道怎么回答。

如果你的问题是“错”的,那你永远不会得到你想要的答案。

【概念】

参数化到底是个什么鬼?就像排除法,控制变量法这些数学方法一样。参数化是一种方法,或者说一种思想。不仅建模时候可以用到,生活中任何地方都可以用到。

简单来说,就是用最少的元素,控制最多的内容。

从一个物体中抽取一个或几个要素,作为参数。

其他的要素,尺寸也好,阵列个数也好,作为从动要素。

通过公式对参数的计算,得到所有从动要素的值。

从而生成符合要求的整个物体。

这个物体你可以理解为一个零件,也可以是包含多个零件的装配体。建立起从动要素和参数的关联的这个过程,称之为参数化。这个关联(公式)是静态的,但参数是动态的,它在它的取值范围内可以随意改变。

我们来测试一下吧

1只鸡有2只腿,如果要100只烤鸡腿,请问要几只鸡?

50只。傻子都知道。我想问的是:题目里这些数值,哪个是参数?

动脑子的第1秒

。。。

动脑子的第2秒

。。。

动脑子的第3秒

。。。

如果你回答,1是参数,或者2是参数,或者100是参数,那请你先点开下方链接,并认真看完本系列所有视频,再回来阅读本文,谢谢。

答案应该是

参数:烤鸡腿的数量

从动要素:鸡的数量

公式:鸡的数量 =烤鸡腿的数量 / 2

列出这些答案的过程,其实就是参数化了。或者说,我们已经把这个题目参数化了。

公式是静态的,不管几只鸡,鸡的数量都是腿的一半。但鸡腿的数量是动态的,它是个变量,而且是人为设定的,你想要几只鸡腿,题目里出现的就是几只鸡腿。鸡的数量是根据你想要的鸡腿的数量,通过公式计算得到的,随着鸡腿数量增减。

注意了,在每个项目开始之前,把参数挑选出来,这是最最最最最重要的一步。却并不是最困难的一步,很多参数都是显而易见的。但是,做这个挑选的不应该是我,是你自己根据零件的变形要求来决定的,或者是让你做参数化的人决定的。如果是你自己决定的,那你得先搞清楚整个模型的变形要求。它会怎么变?根据什么来变?把这搞清楚了,你才能问出对的问题,才能得到想要的答案。

【手段】

Solidworks的Σ方程式功能≠参数化。参数化建模≠用方程式的功能建模。Solidworks的方程式只是参数化的其中一种手段。VB6,VBA,VB.NET,C++,C#,Driveworks,甚至直接用草图驱动,这些都是参数化的手段。对于学生而言,毕设任务书里都会有相应的要求。对于企业使用的二次开发来说,一套完整好用的二次开发程序固然是必需的。同样需要的,是便于维护,便于推广,便于容纳后续设计。这更需要统筹考虑。不是一拍脑袋就能定下的决策。

【目的驱动】

参数化是个“目的驱动”的产物,不是为了参数化而参数化。之前说的,找出参数,只是目的的一部分,真正的目的是让整个零部件在参数的驱动下变形,或者干脆重新生成一个模型,从而得到符合要求的新零部件。完整的表达应该是:使用这些参数,来驱动整个零件或装配体的重新生成或变形,以生成新零部件。

对于一个装配体来说,当然可以先参数化一个零件,再做其他零件。但是,如果目的是整个装配体的变形,那么最好就是在项目初始就制定好整个装配体的参数化方案。否则极有可能导致,之前做的零件的参数化思路和装配体参数化思路冲突,结果在装配体中无法使用。

对于做毕设的学生而言,可能真的就是为了参数化而参数化,那就必须和你的老师先确定好最终达到的效果,或者自己决定。否则就像站在十字路口,没有目的地,好像往哪儿走都可以,但就是寸步难行。

【参数化思路】

参数化的思路一般分为两种:

1. 使用程序,从草图开始绘制一个完整的新模型

2. 先通过参数化思路手画个一个模型,作为库模型。使用程序调用这个库模型,通过修改尺寸,得到新模型

两种建模方式都有各自的优缺点,适用场景也不尽相同

从0开始(适用于毕设,生成简单的单个零件)

优点:

1 自由度大,只要能写出程序,想画什么画什么。并且因为生成的模型已经是最终需要的模型了,不需要太多考虑尺寸标注,线画多长就多长。也不需要考虑参数化建模的技巧。

2 凑工作量。适用于毕设模型太过简单的同学。

缺点:

1 编程量大,编程难度大。由于草图中出现的每个点(直线两点,圆心,矩形两点)都需要分别定义他们的XY坐标,通常这些坐标值都是由公式或变量来表达,即便代码量和调取库模型的量一样大,计算量也会大出好几倍。对于结构复杂的模型,那就是脑力和体力的双重考验了

2 生成速度慢,相比调取库模型的方式。比手画肯定要快。

调取库模型(适用于多零件,或装配体的批量生成,或企业使用的二次开发)

优点:

1 编程量小。相比同样的模型,用从0开始的方法编程。

2 生成速度快

3 制定参数化方案后,可多人协同制作

缺点:

1 建模要求高,详见下文【参数化建模】

2 特殊草图的稳定性差。这是针对样条曲线来讲的。例如从另一个草图中引用样条曲线,并且经过剪裁,变形时,容易发生因为变形跨度太大,丢失关联的情况

【参数化建模】

建模是个宽泛的概念,并不一定是指从草图开始绘制,直到一个实体做完。

只要能得到最终想要的模型,任何方式,都可以称为建模。

所谓参数化建模,是基于参数化思路的建模。只要是通过参数,通过计算驱动整个模型的建模方式,例如以上提到的两种参数化方式,都属于参数化建模。

但是对于库模型的建模,要求肯定和平常建模不同,因为它是用来生成各种可能的新模型的,必须包含将来会出现的各种可能性(可预见的)。为了最后完成参数化,在建模时候,应该避免所有在之后的参数化中,因为建模限制导致的报错。

换言之,不是所有的模型都适合用来做参数化的。用来做参数化的模型,必须在建模时候就带有参数化的思想。有的模型,在建模的时候并没有考虑将来要做参数化,尺寸设置,镜像的面的选择,阵列的参照直线选择都有可能不合适用来参数化。

就拿这个俄罗斯方块来举例。红圈圈出来的是我用来作为参数的尺寸,其他的尺寸都是定值。它的取值范围是(0,+∞)。那么这个模型适合用来做参数化吗?

哦豁。不合适。为什么不合适?

很显然,当参数等于30的时候,两边的短边长度变成了0,而SW不接受线段长度为0,这个时候就会报错。那么应该怎么来做建这个模型?

很简单,分成两个特征来建。这样参数尺寸的取值就不会受到建模条件的限制了。

再比如这么个圆环,参数是圆环的外径,厚度不变,内径作为从动尺寸。那么这个模型适合做参数化吗?

不合适。当然,这个模型比前一个俄罗斯方块好,硬要用也是可以的。但是如果用的话,我们就要多加一条公式:内径 = 外径 - 2 x 厚度。这个模型比较简单,影响不大。但是如果是个复杂模型,或者是个装配体,如果都用这种方式来标注,那么公式的量就不是增加一点点了。多一个公式,就多一分出错的概率或者调试的时间。所以最好就是标注定量尺寸。这样公式就省了。

【结语】

我尽力了。如果看到这里你还是没理解参数化,参数化建模,到底是什么意思。那请从头再看一遍。

以上就是(参数化到底是个什么鬼?)全部内容,收藏起来下次访问不迷路!