找回密码 注册 QQ登录
开思网工业级高精度在线3D打印服务

iCAx开思网

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

[求助] catia宏求助

[复制链接]
跳转到指定楼层
1
发表于 2017-7-12 18:24:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如上附件是CATIA点转为球的宏,请教下如何编辑才能让其只转化piont而不是所有的点线面体等全部转化为球?另外这个宏只能在part下用,如何编辑才能在任何环境下用?




本帖子中包含更多资源

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

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 赞一下!赞一下!
2
发表于 2017-7-14 09:42:10 | 只看该作者
每个piont都有相应的名字,如果你没有自己特意命名应该命名规则为piont1、piont2...那么你要哪个点转化成圆就得指定点的名字,这样才能精确的达到效果;另外宏在任何环境下需要进行一个Product和part环境判断,也就是不管前面是多少个装配,我最后作用到的是part,那么你就得具有一定的VB编程基础了。如果你是完全没基础的,这点功能对你来说还是挺困难的。
3
发表于 2017-7-14 09:44:14 | 只看该作者
另外,直接贴源码出来就行了,搞个附件还要下载
4
发表于 2017-7-25 10:09:53 | 只看该作者
Sub catmain()

Dim iSelection

Set iSelection = CATIA.ActiveDocument.Selection

Dim iStatus, iType(0)

iType(0) = "HybridBody"

iStatus = iSelection.SelectElement2(iType, "Please select the Geometrical Set with center points", False)

If iStatus = "Redo" Or iStatus = "Undo" Or iStatus = "Cancel" Then
   
     Exit Sub
   
End If

Dim iName, iHB, sHB

iName = iSelection.Item(1).Value.Name

Set iHB = CATIA.ActiveDocument.Part.HybridBodies.Item(iName)

Set sHB = CATIA.ActiveDocument.Part.HybridBodies.Item(iName)


Dim iHSF, iPoint, iSphere, iRadius

iRadius = InputBox("Please input joint radius", "Joints Creation Tool", 10)

Set iHSF = CATIA.ActiveDocument.Part.HybridShapeFactory

For Each iPoint In iHB.HybridShapes
   
    Set iSphere = iHSF.AddNewSphere(iPoint, Nothing, iRadius, -90, 90, -180, 180)

    iSphere.Limitation = 1

    sHB.AppendHybridShape iSphere

    iSphere.Name = iPoint.Name & "_Joint"
   
Next

iSelection.Clear

CATIA.ActiveDocument.Part.Update

  End Sub


补充一下宏,请大神指导~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

GMT+8, 2025-1-3 18:26 , Processed in 0.020276 second(s), 11 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2025 www.iCAx.org

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