找回密码 注册 QQ登录
一站式解决方案

iCAx开思网

CAD/CAM/CAE/设计/模具 高清视频【积分说明】如何快速获得积分?快速3D打印 手板模型CNC加工服务在线3D打印服务,上传模型,自动报价
查看: 2441|回复: 3
打印 上一主题 下一主题

[求助] 实体分割

[复制链接]
跳转到指定楼层
1
发表于 2018-6-13 09:24:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
求助各位大神,如图所示的图像,怎么用分割的方法将框中的特征分割开来,并且保留,需要注意的是整个数模是STP转化过来的,不能通过删除特征树特征的方式删除。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 赞一下!赞一下!
2
发表于 2018-6-13 13:13:33 | 只看该作者
本文为微信公众号:“CATIA那点事儿”原创

常用的做法如下:
将目标实体复制一个副本(As Result)
用曲面切目标实体,保留A侧
用曲面切副本实体,保留B侧
通过以上的步骤,我们即可达到切割实体保留双侧的目的。

上述操作可通过VBScript代码实现

Sub CATMain()
Dim Doc, Prt, SF, Slct, BodyO, BodyN
Set Doc = CATIA.ActiveDocument
Set Prt = Doc.Part
Set SF = Prt.ShapeFactory
Set Slct = Doc.Selection

Dim Status, lType(1)
lType(0) = "Body"
lType(1) = "Body"

Status = Slct.SelectElement2(lType, "Select the body to be split", True)'这里是让用户选择目标实体
If Status = "Redo" Or Status = "Undo" Or Status = "Cancel" Then
    Exit Sub
End If
Set BodyO = Slct.Item(1).Value'获取用户选择的实体
Slct.Clear

lType(0) = "Plane"
lType(1) = "BiDim"
Status = Slct.SelectElement2(lType, "Select the split surface", False)'让用户选择切割元素(或者叫刀更形象)
If Status = "Redo" Or Status = "Undo" Or Status = "Cancel" Then
    Exit Sub
End If

Dim Ref
Set Ref = Slct.Item(1).Value'获取用户选择的“刀”

Slct.Clear
Slct.Add BodyO
Slct.Copy
Slct.Clear
Slct.Add Prt
Slct.PasteSpecial ("CATPrtResultWithOutLink")'上面这波是复制目标实体,然后以As Result的方式粘贴一个副本实体出来

Set BodyN = Slct.Item(1).Value
BodyN.Name = BodyO.Name & "_1"'副本实体的命名在源实体的名字基础上加个“_1”

Slct.Clear

Prt.InWorkObject = BodyO

Dim Split
Set Split = SF.AddNewSplit(Ref, catPositiveSide)'这波是切原实体,保留A侧

Prt.InWorkObject = BodyN
Set Split = SF.AddNewSplit(Ref, catNegativeSide)'这波是切副本实体,保留另一侧

Prt.Update
End Sub
3
发表于 2018-6-13 14:49:30 | 只看该作者
分割一下就好,保留两侧实体
4
发表于 2018-9-5 09:06:18 | 只看该作者
没有用过,谢谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3D打印手板模型快速制作服务,在线报价下单!

QQ 咨询|手机版|联系我们|iCAx开思网  

GMT+8, 2024-12-23 06:54 , Processed in 0.022682 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表