python参数化建模加工图_一种五十七刻面圆明亮琢型宝石的Python参数化自动建模方法与流程...

本发明涉及一种计算机语言建模方法,更具体地说,是一种五十七刻面圆明亮琢型宝石的Python参数化自动建模方法。

背景技术:

:圆明亮琢型宝石,又称标准明亮式琢型宝石,是目前市场上宝石使用最多的款式。标准的圆明亮琢型宝石由冠部和亭部组成,在宝石加工过程中,通常先是用计算机建模,再进行加工,最后测算产成品的相关参数。现有技术中,传统的圆明亮钻石建模需要使用Pro/E等专业的3D建模软件,其中会用到以下具体参数:腰围直径(D,单位:mm)、上腰面倾角(β′,单位:°)、冠角(β,单位:°)、台面宽度(a,单位:mm)或台宽比(M,单位:%)、腰棱厚度(BMIN,单位:mm)、下腰刻面倾角(ρ′,单位:°)以及亭角(ρ,单位:°)。建模具体步骤如下:(1)根据圆明亮琢型宝石腰围直径(D)的尺寸大小选择合适“加工余量”建立圆柱坯;(2)按顺序依次用鼠标操作在圆柱坯“切割”出圆明亮琢型宝石的冠部各个刻面;(3)按顺序依次用鼠标操作在圆柱坯“切割”出圆明亮琢型宝石的亭部各个刻面;上述传统建模方法要求操作者熟练掌握这些软件的使用。目前有一种在此之上改良的方法:一种圆明亮琢型宝石的Pro/Engineer软件快速建模的方法,其发明者弱化了圆明亮钻石3D建模过程中对Pro/E技术的依赖,仅需要在Pro/E中输入相应参数即可,但仍然不能摆脱Pro/E,特别是受到Pro/E中预设模型的制约。本发明则在此基础上更进一步,完全脱离了对Pro/E等专业软件的依赖,操作人员运行本专利中用Python计算机语言开发的软件,输入几个参数即可获得3D模型和切割比例。进一步简化了操作,可随意调整参数生成相应的钻石模型,极大地提高了宝石琢形建模的工作效率。同时该发明还可以将钻石模型存储为OBJ格式文件,方便操作者进一步调用。技术实现要素:本发明的目的在于提供一种五十七刻面圆明亮琢型宝石的Python参数化自动建模方法,利用该方法,在本发明开发的软件中输入一些参数后,能够快速自动构建出3D宝石模型,得到切割比例。本发明采用的技术方案如下:一种五十七刻面圆明亮琢型宝石的Python参数化自动建模方法,包括以下建模步骤:(1)使用Python计算机语言构建三维空间直角坐标系,定义五十七刻面圆明亮琢型宝石底面为原点,定义八个参数。根据人为提供的八个参数数值使用数学公式推导五十七刻面圆明亮琢型宝石上四十一个顶点的三维坐标;(2)在Python计算机语言中给八个参数赋值,实现五十七刻面圆明亮琢型宝石上四十一个顶点的三维坐标的全自动计算;(3)使用Python计算机语言用步骤(2)中四十一个顶点自动生成圆明亮琢型宝石的五十七个刻面并输出钻石三维模型图;(4)使用Python计算机语言将步骤(2)中计算出的四十一个顶点的三维坐标和步骤(3)中生成的五十七个刻面自动输出为OBJ文件格式;(5)步骤(4)中生成的OBJ文件可被调入众多3D模型绘制软件,例如3DMAX、MAYA、Pro/E等根据需要做进一步处理;(6)使用Python计算机语言,依据步骤(2)中输入的八个参数值计算出GIA证书上的六个切割比例。在步骤(1)中所定义的八个参数依次为:(1)下腰面顶角的点连线形成的正八边形的高度(n);(2)下腰面顶角的点连线形成的正八边形的对角线长度的一半(m);(3)腰部正十六边形的高度(q);(4)腰部正十六边形的对角线长度的一半(r);(5)台面与腰面之间的垂直距离(p);(6)星刻面顶角的点连线形成的正八边形的对角线长度的一半(z);(7)台面与星刻面顶角的点连线形成的正八边形的垂直距离(s);(8)台面的对角线长度的一半(t);注:台面的高度为:(p+q),星刻面顶角的点连线形成的正八边形的高度为:(p+q-s)。在步骤(2)中所述的四十一个顶点的三维坐标分别为:(1)(2)(3)(4)(5);(6)(7)(8)(9)F(0,z,p+q-s);(10)F1(0,-z,p+q-s);(11)G(z,0,p+q-s);(12)G1(-z,0,p+q-s);(13)(14)(15)(16)(17)I(0,r,q);(18)I1(0,-r,q);(19)J(r,0,q);(20)J1(-r,0,q);(21)(22)(23)(24)(25)(26)(27)(28)(29)(30)(31)(32)(33)N(0,m,n);(34)N1(0,-m,n);(35)(36)(37)(38)(39)P(m,0,n);(40)P1(-m,0,n);(41)Q(0,0,0)。在步骤(6)中所述的六个切割比例为:(1)台宽比=t/r;(2)全深比=(p+q)/(2*r);(3)冠角=arctan(p/(r-t));(4)亭角=arctan(q/r);(5)冠高比=p/(2*r);(6)亭深比=q/(2*r)。与现有的技术相比,本发明具有的优势为:本发明是一种五十七刻面圆明亮琢型宝石的Python参数化自动建模方法,完全脱离了Pro/E等专业3D绘图软件的使用,操作人员运行本专利中用Python计算机语言开发的软件,输入几个参数即可获得3D模型和切割比例。这进一步提升了操作的便利性和减小了操作难度。同时该发明还可以将钻石模型存储为OBJ格式文件,方便操作者进一步调用。附图说明图1是使用本发明方法建立的宝石3D模型示意图。图2、3、4是本发明中所描述的八个参数几何意义示意图。图5、6是本发明方法中所述的四十一个顶点位置示意图。具体实施方式下面结合具体实施方式,对本发明的技术方案作进一步的详细说明,但不构成对本发明的任何限制。一种五十七刻面圆明亮琢型宝石的Python参数化自动建模方法,包括以下建模步骤:(1)构建三维空间直角坐标系,定义五十七刻面圆明亮琢型宝石底面为原点,定义八个参数,根据人为提供的八个参数数值使用数学公式推导五十七刻面圆明亮琢型宝石上四十一个顶点的三维坐标;定义的八个参数分别是:(1)下腰面顶角的点连线形成的正八边形的高度(n);(2)下腰面顶角的点连线形成的正八边形的对角线长度的一半(m);(3)腰部正十六边形的高度(q);(4)腰部正十六边形的对角线长度的一半(r);(5)台面与腰面之间的垂直距离(p);(6)星刻面顶角的点连线形成的正八边形的对角线长度的一半(z);(7)台面与星刻面顶角的点连线形成的正八边形的垂直距离(s);(8)台面的对角线长度的一半(t);注:台面的高度为:(p+q),星刻面顶角的点连线形成的正八边形的高度为:(p+q-s)。(2)在Python计算机语言中给八个参数赋值,实现五十七刻面圆明亮琢型宝石上四十一个顶点的三维坐标的全自动计算,四十一个顶点的三维坐标的计算公式是:(1)(2)(3)(4)(5)(6)(7)(8)(9)F(0,z,p+q-s);(10)F1(0,-z,p+q-s);(11)G(z,0,p+q-s);(12)G1(-z,0,p+q-s);(13)(14)(15)(16)(17)I(0,r,q);(18)I1(0,-r,q);(19)J(r,0,q);(20)J1(-r,0,q);(21)(22)(23)(24)(25)(26)(27)(28)(29)(30)(31)(32)(33)N(0,m,n);(34)N1(0,-m,n);(35)(36)(37)(38)(39)P(m,0,n);(40)P1(-m,0,n);(41)Q(0,0,0)。(3)使用Python计算机语言用步骤(2)中四十一个顶点自动生成圆明亮琢型宝石的五十七个刻面并输出钻石三维模型图;(4)使用Python计算机语言将步骤(2)中计算出的四十一个顶点的三维坐标和步骤(3)中生成的五十七个刻面自动输出为OBJ文件格式;(5)步骤(4)中生成的OBJ文件可被调入众多3D模型绘制软件,例如3DMAX、MAYA、Pro/E等根据需要做进一步处理;(6)使用Python计算机语言,依据步骤(2)中输入的八个参数值计算出GIA证书上的六个切割比例。计算所得的六个切割比例为:(1)台宽比=t/r;(2)全深比=(p+q)/(2*r);(3)冠角=arctan(p/(r-t));(4)亭角=arctan(q/r);(5)冠高比=p/(2*r);(6)亭深比=q/(2*r)。为了使本发明的目的、操作步骤及优点更加清楚明白,以下结合附图及建模实施案例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实例仅仅用以解释本发明,并不用于限定本发明。按照如下数值输入八个参数:名称数值符号下腰面顶角的点连线形成的正八边形的高度0.18n下腰面顶角的点连线形成的正八边形的对角线长度的一半0.18m腰部正十六边形的高度0.6q腰部正十六边形的对角线长度的一半0.55r台面与腰面之间的垂直距离0.32p星刻面顶角的点连线形成的正八边形的对角线长度的一半0.45z台面与星刻面顶角的点连线形成的正八边形的垂直距离0.12s台面的对角线长度的一半0.3t获得的四十一个顶点坐标为:输出的OBJ格式文件内容为:v0.1148050.3000000.920000v-0.1148050.3000000.920000v-0.114805-0.3000000.920000v0.114805-0.3000000.920000v0.3000000.1148050.920000v-0.3000000.1148050.920000v-0.300000-0.1148050.920000v0.300000-0.1148050.920000v00.4500000.800000v0-0.4500000.800000v0.45000000.800000v-0.45000000.800000v0.3181980.3181980.800000v-0.3181980.3181980.800000v-0.318198-0.3181980.800000v0.318198-0.3181980.800000v00.5500000.600000v0-0.5500000.600000v0.55000000.600000v-0.55000000.600000v0.2104760.5081340.600000v-0.2104760.5081340.600000v-0.210476-0.5081340.600000v0.210476-0.5081340.600000v0.3889090.3889090.600000v-0.3889090.3889090.600000v-0.388909-0.3889090.600000v0.388909-0.3889090.600000v0.5081340.2104760.600000v-0.5081340.2104760.600000v-0.508134-0.2104760.600000v0.508134-0.2104760.600000v00.1800000.180000v0-0.1800000.180000v0.1272790.1272790.180000v-0.1272790.1272790.180000v-0.127279-0.1272790.180000v0.127279-0.1272790.180000v0.18000000.180000v-0.18000000.180000v000f26734851f192f5131f8115f4168f1043f1537f1276f6214f113219f1129135f8163211f1641024f1031523f1571231f1261430f221429f21179f252113f292513f192911f321911f283216f242816f182410f231810f152723f312715f122031f302012f142630f222614f91722f41332135f35293941f41393238f41382434f41342337f41373140f41403036f41362233f331721f212535f252935f392919f391932f383228f382824f241834f341823f232737f273137f312040f402030f302636f362622f221733计算所得的六个切割比例为:(1)台宽比0.5454545454545454;(2)全深比0.8363636363636362;(3)冠角52.00126755749533;(4)亭角47.489552921999156;(5)冠高比0.2909090909090909;(6)亭深比0.5454545454545454。操作人员运行本专利中用Python计算机语言开发的软件,输入八个参数即可获得3D模型和切割比例,操作简单易行。同时该发明还可以将钻石模型存储为OBJ格式文件,方便操作者进一步调用。以上所述仅为本发明的一个实施例,凡在本发明的精神和原则范围内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页1&nbsp2&nbsp3&nbsp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以给你一个简单的示例,使用PyCAD库来做参数出CAD。 首先你需要安装PyCAD库,可以使用pip来安装: ``` pip install pycad ``` 接下来,我们可以用PyCAD来创一个简单的CAD,这里以创一个长方形为例: ```python from pycad import * class Rectangle(Component): def __init__(self, width, height): self.width = width self.height = height def draw(self): self.add(Polyline([(0, 0), (self.width, 0), (self.width, self.height), (0, self.height), (0, 0)])) ``` 上述代码中,我们定义了一个Rectangle类,它包含了长和宽两个参数。在`draw`函数中,我们使用`Polyline`来创一个长方形。 接下来,我们可以使用这个Rectangle类来创一个CAD形: ```python from pycad import * def create_cad(width, height): rect = Rectangle(width, height) doc = Document() doc.add(rect) doc.save("rectangle.dxf") create_cad(10, 20) ``` 上述代码中,我们调用`create_cad`函数来创一个长宽分别为10和20的长方形,并将其保存为DXF文件。 现在,我们可以将上述代码改为支持参数。我们可以将长和宽作为函数参数传入,然后使用这些参数来定义长方形的大小: ```python from pycad import * def create_cad(width, height): rect = Rectangle(width, height) doc = Document() doc.add(rect) doc.save(f"rectangle_{width}x{height}.dxf") create_cad(10, 20) create_cad(20, 30) ``` 上述代码中,我们将长和宽作为函数参数传入,然后使用这些参数来定义长方形的大小。我们还将保存的文件名命名为`rectangle_{width}x{height}.dxf`,这样可以方便地区分不同参数下的CAD形。 这就是一个简单的使用PyCAD库进行参数的示例。你可以根据自己的需要进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值