2021-02-23
今天起来比较晚,都是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是一个Brep)!= 0 判断是不是失败了
如果失败:那么刚刚的cylinder仍然存在,因此需要删除之 ------>deleteObject(guid)
如果成功:那么box和cylinder也存在,所以需要删除这两个-----> deleteObject(list)
box的guid和Brep <<<<dif
程序一共这两大步骤,现在看来没啥问题,明天早上再看看这个算法是否有误。
技术关键点:检查使用别人的布尔函数为什么会出现多余的box。
问题不好解决,但是我还是挺有耐心的,说实话挺累的,我也要注意身体,注意腰背问题,不要过度劳累,还有的就是定时定闹钟,半个小时起来活动两三分钟,并且总结这会儿做的东西然后计划下一步干什么,避免长期做事情脑子糊涂{:10_266:} 看看这几个网站
https://www.sohu.com/a/298893355_654105
https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=80035161_1_dg&wd=%E7%8A%80%E7%89%9B%20python%20%E7%89%A9%E4%BB%B6id&fenlei=256&rsv_pq=b5bbea940000022e&rsv_t=d355ycKhWL4LRDW78EiO9t09Oq7RxAXjlXtywbnmVSKC4HTGITeisbfSa45XWDB5zmiXJw&rqlang=cn&rsv_enter=1&rsv_dl=ib&rsv_sug3=33&rsv_sug1=31&rsv_sug7=101
https://www.bilibili.com/read/cv8695661
还记得octave吗?哈哈,别忘了{:10_258:}
页:
[1]