SolidWorks机械工程师网——最大的SolidWorks学习平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

好品数字
好品数字
查看: 2320|回复: 7
打印 上一主题 下一主题

基于ActiveX自定义属性插件的开发与应用(一)

  [复制链接]

12

主题

224

帖子

43

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
297
QQ
跳转到指定楼层
楼主
发表于 2011-9-13 11:07:24 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
0 引言  SolidWorks是基于Windows平台的三维机械设计软件,在国内已得到广泛使用。该软件具有全面的实体建模功能,可快速生成完整的工程图,其尺寸驱动功能使图样的修改更加方便,此外还可以进行模具设计、工程分析以及产品数据管理等。总之,SolidWorks功能强大、技术创新,且易学、易用。为了更好地使用软件,以VB为开发工具,利用SolidWorks OLE应用程序开发接口API函数,实现了SolidWorks中自定义属性插件的开发,方便了SolidWorks用户的设计工作,提高了设计效率。
  大多数工程图的标题栏中应该包括一些基本的设计信息,如零件名称、零件代号、材料以及设计者等,其中零件名称、零件代号、备注等信息还要出现在装配图的材料明细表中,这些内容若在工程图中一一进行编写和修改,其工作量大且不利于保证零件三维图与工程图设计信息的一致性。
  SolidWorks是一个全相关的机械设计软件。其三维模型文件中的设计数据,如尺寸、注释和文件属性等内容与工程图相关。因此,在处理工程图标题栏和材料明细表中的设计数据时,可以将这些内容保存在三维模型文件中,使其自动显示在工程图相应的位置上,当需要对工程图中的内容进行修改时,直接修改三维模型文件中的相应数据即可实现,这样不仅保证了设计信息的一致性,还可以提高设计效率。然而即使这样,也十分繁琐,如果能开发一个控件,与SolidWorks软件融为一体,则可以达到事半功倍的效果。
  1 Active Ocx控件的开发
  为了提高效率,以VB为开发工具,笔者开发了一个Active Ocx控件,并用SolidWorks“”操作来引用该控件,从而在SolidWorks中生成一个Properymanagerpage,并利用其中的控件添加自定义属性。程序运行界面如图1所示。
  

  图1 程序运行界面

  该程序可实现的功能如下。
  1)如果文件只有一个默认配置“Default”,则自定义属性添加在文件的“自定义”栏,如果文件有两个及以上配置,则属性根据配置不同添加在“配置特定”栏。
  2)添加的项目包括作者、序号和名称等,具体如图1所示。
  3)选择不同的配置名称,则相应属性信息显示在对应的文本框内。
  Active Ocx控件的开发步骤为:首先在VB中,新建工程,选择ActiveX控件,然后“确定”,并引用SolidWorks类和SolidWorks常数类,修改工程名称为propertymgr,并设置此项目为工程兼容,在名称栏输入“shuxing.ocx”,之后如图1所示在用户控件UserControll上添加各个控件。
  1.1获得SolidWorks对象
  获得SolidWorks对象,即获得与SolidWorks的接口,这是SolidWorksAPI最高级别的对象,可以控制SolidWorks文件的建立、打开和关闭等操作。代码如下:
  

  1.2获得文件名称与配置名称
  SolidWorks API提供了按照配置名称访问自定义属性的方法CustomInfO2(读取自定义属性的值)、DeleteCustomInfo2(删除指定的自定义属性)、AddCustomInfo3(添加自定义属性的名称和参数值),这些方法都要求指定文件的配置名称。因此为了对当前模型文件和当前配置设定自定义属性,必须首先要获得当前配置的名称,利用GetConfiguration-Names()方法可以获得当前模型文件配置的名称,并利用GetConfigurationCount()方法获得当前配置的数量。代码如下:
  

  1.3访问自定义属性
  本程序设计根据配置不同而分别添加不同的自定义属性。主要属性配置方法如下。
  1)CustomInfo:如果只有一个默认配置,将获取当前文档自定义栏中的自定义属性的值。
  

  其中,“序号”为自定义属性的名称(以下同)。
  2)DeleteCustomInfo:如果只有一个默认配置,将删除当前文档自定义栏中的自定义属性的值。
  

  3)CustomInfo2:如果有两个及以上配置,将获取当前文档指定配置的自定义属性的值。
  

  其中,configname为配置名称。
  4)DeleteCustomInfo3:如果有两个及以上配置,删除当前文档指定配置的自定义属性的值。
  

  5)AddCustomInfo3:如果有两个及以上配置,向当前文档中指定的配置添加自定义属性及值。
  

  其中,swCustomInfoNumber为自定义属性的类型;UserControl.Text2.Text为自定义属性的具体值。
  主程序代码完成后,就可以点击“文件→生成shuxing.ocx”,完成Active Ocx控件的开发。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 转播转播 分享教程|习题|模型|技巧 点赞点赞21724 拍砖拍砖4200
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复

使用道具 举报

13

主题

208

帖子

35

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
252
QQ
沙发
发表于 2011-9-13 11:34:18 | 只看该作者
谁会用vc编程控制SolidWorks装配体的旋转啊~~~跪求高人指点迷津~~~
SolidWorks机械工程师网
提示:建议使用谷歌浏览器浏览本网站!如单击这里下载!否则,可能无法下载附件文件!(支持大多数版本的谷歌浏览器,支持360和QQ浏览器的极速模式,即谷歌内核模式,使用IE和Edge浏览器,浏览个别网页以及下载文件时,会误报“***不安全”,此时需要单击“继续访问此不安全站点(不推荐)”才可以继续下载,另外,本网站不含任何不安全的文件,已联系微软公司解决,纯属IE和Edge浏览器误报)
回复 支持 反对

使用道具 举报

3

主题

445

帖子

932

金币

传奇

Rank: 8Rank: 8

积分
4866

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

板凳
发表于 2017-8-12 16:48:03 | 只看该作者
进来学习
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

3

主题

445

帖子

932

金币

传奇

Rank: 8Rank: 8

积分
4866

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

地板
发表于 2017-9-3 22:53:15 | 只看该作者
进来学习
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

69

帖子

49

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
285

最佳新人活跃会员热心会员宣传达人

5#
发表于 2017-10-21 16:28:01 | 只看该作者

   经典案例图书
进来学习进来学习
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

89

帖子

52

金币

侠客

Rank: 3Rank: 3Rank: 3

积分
347

最佳新人活跃会员热心会员宣传达人

6#
发表于 2021-5-30 19:16:08 | 只看该作者
活到老学到老!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

365

帖子

53

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1308

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

7#
发表于 2021-7-23 18:34:04 | 只看该作者

   经典案例图书
很不错,顶一下!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

0

主题

365

帖子

53

金币

长老

Rank: 6Rank: 6Rank: 6

积分
1308

最佳新人活跃会员热心会员宣传达人灌水之王突出贡献

8#
发表于 2021-10-14 17:32:03 | 只看该作者
很不错,顶一下!
SolidWorks机械工程师网
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭 卷起
关闭 卷起

SOLIDWORKS 2023 机械设计从入门到精通

手机版|小黑屋| GMT+8, 2024-7-4 11:47 , Processed in 0.179798 second(s), 41 queries .

SolidWorks机械工程师网 ( 鲁ICP备14025122号-2 ) 鲁公网安备 37028502190335号

声明:本网言论纯属发表者个人意见,与本网立场无关。
如涉版权,可发邮件: admin@swbbsc.com

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