三维CAD > SolidWorks
+

solidworks二次开发(9)

2011/12/21    作者:未知    来源:网络文摘    阅读:6357

5.2.2 GB数据表导入到数据库中

solidworks二次开发
    Access的数据模型为关系数据模型,物理上体现为简单的2D数据表,而GB数据表为了简约表达数据以及数据之间的复杂关系,往往不会是简单的2D数据表。将GB数据导入到数据库中,就需要考虑到如何合理的将GB数据表拆分为简单的2D数据表,并且表达出表之间的关系。以螺柱的GB数据表导入数据库为例说明GB数据表的拆分和数据库中表的建立。

                                   solidworks二次开发

5.3
螺柱的GB数据表包括了螺柱的基本参数、螺柱的L系列和螺柱LB的关系三个部分,将这些数据导入到数据库中,就应该将它们分成三张表来存放,分别是“双头螺柱”、“螺柱L系列”、“螺柱LB关系”,如图5.35.4

solidworks二次开发
                                                  5.4

由于螺柱L系列中部分数据不要求尽可能不使用,也就是其中有括号的数据,在设计表的时候,就可以建立两个字段,分别是LLshowL字段的数据类型是单精度数字,用来参与计算和后面的驱动造型,Lshow是字符型,在用户选择时用来显示给用户看,让其了解那些是尽量不要选择的,而即使用户选择了带有括号的Lshow值,系统只要将其对应的L值读取就可以了。

对螺柱标准件长度L的选择,和对应螺纹高度B的选择,其实现代码如下:

L,Lshow从“螺柱L系列”中查询出来,条件是要满足L的值应该属于在“双头螺柱”中选定规格的螺柱的 [LminLmax] 这个区间,该区间是在前面选择螺柱规格的时候就被查询出来了的。

txtSQL = "select L,Lshow from 螺柱L系列 where L >=" & Lmin & " and L <= " & Lmax & ""

    Set rst = ExecuteSQL(txtSQL, MsgTxt)

        n = rst.RecordCount

        ReDim l(n)

        cmbl.Text = rst("Lshow").Value

        i = 0

    Do Until rst.BOF Or rst.EOF

将满足条件的Lshow值添加到下拉框cmbl中,供用户选择

         cmbl.AddItem rst("Lshow").Value

将满足条件的L值存放的数组L

         l(i) = rst("L").Value

         i = i + 1

         rst.MoveNext

    Loop

当用户选择了L后,就可以执行下面的代码,用来查询对应的B值,

Lmin,Lmax,b从“螺柱LB关系”中查询出来,条件是前面选择的螺柱规格的公称直径LZ_d txtSQL = "select Lmin,Lmax,b from 螺柱LB关系 where d = " & LZ_d & " order by b asc"

    Set rst = ExecuteSQL(txtSQL, MsgTxt)

    Do Until rst.EOF

        Lmin = rst("Lmin").Value

        Lmax = rst("Lmax").Value

如果L大于Lmax,就比较下一条。

        If LZ_l > Lmax Then

            rst.MoveNext

        Else

B的值从“螺柱LB关系”表中查询出来了

            LZ_b = rst("b").Value

            Exit Do

        End If

   上面只是以螺柱为例,简单的说明数据库的设计和建立的方法,并分析了用代码如何实现查询工作。下面将分析整个螺纹联接标准件库各类零件的数据之间的关系,以及数据表的物理结构。

5.2.3 完成全部数据的导入
    不同类型标准零件的数据表结果,部分相似,如图5.5solidworks二次开发

5.5


    螺纹联接螺栓、螺柱、螺钉、螺母和垫圈五大类零件,从外型结构上看,相互差异较大,但它们都有公称直径或是螺纹规格这个字段,因此,我们应该将所有的零件基本参数表的前两个字段创建为一致的数据类型,甚至是相同的字段名称。如此在任何零件的查询中基本上就可以使用相同的代码,这样就可以使代码可重用,提高代码的书写效率,同时也可以降低代码的调试难度,因为各个地方的代码结构一致,只要将任意一个地方的代码调试正确,其他地方代码复制就可以了,如图5.5

                          solidworks二次开发

5.6

同一类型的零件的数据表,其数据结构一致,同时还要保证它们的字段名称也一致,这样,就可以在不对代码作出任何修改的情况下,扩充数据库,如前面所谈到的在系统结构中的未来的GB数据。如图5.6

  • 相关文章
  • 热门文章
免责申明:天天CAD教程网旨在相互学习交流,是一个完全免费的网站,部分原创作品,欢迎转载,部分内容来自互联网,如果侵犯了您的权利请尽快通知我们!邮箱:qm198794@gmail.com天天CAD教程网湘ICP备17006802号
【回到顶部】