revit系列 您所在的位置:网站首页 revit族不能平面旋转 revit系列

revit系列

2023-12-09 23:59| 来源: 网络整理| 查看: 265

一、查表函数size_lookup()

在Revit公式中有一个函数:Size_lookup()这个函数的功能就是查表,在官方介绍里,

它的语法如下:

把上面的总结一下,就是根据你提供的数据,在格式为CSV的表格里查找数据,主要用于机电族。通过预先定义的表格,可以根据表格中的规则来控制零件的大小数量。并且在公式中留下了余地,在找不到时也可以自己指定值。

新建一个族,创建一个使用查找表格公式的参数来举例。

首先我们定义好如下的参数

Revit中自带的表格默认在这个路径

C:\ProgramData\Autodesk\RVT 2018\Lookup Tables\Pipe

标红的是隐藏文件夹,标黄的随revit版本变化。

这里我们选用Tee - Generic.csv这个文件。首先我们打开它,观察它的结构。

可以看到,就是一张表。

它的结构是这样的,第一列不参与查找,只是每一行的一个命名而已,每一行都是一组数据。

后面的列会参加查找,除了第一列,每一列的第一行都有标题。

这个标题的格式很重要,在revit的官方帮助中,对它的描述如下

翻译过来,标题的格式如下

   参数名称##参数类型##参数单位

第一个,参数的名称,这个就是在查找表格函数中第二个参数的来源,函数中用这个来定位要查找后要返回的列,如果要自定义的话,写中文也无所谓。

第二个参数的类型,这个与revit中的参数类型对应,但这里填写时必须是英文,并且文档中也说了,这里支持它给出的几种参数。英文对印的是(NUMBER整数,LENGTH长度,AREA面积,VOLUME体积,ANGLE角度,OTHER其他),查找之后返回的参数就是这个类型。

第三个,参数的单位这个,就不用说了就是单位而已,也必需填写英文。填写revit中支持的单位。需要注意的是哪怕是面积体积等,填写单位也只要填米(meters)或毫米(millimeters)等底层单位,而不必填平方米(Square meters)等单位。同样查找后返回的参数的单位就是这个单位。

现在我们了解了Revit中CSV文件的格式了,甚至可以自己建立一个CSV文件。于是我们就可以轻松的使用size_lookup函数了。看这个函数。

括号中第一个值"Tee - Generic",这是表格的名称,注意,加引号表示这是字符串,如果不加引号,就代表这是参数。

第二个值"FOD",这是第三列标题中的参数名称,这就代表我要返回的值来自于第三列。

第三个值2000 mm,这是查找不成功的时候要返回的值,由于这里是演示,我随时打了个2000。方便体现查找不成功的效果,

第四个值 公称直径,这是我自己定义的参数,函数会在第二列中寻找这个参数的值,最后返回指定的列中与它在同一行的值。

但是这个函数还不只有4个输入值,看它的说明

它后面还可以输入更多的值,当然,后面的值同上面的公称直径一样,是用于查找的,并且这些值在查找时是依次查找的第四个值在第二列中查找,第五个值就在第三列中查找。并且这些值之间是一个“且”的关系,也就是说要同一行中要找的到这两个值才会查找成功。

我将公式更改,可以看到,第四个值在第二列中存在,第五个值在第三列中不存在,所以查找失败了。

这里我将值改一改,将第五个值改为第三列中存在,但不与第四个值在同一行,可以看到,依旧是查找失败。

现在将值更改为在同一行的,现在才查找成功。

上半部分总结:经过了这么长的篇幅,相信你基本完全弄懂了size_lookup函数的用法了,也弄懂了CSV文件的结构了。

这个函数其实就是在构件的对应尺寸形状变化增量或减量不均匀,无法使用简单的公式来控制尺寸时的一个替代方案。

所以其实你不使用这个函数也能建立活族,但想做出这种公称直径对应实际内外径的效果,就一定需要这个函数。

并且这个函数不一定要用在管件族,对应那种有规范的,有附属零件按表变化的构件你都可以自定义CSV文件以使用这个函数。

二、管件族建立

这里就来进行实际的使用,通过这个函数,来制作可随公称直径更改外径的大小的管件活族。这个族参照网上的视频,但我对它进行了优化,主要参数更少,转向更灵活。

这里我们来建立一个变径三通,首先我们以公制常规模型创建一个族,对照三通的形状来创建一个基本的模型。

创建一条参照线,这是主管的路径。

将线锁定到这个水平参照平面上

要确定锁定的位置时,可以使用对齐这个命令。将要对齐的两个要素对齐就会自动弹出锁定按钮,现在画第二条线,这是支管路径,将支管的一个端点与上面的那个水平参照平面对齐锁定,再将这个端点与垂直的参照平面对齐锁定。对齐时一定要选到参照线的端点,使用TAB键切换对齐的对象。

这是为了让参照线可以按参照平面的交点旋转。

对齐锁定后,添加尺寸约束与参数,更改参数,测试一下这个锁定是否达到了效果,很明显,达到了我的要求。

这里插一句,测试族是很重要的,官方的文档里都有明确说明。

现在我们来创建一部分参数并关联,这里我们参考官方族库里的族,先创建这些参数,要注意的是,在管件族中,所有的尺寸标注都是实例参数,我列一下这些参数。

主管公称直径、主管外径,中心到主管端点距离,支管公称直径,支管外径,中心到支管端点距离 ,角度。这些参数的名字都很明了,由名字就了解了这些参数的作用。

这里,为了使用查找表格函数,点击管理表格,将要使用的表格导入进来,这里还是使用

“Tee - Generic.CSV”这个表格文件。导入的方式上文已经说了,这里就不再赘述。

但是为了更方便的更改表格并且在创建后易于检查表格名称,所以我再创建一个参数,“查找表格名称”类型选为文字,分类到其他里面,并且这个是类型参数。

给这些参数给一个初始值,使输入公式时不会被零除,关联参数时不会报错。查找表格名称的值填写为导入表格的名称。

现在在创建图形的同时关联参数。这里先关联“中心到主管端点距离”“中心到支管端点距离”这两个参数到参照线上并且eq等分主管的路径,注意,关联“中心到支管端点距离”时,尺寸约束一定要约束到两个端点上。

关联好这两个参数后,使用放样拾取参照线为路径创建主管与支管,并把主管与支管的外径关联到草图上

使用连接功能后就是这个样子。测试一下参数,正常

现在来对参数输入公式

首先,使用size_lookup函数将公称直径与外径对应起来

然后,问题来了,就是支管的旋转角度与中心到端点的两个距离关系。

看下图,现在是90度,没有问题

现在将支管的角度改为30度,问题来了,支管啃进主管里了。

这个时候,我们来理一理思路。

第一点,为什么会这样:支管的长度太短,从连接中心处发后截面还没有完全露出来。反之,如果主管的长度太短。那么也会出现这样的问题。

第二点,要怎么解决:观察它们的关系,如果要它们永远不会出现不完全露出的问题,那么就需要与两个与管道长度相关的参数是同时变化的,那就需要公式,既然是角度导致了这个问题,决定这两个参数的值的公式中的变量一定有角度。

那么,下面就来看具体的解决办法,首先需要推导出公式,我们到平面图里做几条辅助线来看看。

那条曲线不用管,我是直接在revit里截的图,那是构件连接处。由这幅图可以得出,如果从主管与支管的交接处来看,将由这个交接处作垂直线到支管中心线,在支管上所截出的长度就刚好是C+D:如果做垂线到主管中心,那截出的长度就是A+B。

那么问题就解决了,如果让中心到支管(主管)端点的长度永远都比C+D(A+B)大一点,那么就永远不会出现啃进去的问题了

那现在就需要使用已知的条件推导出ABCD的长就好了,现在已知支管外半径,主管外半径与旋转角度。经过推导,是可以得出ABCD的,不需要添加条件。推导的过程就不写了,就是一个相似三角形,然后三角函数就可以了。

为了计算要定义一个角a,当旋转角度大于90度时等于旋转角度-90度,当旋转角度小于90-旋转角度。得出ABCD的长度如下。

 

A = tan(a)*主管外半径

B = 支管外半径/COS(a)

C = 主管外半径/cos(a)

D = tan(a)*支管外半径

 

现在来添加公式与参数,由上文可知需要定义一个角a,这里我就新建一个角度参数余角,并给它添加公式,并且新建ABCD四个参数,便于检查。

将上面这些参数添加到“中心到支管(主管)端点”这两个参数中去,并加个40mm。

好,参数方面就彻底完工了,测试一下,效果还可以,其实还能细化,这里就不演示了。

然后,为了让它能连接管道,还需要给它添加管道连接口,先更改族类型为管件。零件类型为三通。

然后添加管道连接口,第一个管道连接口一定要放在主管上,放好之后将连接口的系统分类改为管件。

然后将连接口关联上对应的参数,对应的公称直径,这里关联的参数它的值一定不能是由公式定义的。否则在布管系统中无法按管径变化大小。

对应于支管上的连接口,还要关联上角度参数,否则布管系统无法对应角度

然后将主管上的两个连接口链接起来,表明在同一条管上。

出现了双向箭头,就连接成功了。

新建一个项目,载入这个族,将它配置进布管系统。测试一下,

效果如下。

 

二维效果

三维效果



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有