×
热门分类
微信扫码登陆

QQ登录

只需一步,快速开始

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即加入SketchUp吧! 微信扫码登陆

x
这篇教程是从我的空间直接复制过来的,假如大家看不到图片,请直接访问我的空间
该日志的地址 http://user.qzone.qq.com/16282517/blog/1227559184

动态组件(Dynamic Components)是SketchUp7一项重要的新功能,我们已经了解到,动态组件用起来有趣,可是如果让自己去动手制作的话,似乎就有点难度了。
    本人结合官方英文帮助文档学习了一下,发现其实并不是很难掌握,看以下的教程,我想不需要复杂的知识背景,任何人都能够轻松入门:

一,首先说说什么叫做动态组件
在前一篇文章:《世界变化快-SketchUp7试用》 中,我已经大致阐述了这种动态组件的特性,总结这些组件的属性并加以分析简化,我们发现,动态组件无非具有下列几项基本特点:固定某个构件的参数(尺寸、位置),重复某个构件,某个构件的参数调整,某个构件的活动性。因此,具备以上几种或其中一种属性的组件(注意,不是群组),即可被称为动态组件。

二,动态组件的基本属性
1.固定参数:
比如当你缩放一扇带边框的门窗时,你并不希望边框也随之变化,这项功能可以实现门(窗)框尺寸不变,而门(窗)整体尺寸变化。


                               
登录/注册后可看大图

在缩放过程中,门的总体尺寸变化了,但是门框尺寸却没有变

2.重复
比如楼梯踏步,当你想加高楼梯时,踏步数也会随之增加。

缩放楼梯后,楼梯的踏步数增加了,而栏杆及踏步间距没有变化。

3.可配置
比如一个篱笆组件,会出现一个对话框。让你自己输入(选择)篱笆的高度、栏杆间距等。

这个组件的特点是,有一个面向用户的对话框,在这个对话框中,你可以自己决定篱笆的高度,杆件及桩的尺寸,杆件之间的间距等。

4.动态
比如一个门扇的组件,点击后,可以实现门扇开启关闭的效果。

用特定的工具按钮点击门的时候,门就可以转动。

三、实例一(篱笆组件 Fence)
分解完动态组件的基本属性后,问题就变的简单一些了,下面我们通过一个篱笆组件的实例,一步步实现制作一个动态组件的愿望,在本实例中,我们将能学习到固定参数和重复这两项基本属性。

1,目标
通过缩放后,组件能够自动生成下图所示的效果。


赞赏

4

查看全部评分

精彩评论

文明上网理性发言、请文明用语

6

主题

28

帖子

41

红宝石

SU初师(等级5)

Rank: 5Rank: 5

红宝石
41
ardong 2008-11-25 13:54:00
2,制作准备

首先制作出一个篱笆所需要的几个基本构件,分别制作出了桩、竖向杆件、纵向杆件共四个构件。制作完成后,把每个构建制作成组件,注意,不是群组,只有组件才能具有相应的属性,而群组没有。


要给每个组件起不同的名字,如上图所示,我们给这四个组件分别命名为 Psot,Picket,TopRail,BottomRail。


最后全选所有的组件,再整个定义为一个组件,并命名为Fence。

3,为组件配置属性

调出如图所示的按钮,在选中Fence组件的情况下点击红圈内的按钮,查看组件属性。


这就是组件属性的对话框,可以看到,该表已经列出了我们刚才所做组件的名称,但是展开组件名称,并没有相关的参数。因此,我们要根据实际需要来添加这些组件的参数。在本例中,主要是位置、大小(尺寸)两项。
点击+号后,软件会自动提示对话框,直接点选即可。


点选添加位置属性后,再添加大小(尺寸)属性。


以此类推,重复此步骤,为每个组件都添加这两项属性。
请注意,每个属性后面的数字代表着你建立组件的现状情况,即每个组件的坐标,x,y,z方向的具体尺寸。
目前这些数字的颜色是灰色的,表示这些参数是可调整的,当你缩放组件时,这些灰色的数字会随之变化。

4,通过函数控制属性
这一步开始就比较重要了,仔细看好。
可能有相当一部分人看到函数两个字就头疼,但是这里需要我们掌握的函数是相当的简单,类似于加减乘除的道理,很好理解,继续:

因为我们通常会希望篱笆变长(沿X轴方向)、变高(沿Z轴方向),而不是变厚(沿Y轴方向)。所以我们对Y轴上的参数进行限制。
在本例中,LenY 项的原参数是10cm,这代表篱笆的厚度是10cm。现在要做的是:把10cm删掉,填写 =10,然后按TAB键确认改动


请注意,这时10cm 就显示为纯黑色了。这就代表,篱笆的整体厚度,Y轴方向的尺寸被限定住了,有兴趣的话这时就可以自己沿Y轴缩放一下试试。


接下来要分别定义每个构件的参数属性了,比如篱笆桩,在任何情况下,我们都希望它的尺寸是固定的,因此要在每个参数前加上"="。注意这时数字后不要带单位。


同样的要定义TopRail和BottomRail的参数属性,但这里有些不一样,要想实现我们一开始提到的效果,这两个构件的X轴的尺寸应该是可变的。


到这一步,就可以再测试一下了,拉伸组件,我们发现只有横向的杆件被拉伸了,其他的构件尺寸都没有任何变化^-^
不过也先别急着高兴,下面还有更重要的:纵向杆件(Picket)的重复。


首先在Fence组件属性的后面添加一个自定义的参数。即重复间隔,我们命名为spacing。


后面的值我们定义为2。(图中所示为20,间距过大,后根据实际情况调整为2合适)


在Picket的属性栏里添加一项行为属性 Copies。表示该组件允许被复制,Copies后跟的数值是指被复制的个数。
那么,应该怎样表达出这个被复制的个数呢?


这里我们提供了一行公式来表达这个数字

=(TopRail!LenX)/(Picket!LenX+Fence!spacing)-1

= 意味着后面的数字是被(公式)控制的

后面的一段实际上就是一段普通的数学表达式
翻译为
TopRail的X长度 除以 (Picket的X长度+刚才定义的间距) -1

这样应该就明白了,长度 除以 等分距离 再减掉一根。就是Picket所应存在的根数了


除了限制Picket存在的根数,Picket被复制后,它的位置也有了变化。这里只有在X轴上,Picket的位置才有变化,所以我们要为X轴的位置参数写一段数学表达式:

=12+COPY*(Fence!spacing+LenX)

如果明白了上面公式的含义,这段公式应该也很容易理解。
(值得一提的是:在整体组件Fence的属性中,位置参数是相对与Su的世界坐标系,而Fence中的分组件Picket等,坐标系都是相对值)


5,调试完成
至此,我们的动态组件(篱笆)就完成了,看看是否达到了预期效果?







大功告成了^-^

赞赏

3

查看全部评分

314

主题

1880

帖子

2865

红宝石

网站创始人

老到陈腐

Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29Rank: 29

红宝石
2865

2012龙年春节团拜纪念邮SuBAR_CLT汉化团队宝石收藏家核心会员财富大亨热心助人奖

diweiman 2008-11-25 14:16:00
非常感谢楼主,原创教程吗?是的话一定要加精了。
另:能否劳烦楼主将图片上传到这里,以免大家奔波!
补充个截图,看不到的看这里吧。

jpg

jpg

赞赏

5

查看全部评分

6

主题

28

帖子

41

红宝石

SU初师(等级5)

Rank: 5Rank: 5

红宝石
41
ardong 2008-11-25 14:35:00
是原创,但是图片太多,编辑进来相当麻烦,等有空吧:Z

29

主题

145

帖子

429

红宝石

SU有智(等级8)

Rank: 8Rank: 8

红宝石
429

荣誉会员财富大亨热心助人奖宝石收藏家

QQ
老牛 2008-11-25 14:55:00
相当好的教程,学习了,收藏了。

27

主题

706

帖子

375

红宝石

论坛元老

Rank: 16Rank: 16Rank: 16Rank: 16

红宝石
375

核心会员宝石收藏家忠实粉丝荣誉会员

QQ
yuandayy 2008-11-25 22:06:00
原创一定要支持了。
谢谢楼主。

15

主题

160

帖子

81

红宝石

SU学师(等级6)

Rank: 6Rank: 6

红宝石
81
Cg371 2008-11-26 10:52:00
呵呵 长见识了 谢谢楼主

2

主题

45

帖子

0

红宝石

禁止访问

Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33

红宝石
0
QQ
wxwhsh123 2008-11-26 11:10:00
看不见爱你

9

主题

214

帖子

118

红宝石

论坛元老

Rank: 16Rank: 16Rank: 16Rank: 16

红宝石
118

荣誉会员

alexlam 2008-11-26 11:46:00
动态组件要好好研究!

0

主题

6

帖子

0

红宝石

SU入学(等级1)

Rank: 1

红宝石
0
alanwen 2008-11-26 17:20:00
受益良多! 感謝!

171

主题

1998

帖子

2181

红宝石

论坛元老

Rank: 16Rank: 16Rank: 16Rank: 16

红宝石
2181
影月和风 2008-11-26 19:13:00
动态组件……是个很好很好的东西呀!学习了!

27

主题

403

帖子

80

红宝石

SU学师(等级6)

Rank: 6Rank: 6

红宝石
80

2012龙年春节团拜纪念邮忠实粉丝积极讨论奖

黑色星期天 2008-11-26 22:51:00
你们图片能看得到么,我怎么来了几次都是看不到的

2

主题

809

帖子

-12

红宝石

禁止访问

Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33Rank: 33

红宝石
-12

宝石收藏家新秀奖优秀技术奖

hanshuijuzhu 2008-11-26 23:05:00
非常好的一个功能,看来su7还是有很多新的价值

9

主题

93

帖子

18

红宝石

SU游学(等级2)

Rank: 2

红宝石
18
QQ
jiang110 2008-11-27 00:33:00
越来越复杂了!:O

134

主题

1834

帖子

1612

红宝石

论坛元老

Rank: 16Rank: 16Rank: 16Rank: 16

红宝石
1612

热心助人奖优秀技术奖SuBAR聚会纪念邮 上海站Sketchup建模大赛 第八期 TOP5宝石收藏家财富大亨忠实粉丝核心会员

QQ
zch199 2008-11-27 21:45:00
先顶了再说

134

主题

1834

帖子

1612

红宝石

论坛元老

Rank: 16Rank: 16Rank: 16Rank: 16

红宝石
1612

热心助人奖优秀技术奖SuBAR聚会纪念邮 上海站Sketchup建模大赛 第八期 TOP5宝石收藏家财富大亨忠实粉丝核心会员

QQ
zch199 2008-11-29 10:00:00
那个……
第三步的那个属性是哪里调出来的,找了半天了

0

主题

3

帖子

0

红宝石

SU入学(等级1)

Rank: 1

红宝石
0
slddee 2008-11-29 15:44:00
好教程,楼主好洋的

41

主题

1602

帖子

50

红宝石

SU初师(等级5)

Rank: 5Rank: 5

红宝石
50

社区微博达人积极讨论奖

QQ
fbhyc 2008-11-30 19:01:00
复杂了总之我是不会用此功能

2

主题

23

帖子

3

红宝石

SU入学(等级1)

Rank: 1

红宝石
3

社区微博达人

QQ
colorcool 2008-12-1 13:30:00
新功能 不错

0

主题

32

帖子

0

红宝石

SU入学(等级1)

Rank: 1

红宝石
0
btyang 2008-12-2 08:50:00
感谢楼主·很好的教程
123下一页
高级模式
您需要登录后才可以回帖 登录 | 立即加入SketchUp吧! 微信扫码登陆

本版积分规则

ardong

SU初师(等级5)

  • 主题

    6

  • 吧币

    900

  • 红宝石

    41

关闭

站长推荐上一条 /2 下一条

积分兑换活动
发布主题 快速回复 返回列表 客服中心 搜索 官方QQ群
关于我们/小黑屋/手机app/国土人/SketchUp吧 /京ICP备16008035号/