SolidWorks扫描切除命令避坑手记
- 技术邻 >
- CAD&结构设计 >
- SolidWorks
SolidWorks扫描切除命令避坑手记
SolidWorks完整的切除命令在菜单栏里面;其中1-4是经常会用到的,5-7可能使用者较少。其实我们的观点是,切除命令基本都没有存在的必要,而且切除命令还容易出一些莫名其妙的失败,尤其是扫描切除命令。这样说可能有些夸大其词,但是如果熟悉SolidWorks的布尔操作——“相交”、“组合”等命令,就会认同这种说法。可以看到,上述所有切除命令都有对应的凸台命令;具体做法就是需要做什么切除,做一个相应的切除形状的实体,运用“相交”命令,切出一个形状,然后删除多余实体记得到切除的形状。举个简单示例如下:
在一个长方体上要挖一个孔,自然想到的是用扫描切除来做。
当然,我们更提倡用布尔运算命令而不是切除命令。其理由有三:(1)因为有了布尔操作,切除命令没有太多存在的必要,布尔操作能够实现同样功能;(2)后面将看到,扫描切除有些意外发生,而且不容易查找问题所在(后面会看到),尤其是螺旋类的扫描切除在使用某些选项时非常的缓慢,相反,使用螺旋实体来做相交切分会避免使用这个选项;(3)创建用于切除的实体创建出来更直观、实在,这样更容易观察和修改,从这个角度来说更加直观些。另外,后面也将提到,用于切除的实体比一个切除特征更容易管理。
简单地说,我们采用下面方式来做布尔运算实现切除。
创建一个欲切除形状的扫描实体,与长方体交叠。
然后用“相交”命令。命令选项中去掉不需要的实体,保留需要的实体。
这样,就实现了扫描切除完全相同的结果。其实,不难推广,任何切除命令都可以使用这样的方式建模——即创建对应切除形状的实体,使用相交命令取得切除形状,删除多余实体即得到想要的结果。而这种方式更加灵活,实现复杂切除也更加直观、容易。
一、SolidWorks“扫描切除”命令的一个坑
我们直接上一个实例来说明。为了实现下面的一个卷扬机滚筒模型,筒体上带有螺旋槽(槽型为圆弧形):
螺旋的起始和结束都有个尾巴,不能简单的用螺旋线作为扫描路径,需要在螺旋线首尾补上一段沿螺旋切线延伸的直线才能实现。有三种实现方案:
(1)用圆形截面草图扫描切除;
如上图,为了实现螺旋切除,需要创建螺旋线,为了补上延伸线,需要创建一个3D草图,把螺旋线引用到3D草图,并补上一段首尾相切的直线,以此3D草图作为路径即可实现螺旋槽切除。
(2)用一个球形实体作为工具实体轮廓进行扫描切除;
扫描切除命令第三个选项可以用一个实体去沿着路径切除,路径还是用上一方案中相同的3D草图,只是把圆形草图截面换为一个球(其实也可以用一个切线方向的圆柱也可实现)。按道理,这与上一方案的草图扫描切除不会产生结果上的差异,然而,我们却收到了下图这个不能理解的结果:
另外,如果使用过实体做扫描切除的同学,在有些时候,生成模型会特别慢,甚至会软件卡死。并且,仔细去看看帮助文档,这个命令还有诸多的限制条款。
这就促使我们去使用下一个更为通用的方案。
(3)使用扫描实体作布尔操作实现切除。
如上图,与方案(1)的扫描切除一样,采用同样的截面草图和3D草图为路径,生成一个扫描实体(注意特征生成选项中去掉“合并结果”选项,使之成为多实体模型)。然后,应用这个扫描实体与滚筒本体进行相交布尔运算,去掉多余实体得到结果。
通过这种方式我们得到了与方案(1)同样的结果。
但是,与方案(1)对比,这样做是不是多此一举?这样做的理由还是有三:(1)这样做通用性更强,抛开切除命令,只用学习相关的凸台实体造型命令,根据我们使用经验,布尔运算性能一般较高;(2)一般来说,凸台命令出错几率更小、更加稳定,进行复杂造型更直观、容易,比如说,我们要在螺旋首尾做其他的形状更容易在螺旋实体上进行做文章;(3)用于作为切割的工具实体可以放入别的文件进行单独管理,这样减少主实体文件中的特征数量,便于修改和管理。
关于上述所谓布尔操作补充一点,了解CAD和CAE历史的都知道,早期的CAD/CAE几何造型强烈依赖布尔操作;目前,很多CAE软件自带几何功能仍然以布尔操作为主要造型功能;早期的仅依赖布尔操作造型的软件中,感觉使用起来特别复杂,自从近20-30年特征造型软件的逐步流行,很多人从复杂的布尔操作中解脱出来,同时也忘记了布尔操作这个东西。SolidWorks中,“相交”和“组合”命令具有布尔操作的本质,学究点的说法,“相交”命令实际上是“交补”布尔操作——即,取得重叠部分并保留各自原有部分;进一步,通过适当设置,“相交”命令甚至可以包含“组合”命令,不过“组合”命令本身也容易使用;另外,布尔运算历史悠久,成熟稳定,其高效率的原因在于它仅计算已有几何表面即可进行,而不需要计算特征细节,下面将进一步说明。
关于扫描切除和布尔运算效率,我们也试着进一步说明。首先来说,切除操作容易出问题的原因在于容易产生零厚度几何体(有经验的使用者一定遇到过这样的警告信息),随之带来的问题就是,软件需要计算当前实体条件,这带来速度损失,带螺旋线或者复杂曲线作为路径的扫描切除尤其容易出现问题,也尤其当截面尺寸不合适,还有路径拐点过渡形状剧烈变化;而凸台实体操作,它是增材操作,不容易(甚至可以说不会)产生零厚度几何问题,软件也不需要计算当前实体条件,就算当前空间中存在几何实体,直接穿越过去就好了;而当需要进行布尔操作去切除已有实体时,这时用于切除的工具实体已经产生,是否会产生零厚度几何体,一般观察得到(以为你手里已经有一个实实在在的实体),这就是为什么我们一直强调采用相交命令来做切除操作更加简单、直观;而想象一下,一个复杂的扫描切除除非你已经成功完成,否则你看不到它的样子,而问题就是出在完成之前!这段话可能没有相关经验情况不好理解,可以尝试多去摸索实例体会。
下面,将上述的零件文件作为实体插入另外的实体详细说明之。这对于复杂零件造型以及尺寸关联特别有用。这是一个偏僻的功能,一般的教科书并没有对它进行重视。
二、SolidWorks零件中引用外部零件实体
把一个零件文件插入另一个零件文件,有些像装配,实际上也可以实现装配功能;但是如果仅仅是实现装配功能,有些画蛇添足。所以对于这个功能,很多人可能根本没有用过,有的人可能看过,却找不到恰当的应用场景。
对于我们前面案例中,采用一个实体去与另一个实体相交实现切除功能时,无论是哪一个实体,其来源均可以来自文件。而支持插入SolidWorks零件文件的文件类型如下:
以前述案例为例,我们可以把用于切除的螺旋实体作为一个工具实体保存在一个单独的文件中。如下图:
这时,我们可以从滚筒模型文件中去插入螺旋实体文件。
进入命令时,界面也类似装配中插入零部件模型的预览界面,与装配时一样,当不去视图区点选时,直接选√,插入的模型定位到默认坐标位置。其下的众多选项各个版本会有一些差异,一般不熟悉时保持默认选择。但是如果需要参数驱动功能,一定要保持草图、特征尺寸这些勾选选项。
因为我们创建螺旋实体和滚筒使用相同坐标系,所以插入后螺旋实体默认插入到它正确的位置。插入后,结果如下图:
得到的结果,其实与在本文件创建的扫描特征实体一样。上图中,导入的sweeptool零件文件在此作为一个特征(右键可编辑),导入后默认就是多实体,所以在实体列表中有它的名字。
如果插入的零件没有处于正确位置,可以进入编辑状态去作定位。需要在“定位零件”这个位置勾选选项,然后进入定位对话框,其界面与装配配合类似,其中还有直接进行坐标平移/旋转的选项——使用都很简单,这里不再详述。
接下来仍然是采用“相交”命令,生成我们需要的切除。
对于这个模型来说,这样做似乎并无特别的优势。但是,如果切除很复杂,例如,如果我们还需要对螺旋实体的首尾做不同的造型,那么去修改螺旋实体文件比在滚筒文件本身里面修改起来更容易。做过大模型的同学一定感受得到,当你创建了很多的特征,要去寻找修改某个特征更加麻烦,随着修改次数的增多,也许因为不小心点到了某个几何,意外的引用了某个几何元素,导致修改后全盘皆乱。而我们把切除的工具实体隔离到文件中,一是减少了主文件的特征数量,二是把一些出错的几率进行了隔离,就算出错也容易查找。这就是工程化的思路,对项目的规模进行适当的分解和组织,便于管理。
上面,把螺旋实体分离到单独文件中,螺旋实体除了作为切割工具并无其它用处。实际上,很容易联想到:螺旋实体文件中对尺寸进行修改,滚筒主文件中也会相应的修改。这促使我们想到,可以通过这种方式使得具有相互配合的零件之间实现尺寸关联。举一简单例,比如一个装配中,一根轴上套有一个轴套,那么轴套的孔可以引入轴作为切除工具;这样,当我们对轴的尺寸进行修改时,轴套孔相应的尺寸也会自动更新。同样道理,对于简单模型这样做无特别优势,无非就是省了几秒钟的重复修改两个零件的同一尺寸的时间;但是当存在多处关联甚至多级关联时,这样做所省的时间是可观的。
关于SolidWorks多实体的应用,感兴趣的同学可以搜索“SolidWorks多实体”以及类似关键词查找资料学习。“SolidWorks多实体”值得深入学习!