Python初学者8号 发表于 2021-2-23 23:00:18

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。
                                                       
               

Python初学者8号 发表于 2021-2-23 23:01:59

问题不好解决,但是我还是挺有耐心的,说实话挺累的,我也要注意身体,注意腰背问题,不要过度劳累,还有的就是定时定闹钟,半个小时起来活动两三分钟,并且总结这会儿做的东西然后计划下一步干什么,避免长期做事情脑子糊涂{:10_266:}

Python初学者8号 发表于 2021-2-23 23:03:35

看看这几个网站
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

Python初学者8号 发表于 2021-2-23 23:05:07

还记得octave吗?哈哈,别忘了{:10_258:}
页: [1]
查看完整版本: 2021-02-23