知族常乐

Autodesk AEC产品 中文技术博客
  • AME相关
  • Plant相关
  • Revit相关
  • 关于
  • 文集
  • 联系

分类目录

  • RAC相关 (43)
  • Revit通用 (88)
  • RME相关 (62)
    • 电缆桥架和线管 (2)
    • 管道 (24)
    • 连接件 (13)
    • 阀门 (2)
    • 风管管件 (3)
  • RST相关 (25)
  • 一句话小技巧 (13)
  • 周边软件 (22)
    • Autocad MEP (4)
    • Autocad Plant 3D (17)
      • Plant 3D功能 (7)
      • Plant 3D族 (8)
  • 学习资料 (5)
  • 工具 (3)
  • 族下载 (4)
  • 未命名 (35)
  • 线下活动 (1)
  • 翻译文章 (8)
  • 行业趋势 (17)
  • 读者来信 (5)

最新留言

  • 纯天然 – www.52bjp.net|hrm41x:博主博客的文章确实很精彩啊
  • 小象:谢谢您的支持和鼓励,201
  • xxy:revit2013已经发布
  • xxy:很强大!谢谢!新功能增强
  • 李:那它与AutoCAD Pl

标签

AU Autocad Plant 3D BIM RAC中级 Revit 2011新功能 Revit MEP 2011 新功能 Revit MEP 2012 新功能 Revit初级 Revit族 Revit通用 Revit高级 RME中级 RME初级 RME高级 RST中级 内嵌族 升符号 图例 墙 实例参数 技巧 族 族参数 族类型参数 明细表 本地化 机械设置 标签 标记 样板 流向 流量 流量配置 电气 空间网架结构 管件 管道布置 约束 结构框架 绿色建筑 详图构件 连接件 阀门 降符号 风管管道布置

友情链接

  • RevitCAD微博

微博

在族编辑器中运用公式

公式是在族创建过程中十分常用的功能。合理的使用公式不但可以简化族,提高族的运行速度和提高适应范围,还可以使得族富有生命,妙趣横生,有意想不到的效果。这里我们就先从基本的公式原理开始说,在今后的博文中再介绍高级公式应用。 

  •     族编辑器中可用的公式

以下列表是族编辑器中最常用的公式,如果将这些公式合理利用,排列组合,可以达到很多匪夷所思的效果。 


 

 这里值得一提的是,我们在运用公式的时候必须注意返回值的单位。如果现在有两个参数想应用公式,一个是长度单位,参数名称叫“长度1”(如图1),还有一个是面积单位,其参数名称叫“面积1”(如图2),它们都需要和“长度2”(如图3)这个参数建立公式: 

 

 

长度1=长度2 –〉完全正确,因为单位统一 

面积1=长度2—〉Revit会报错:单位不一致(如图4) 

 

面积1=长度2*长度2 –〉就可以了! 

在族编辑器运用公式时还要避免循环使用。比如参数长度1=长度2了,你再在长度2的公式中写入长度2=长度1这样就会出现“公式循环”报警告对话框(如图5) 


 

  • 族编辑器中可用的条件语句

 

以下列表是族编辑器中常用的条件语句,基本语法和VB十分类似,对于稍有编程基础的人来说,一定不难掌握。 

 

如果想输入a<=b
可输入 not(a>b) 。if条件语句也可以嵌套使用,比如: 

if(x>100,1,if(x>50,2,3)),这条语句的作用是当x大于100返回1,50和100之间返回2,小于50返回3。 

怎么样有没有感觉到一点公式的奥妙了?可以这么说,几乎每一个族都会应用到公式,把公式和条件语句有效的组合起来,便可千变万化,威力无穷,体现族的无限魅力所在!!!

Popularity: 6% [?]

Haoyu
4 十二月, 2009
Revit通用
6 条评论
标签:Revit初级, Revit族, 公式, 族编辑器

6 条评论

Youjun 说道:
2009年12月4日 1:56 下午

哦,醍醐灌顶阿。
李育丞长得真快,三四个月就会写Revit Blog了。
三位美女博住辛苦了,很有意义的blog,我谨代表Carl Bass向你们致敬。

daizheng 说道:
2010年05月14日 4:17 下午

受教了!有个问题咨询一下,如何限制某个长度大于0。

haoyu 说道:
2010年05月14日 4:24 下午

abs(长度),这样行吗?

haoyu 说道:
2010年05月14日 4:28 下午

这样连0也排除了:if(not(长度=0),abs(长度),10 mm)
-15 -〉 15
15 -〉 15
0 -〉 10

可心 说道:
2012年03月12日 10:03 下午

请教个问题:怎么限制一个长度的最小值?

比如我要求两个洗脸盆的间距不能小于700,我会添加一个长度参数“输入间距”,那公式该怎么写?
if(输入间距<700,700,输入间距) 会报错,说循环参照链。

如果再添加一个长度参数“输出间距”,它的公式写为:if(输入间距<700,700,输入间距)
如果我“输入间距”输入的是600,“输出间距”会是700,这样应该正确了。

但“输入间距”不会变成700,我怎么能让它跟着“输出间距”一样输出700呢?

jade 说道:
2012年03月14日 9:57 上午

您好,不确定是否万确理解你的问题,尝试回答如下。如理解有误,欢迎继续提问。
确实需要两个参数来实现限制某长度的最小值。在模型中label的参数名字叫“xx长度”,然后定义一个参数叫“洗脸盆间距”。“洗脸盆间距”这个参数应该是开放的参数,允许自由输入数值。对label几何形体的“xx长度”定义一下公式: if(“洗脸盆间距” <700, 700, “洗脸盆间距”)。这样当给“洗脸盆间距”输入数值为600时,“xx长度”的数值为700, 在模型中出现的长度也为700。

发表评论 取消回复

电子邮件地址不会被公开。 必填项已用 * 标注

*

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • AME相关
  • Plant相关
  • Revit相关
  • 关于
  • 文集
  • 联系
designed by createwebsites.pl

Copyrights © 2011