ahill222 发表于 2009-1-18 10:02

一个门的动态块的简单教程

做了一个装饰图用的门的动态块,先看一下这个效果示例:

这个动态块共有如下几个功能:
1、可根据墙厚自由调节门套线厚度,提供几种标准墙列表。
2、可根据门洞口自由调节门的大小,提供几种标准门洞。说点儿题外话:门洞尺寸,建施图为900X2100,实际完成尺寸为870X2050,可做标准门宽为800。至于为什么是这个尺寸,那就不是这个帖子讨论的问题了。
3、可自由镜像,内外、左右均可,完全达到天正里的门的可调整性。
4、提供两种门的开启角度:45°和90°,搭配门口线四种可选择性:无门口线,内外两种单门口线,双门口线。

ahill222 发表于 2009-1-18 10:11

首先,你得会画出下面这个图:


如果这个你都不会画的话,那下面的教程也就不用看了。。嘿嘿。:lol :lol
然后你得会把这个门相关的东西定义成块后,记得取一个字义明确的块名,其好处是不言而喻的(不过我不说,自己去感受吧),双击这个块进入块编辑器,或者输入BEDIT 命令进入块编辑器也行。
下面这个图片是这个动态块各定义完成的界面。



可以看到,里面共有7个参数,12个动作。
为什么会有这么多,我也不想啊,但是要达到那些功能就真的要这么多的参数和动作啊。。正所谓,台上一分钟,台下十年功。。:lol :lol

再一次证明“包子有肉不在褶子上”这句老祖宗的话的高度正确性。

ahill222 发表于 2009-1-18 10:25

七个参数里面,有两个距离参数,两个翻转参数,一个可见性参数(这个可见性参数一个动态块里只能有一个,很是郁闷了一会儿,显然Autodesk公司没想到一个可见性参数有可能不够用),两个查询参数。
12个动作里,不同的动作针对不同的操作,后面作详细介绍。

首先注意的是这个块插入点,我把它放在了墙厚的中点上,方便定位时的捕捉,同时也是跟参数1进行配合。
参数1 是7个参数里面需要特别提醒的,这个参数是一个距离参数,它的基点是定义在距离的中点,这个是为了保证拉伸适应墙厚的时候确保门套线的内外同时变化的一个关键定义。


其它参数的定义就没有什么特别的地方,基本上都是按照标准定义来的,注意一下距离参数的起点和终点,当把这个夹点定义成一个的时候,显示的是终点。
在定义墙厚拉伸动作之前,要先把这个45°的门及弧线位置画出来。


这个墙厚拉伸是通过两个动作来实现的,以墙厚中点为界,向两个方向拉伸,动作都是关联这个墙厚参数,要注意这个向上拉伸上选择对象时,要把所有需要拉伸(包括两个角度的门、两个弧线和三根门口线<为什么是三根:因为那个两个门口线的内侧处要两根才准确)的物体都选中才得行的。

[ 本帖最后由 ahill222 于 2009-1-18 10:39 编辑 ]

ahill222 发表于 2009-1-18 10:47

其它动作里面,CDEFGH动作都是关联那个门宽参数,注意门宽参数的那个右边的夹点,我把它移动了一下放在门洞口的那个角上,这样是方便调整的时候捕捉。
C D 动作注意拉伸的偏移角度,要分别设为90°和45°,H 动作的偏移量是0.5倍增,H动作是要确保那个左右翻转位置始终是在门洞口的正中。
J K 动作要注意在设置翻转对象时要把其它动作和参数都要选中,这样子在翻转时才不会发生意外。
L M 动作的查寻动作要跟查寻参数配合,里面加个列表,具体设计方式请参考本论坛的其它相关教程。
参数5的这个可见性设置要注意不同可见性时的准确对象设置。

[ 本帖最后由 ahill222 于 2009-1-18 21:57 编辑 ]

tommi 发表于 2009-1-18 20:04

支持楼至,学着做了一个
PS:楼主能不能提供源文件研究一下啊?

ahill222 发表于 2009-1-18 21:57

原帖由 tommi 于 2009-1-18 20:04 发表 http://www.askcad.com/bbs/images/common/back.gif
支持楼至,学着做了一个
PS:楼主能不能提供源文件研究一下啊?
48074

你这个块的问题有两个地方:一是那个块的插入点,我仔细思考过,真的要放在墙厚的中点才好用。二是上面三楼所强调的那个墙厚参数定义。三是左右翻转的那个翻转参数的定位上,也就是说那个参数没有放在整个块的正中间,然后还要对这个翻转参数加一个移动动作,参数关联那个门宽,只移动一半。就是我前面特别强调的那个参数3与动作H。

[ 本帖最后由 ahill222 于 2009-1-18 22:03 编辑 ]

tommi 发表于 2009-1-19 14:50

谢谢楼上!

   1、翻转后,墙的厚度 难以调整,不知你的是不是?   
    2、基点放在中间,确实方便
   3、左右翻转,我认为没有必要 关联那个拉伸动作,就是,让它不动的话,调整起来 也很方便的!

我又做了一个,楼主再看看!

liang3357172 发表于 2009-1-20 15:33

都是师傅啊!

好好学学,争取早日赶上。:P :P :P

ahill222 发表于 2009-1-21 10:38

原帖由 tommi 于 2009-1-19 14:50 发表 http://www.askcad.com/bbs/images/common/back.gif
谢谢楼上!

   1、翻转后,墙的厚度 难以调整,不知你的是不是?   
    2、基点放在中间,确实方便
   3、左右翻转,我认为没有必要 关联那个拉伸动作,就是,让它不动的话,调整起来 也很方便的!

我 ...

1、翻转后,墙厚一样是可以调整的,这个是在翻转动作时要把拉伸动作一起翻转的。
3、我注意你这个块左右翻转后,块的基点也被翻转了,不知道是否版本问题,我在2008里没试过这个。不知道你这个有没有试过左右翻转后,再试一下其它的拉伸动作等全功能。

tommi 发表于 2009-1-21 22:18

回楼上

谢谢!

第一个问题解决了,你说的没错!
第二个:我用的是09,我觉得基点随着翻转的话,更方便定位了:你的后半句什么意思,我没看懂,什么是其他拉伸动作等全功能,是指我做的【动态块】还是,块里的编辑命令呢?

ahill222 发表于 2009-1-22 19:37

原帖由 tommi 于 2009-1-21 22:18 发表 http://www.askcad.com/bbs/images/common/back.gif
谢谢!

第一个问题解决了,你说的没错!
第二个:我用的是09,我觉得基点随着翻转的话,更方便定位了:你的后半句什么意思,我没看懂,什么是其他拉伸动作等全功能,是指我做的【动态块】还是,块里的编辑 ...


我用的2008,翻转时基点不能翻转,你这个基点一起翻转更好用,能够想象的出来。。。。看来我也需要升级到2009了。。问题是我才用2008没多久啊。。郁闷。。

ahill222 发表于 2009-1-22 20:19

学无止境啊,我研究了一下楼上的练习,发现我少加了一个基点参数,加个基点参数后,把它加左右翻转的选择集里,这样在翻转后的调整更加方便了。。。。

共同进步啊。。:lol :lol :lol

tommi 发表于 2009-1-22 21:43

共同进步,谢谢你,你开的这个帖子,我学到了不少东西!:victory:

阳光重生 发表于 2009-3-16 22:42

刚搜到这个贴子。
我觉的楼主还是把这个附近发上来算了。
懒人还是太多,呵呵,我里面有一些属性还是改不来,特别是那个“可见性参数”问题不少,呵呵。


我把我做一个附件发上来,大家指教,呵呵。

[ 本帖最后由 阳光重生 于 2009-3-16 22:44 编辑 ]

hhxxttxs 发表于 2009-6-2 16:29

ACAD2010的动态块不知是不是也是这样做的。
页: [1] 2
查看完整版本: 一个门的动态块的简单教程