这个是修剪脚本怎么用

5
回复
3452
查看
打印 上一主题 下一主题
[复制链接]

微信扫一扫 分享朋友圈

签到天数: 745 天

连续签到: 1 天

[LV.9]论坛支柱

1
发表于 2017-2-8 02:17:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
这个是修剪
3점을 입력하면 그 점을 기준으로 하는 평면으로 오브젝트를 잘라주는 스크립트입니다.

점을 입력할때 클릭하는 방향에 따라 생셩되는 평면의 Normal방향이 달라져 잘려나가는 부분이 바뀌게 됩니다.







Option Explicit
'2008.12.10
'Script by sac3@rhinos.co.kr

CutSolid
Sub CutSolid ()

Dim arrObjects, arrPoints, arrVector1, arrVector2, arrBD, strCut

arrObjects = Rhino.GetObjects ("Select Solids to Cut",8+16,vbTrue,vbTrue)
  If IsNull(arrObjects) Then Exit Sub

arrPoints = Rhino.GetPoints (True, False , "Pick 3 Points",, 3 )
  If IsNull(arrPoints) Then Exit Sub
  If UBound(arrPoints) <2 Then Exit Sub

  Rhino.EnableRedraw False

  arrVector1= Rhino.VectorCreate (arrPoints(0), arrPoints(1) )
  arrVector2= Rhino.VectorCreate (arrPoints(0), arrPoints(2) )
  strCut = Rhino.AddCutPlane (arrObjects, arrPoints(0), arrPoints(1) , arrVector2)
  arrBD = Rhino.BooleanDifference (arrObjects, Array(strCut) )
  
  If IsArray(arrBD) Then
      Rhino.ShrinkTrimmedSurface arrBD(0)  
       Rhino.SelectObjects arrBD
    Else
      Rhino.DeleteObject strCut
      Rhino.Print "Failed to Cut"
  End If

Rhino.EnableRedraw True

End Sub




참고로 평면들이 서로 겹친 부분들이 있는 경우 BooleanUnion을 하고나면, 그 부분이 면이 나눠져 있게되는데 그 부분을 하나의 면으로 합쳐주기 위해서는 MergeAllFaces 커맨드를 사용하면 됩니다.
동영상에서는 두 커맨드를 macro를 이용하여 한번에 실행되도록 해둔것입니다.

! _BooleanUnion pause
_SetRedrawOff _SelLast
_MergeAllFaces _SelNone
_SetRedrawOn


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏
收藏1
支持
支持0
反对
反对0
订阅 Rhino 最新资讯
回复

使用道具 举报

签到天数: 192 天

连续签到: 1 天

[LV.7]亲友会员

2
发表于 2017-2-8 21:53:20 | 只看该作者
在实体上选3个点来修剪

1.jpg (28 KB, 下载次数: 33)

1.jpg
回复 支持 反对

使用道具 举报

签到天数: 745 天

连续签到: 1 天

[LV.9]论坛支柱

3
 楼主| 发表于 2017-2-8 23:29:32 | 只看该作者
我用过了很好用
回复 支持 反对

使用道具 举报

该用户从未签到

4
发表于 2017-2-16 10:05:46 | 只看该作者
不错哦
回复

使用道具 举报

该用户从未签到

5
发表于 2017-2-16 10:18:25 | 只看该作者
93714292 发表于 2017-2-8 21:53
在实体上选3个点来修剪

导入脚本有错误,不知道大神怎么弄得
回复 支持 反对

使用道具 举报

签到天数: 192 天

连续签到: 1 天

[LV.7]亲友会员

6
发表于 2017-2-20 15:19:36 | 只看该作者
什么错误提示,?你发个图才能帮到你。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

15927211580

周一至周五 9:30-18:00

武汉市武昌区中山路380号201

  • 关注微信公众号

  • 微信咨询客服号

QQ- Archiver- 鄂ICP备12016959号   充值M币 |勋章中心 | ( 鄂ICP备12016959号 )

Powered by Discuz!X3.2© 2001-2013 Comsenz Inc.

金融信息行业协会理事单位 | 信息服务业行业协会会员单位 | 网络信贷服务业企业联盟单位