利用AutoCAD的VBA组件进行包装结构自动设计教程

2016-03-18 15:42 86 1 收藏

今天天气好晴朗处处好风光,好天气好开始,图老师又来和大家分享啦。下面给大家推荐利用AutoCAD的VBA组件进行包装结构自动设计教程,希望大家看完后也有个好心情,快快行动吧!

【 tulaoshi.com - autocad教程 】

  包装CAD 的图形分平面装潢与外观造型、包装结构工程图形(如生产工艺单)2 大类。平面装潢通过Photoshop、Illustrator、CorelDRAW、Freehand 等实现,包装造型部分通过3DMax、Rhino、Maya、Pro / E、UG 等实现;包装结构工程图形设计既可以运用Pro / E、UG、AutoCAD 等软件直接设计绘制,也可以利用一定的平台二次开发实现自动设计生成。目前,国内外也涌现出一批优秀的包装设计专业软件,如packdesign2000、方正包装3. 0。

  利用通用的图形图像设计软件直接设计效率不高,而专业软件不可能适应所有的企业,而且这些软件都很昂贵。针对包装容器的生产加工,如何寻找一种有效的途径,既满足不同企业个性化需求,又能缩短设计周期、大大降低人力、物力成本,提高设计效率,是许多(图老师整理)企业渴望实现的。当然,平面装潢设计包含了太多艺术成分,具有太多的可变性,难以用程序实现,因此,本文将讨论不同包装企业,以AuotCAD 为平台,如何方便的实现包装容器结构工程图形的自动设计生成。

  1 AutoCAD 系统二次开发概述

  AutoCAD 系统的二次开发指由既熟悉专业产品设计又掌握计算机应用技术的人员在AutoCAD 平台上开发出针对某类产品的专业CAD 应用软件。二次开发实现图形设计及自动生成是对CAD 软件更高层次的运用。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/autocad/)

  AutoCAD 是AUTODESK 公司推出的基于微机的当今世界应用最为广泛的CAD 系统,采用开放式体系和良好的二次开发环境,许多机械、电子、建筑行业的专业软件都是在其基础上二次开发得到的。AutoCAD 先后提供了Autolisp / Visuallisp、ADS / ARX、VBA 这3 种主要的开发工具。从目前的应用看,Autolisp 是最初的开发手段,已被Visuallisp 取代;ADS 将逐步被功能强大的ARX 所取代;VBA 则成为AutoCAD 用户二次开发的另一支生产军。AutoCAD 提供的几种开发工具各有千秋,让各类开发者都能有适合于自己的开发工具。

  从AutoCAD R14 开始,VBA 就成为AutoCAD 标准的嵌入组件。VBA 起着一种接口作用,把微软推出的VB 开发工具的强大开发功能与AutoCAD 丰富的图形对象有机结合起来,形成强大的工程图形二次开发功能。VBA 组件基于可视化、面向对象开发工具VB,其开发环境与VB 集成开发环境相近,但较Autolisp / Visuallisp、ADS / ARX 等开发工具,更能快捷、方便地实现友好的人机交互,功能强大、扩展灵活且开发简单,易于实现。

  当然,要实现包装结构自动设计系统的二次开发,不论用哪种开发工具,都必须在参数化和图形库与功能构素库技术上下功夫,只有这样系统才能真正高效。本文以一种折叠纸盒为例,介绍利用AutoCAD 的VBA 组件进行二次开发实现工程图自动生成的解决方法及具体实现。

  2 Auto CAD 内嵌的VBA 组件实现包装结构图形自动设计解决方案

  图1 为包装结构图形自动设计解决方案,分为开发阶段和应用阶段。开发阶段主要是从专业设计入手,分析图形( 由于本文例程图形简单,故省掉该环节)、划分功能构素、参数化、编写dvb 程序;应用阶段通过前期设计提供的数据,同时将dvb程序自动加载,然后直接执行实现自动设计生成。下面是具体的实现过程。

图1 包装结构图形自动设计解决方案

  3 功能构素划分

  所谓功能构素就是构成完整包装容器的功能部位结构元素,所有功能构素的集合则构成功能构素库[。功能构素解决构成完整结构的不同功能部位,在每个部位都有多种结构供选择情况下,各个功能部位结构任意组合问题,使得用很少的局部功能结构元素的参数化设计( 即很小的功能构素库),就可以高效的得到很多种结构组合,以满足用户需求,而不必每种结构都设计。各种具体的包装结构将从功能构素库中调用构素组合而成,实现构素的复用。

  一种折叠纸盒的展开图见图2,将其划分盒盖、盒体、盒底 3 部分功能构素。

  4 参数化功能构素

  参数化设计,就是在给定结构形式的条件下,依据一定的参数,自动生成相应的设计。参数绘图则是通过输入设计的主要参数,对标准图样进行变量代换,实现参数化绘图,最后生成符合设计要求的图形。这种方法的优点是能够和设计模块连接起来,自动出图,实现真正的计算机辅助设计,从而极大地提高设计效率。参数化设计是新一代CAD 技术的基本特征,是实现设计过程自动化的有效手段之一,它不仅使CAD 系统具有交互式绘图功能,还具有自动绘图功能。

图2 功能构素划分

  对包装行业,许多包装容器还没有进行标准化、系列化和通用化分类,包装容器作为特殊的产品,必须容装各种随机尺寸、形状的产品,其结构是千变万化的,但是,总可以按一定形式分类,对出现的所有结构按照分类实现参数化,对未出现的新结构可以寻找相似的结构加以修改,逐渐积累。

  对各种纸盒,尤其是常见的六面体盒形,以折叠纸盒为例:一旦其长、宽,高,纸的厚度等尺寸给出,盒形的各部件的尺寸及位置,就可以用盒形的这几个参数来确定,通过修改这几个参数就可以得到不同大小的盒形,当出现用现有几个参数不能表达的新结构,可以根据需要增加参数,这是包装纸盒系统的参数化设计。

  分别令长、宽、高为:L、B、H;插舌和粘贴边为:可kcs、kjt。

  如图2 所示,对盒盖功能构素标点1 - 15 点,以盒盖的第1 点为坐标原点,水平方向为x 轴,竖直方向为y 轴建立坐标系,则所有坐标点被参数化为含L、B、H、kcs、kjt 相关的表达式。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/autocad/)

  5 编写功能构素绘图程序

  5. 1 建立交互界面

  在AutoCAD 命令行执行vbaide 命令打开VBA 集成开发环境,该环境与VB 的开发环境接近。将设计、运行、调试集成,以Thisdrawing 文档组织,根据需要添加模块、实现人机交互的窗体等对象,以dvb 文件保存工程所有信息。右键点击工程,在快捷菜单中选添加,选择窗体命令,即可

12下一页

来源:http://www.tulaoshi.com/n/20160318/1887900.html

延伸阅读
1.对于进程内组件,可以利用windows系统提供的Regsrv32.exe. 比如运行:RegSrv32 d:\com.dll (RegSrv32运行时调用com.dll的引出函数DLLR egisterServer,真正注册的是在DLLRegisterServer中实现) 如果要反注册,可以用:RegSrv32 /u d:\com.dll(此时调用DLLUnregSrvServer函数) 2.对于进程外组件,因为它是可执行文件,不能...
标签: autocad教程
先画一组下图抛物线。 下面是源码: Sub mtulaoShi.comyl() Dim p(0 To 49) As Double '定义点坐标 Dim myl As Object '定义引用曲线对象变量 co = 15 '定义颜色 For a = 0.01 To 1 Step 0.02 '开始循环画抛物线   For i = -24 To 24 Step 2 '开始画多段线     j = i + 24  '确定数组元...
标签: autocad教程
    随着计算机技术的飞速发展,AutoCAD无疑已成为机械工程技术人员的主要绘图工具,它的使用大大提高了作图效率。但是在每次正式绘图开始之前,都要对一些必不可少的参数进行设置,这使设计人员感到繁琐而费时。为了进一步提高绘图效率,减少不必要的时间浪费,轻轻松松进行作图,我们可以利用AutoCAD2002创建一个自己的机械样...
标签: 电脑入门
通过以下的VBA代码,将其放到工作表的双击事件中,就能取到双击工作表的列标题(双击列的名字),当前列自动进行排序。 比如,将代码放在如下的事件中: Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub 代码如下: Dim YouRg As Range If Target.Column = Me.Cells (1,1).CurrentRegion.Columns.Count And Target...
利用LoadRunner进行http接口功能自动化测试 自动化测试脚本设计总体流程如下图: 需要取得的输入应预先制作了CSV文件,关在脚本参数配置中定义变量。 自动化测试程序关键代码 1、生成结果文件(html格式),文件名称为 test _系统时间(%Y%m%d%H%M%S)_虚拟用户编号,并写入测试结果文件的html开始标识 CODE: //...

经验教程

506

收藏

77
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部