鱼C论坛

 找回密码
 立即注册
查看: 2616|回复: 3

[技术交流] 2021-02-23

[复制链接]
发表于 2021-2-23 23:00:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

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

x
今天起来比较晚,都是11点了,然后在宿舍搞了一下这个建模,,但是没太大的进展。

中饭吃了以后去看了电动车,13点10开始继续搞,一口气搞到了18点,然后完胜19点30开始一口气感到了21点30分

进展:
1.初步完成一次一次式的布尔算法,
2.对于建模的方法有了初步的认知:
首先使用Rhin.Geometry中的方法(如Cylinder)进行生成一个模型,但是这只是内存中的数据,(有的)还需要使用ToBrep(),或者还有的直接使用calss.Brep()得到Brep
然后就是,Brep是重要的建模数据,其表达了建模基本信息。布尔运算就是针对Brep对象操作的。
获取Brep方法就是在建模中就直接得到,目前box函数和cylinder函数都是直接得到Brep对象,差集函数似乎出现了点问题
获取对象的方法:使用FirstObject方法得到一个id,这个我用来删除。

总结建模的思路:
1.box生成,得到Brep和guid
2.开始迭代:
                生成一个cylinder,获取其Brep和guid
                进行差集运算  -----> boolean(box)
                判断:条件 ------>   dif(其元素dif[0]是一个Brep)!= 0       判断是不是失败了
                                        如果失败:那么刚刚的cylinder仍然存在,因此需要删除之 ------>deleteObject(guid)
                                        如果成功:那么box和cylinder也存在,所以需要删除这两个-----> deleteObject(list[guid])
                                                        box的guid和Brep   <<<<  dif[0]

程序一共这两大步骤,现在看来没啥问题,明天早上再看看这个算法是否有误。
技术关键点:检查使用别人的布尔函数为什么会出现多余的box。
                                                       
               
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-2-23 23:01:59 | 显示全部楼层
问题不好解决,但是我还是挺有耐心的,说实话挺累的,我也要注意身体,注意腰背问题,不要过度劳累,还有的就是定时定闹钟,半个小时起来活动两三分钟,并且总结这会儿做的东西然后计划下一步干什么,避免长期做事情脑子糊涂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-23 23:03:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-23 23:05:07 | 显示全部楼层
还记得octave吗?哈哈,别忘了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 12:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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