- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【必威体育精装版精选】浅论换热器管板管孔布算法
浅论换热器圆形管板布管算法
基于AutoCAD的VBA的算法例程
内容摘要:本文介绍了AutoCAD的VBA的一个算法例程。 关键词:AutoCADAutoCAD的VBA。这样,布管的成果可以直接应用到图纸中去。
现今的计算机工业设计软件已经有了许多用于布管的程序,并且大型的设计系统也包括有布管的部分。但对于只需要布管运算的低端应用,在AutoCAD上的扩展程序并不多见。现有的扩展程序在绘制图形时都会自动生成相应的线形图层。这不仅使得图层繁复,打印容易出错,而且每个人都有自己的图层使用习惯,程序生成的图形可能会与使用者的原图纸图样显得格格不入。基于这样现状,我决定按照自己的算法写一个例程。这个例程不创建新的图层,而是由使用者来选择已有的图层进行图样的绘制。
程序所使用的术语
中心孔位置:最接近布管圆圆心的管孔的横向位置,分为跨中和居中两种。
中心管纵向间距:由垂直直径分开的管孔间距,如果为0,则表示垂直直径上可以布管。
中心管横向间距:由水平直径分开的管孔间距,如果为0,则表示水平直径上可以布管。
目标平台的选择
对于直接在AutoCAD上进行的二次开发,其所使用的语言有AutoLisp和VBA之分。AutoLisp是AutoDesk公司自家开发的语言,比VBA更接近AutoCAD系统AutoCAD的功能。但VBA也有自己的优势,它的数据种类多于VBA语言对对话框设计能力Private Sub UserForm_Initialize()
相应的初始化
排布方式.Clear
排布方式.AddItem 三角排列, 0
排布方式.AddItem 正方排列, 1
排布方式.ListIndex = 0
中心孔位置.Clear
中心孔位置.AddItem 跨中, 0
中心孔位置.AddItem 居中, 1
中心孔位置.ListIndex = 0
Dim i As Integer
中心线图层.Clear
轮廓线图层.Clear
For i = 0 To ThisDrawing.Layers.Count - 1
中心线图层.AddItem ThisDrawing.Layers.Item(i).Name, i
轮廓线图层.AddItem ThisDrawing.Layers.Item(i).Name, i
Next
End Sub
通过对ThisDrawing.Layers属性的操作,可以得到当前AutoCAD图形的图层设置信息,并将此信息(图层的名字)添加到下拉列表框中。当改变下拉列表框的选择后,就可以使用如下代码对图层进行选择:
ThisDrawing.ActiveLayer = ThisDrawing.Layers.Item(中心线图层.ListIndex)
当使用者填入所有信息后,就可以单击“开始绘图”按钮进行图样的绘制,当绘制完成后,布管的数量将会在窗口界面左下的信息框里显示出来(未布管前显示:待排管)。
在整个布管及绘制图样的流程中,主要有这四个主要步骤:
1.)进行数据检查
对用户输入的数据进行合法性和合理性的检查,比如输入的数据均需为正,且管间距需大于管孔直径、布管圆直径需大于管孔直径等等。如果数据不正确或不合理将提醒用户进行改进。
此处也可以根据相关标准对数据进行检查,比如根据GB151,管间距推荐为管孔直径的1.25倍等。
2.)定义相应数据结构
Type FPoint
X as double
Y as double
End type
Dim number As Integer ’记录管孔数量的变量
Dim 纵向最大管数 As Integer
Dim 横向最大管数 As Integer
If 排布方式.ListIndex = 0 Then
三角排布
纵向最大管数 = CInt((CDbl(布管圆直径.Text) / 2 – CDbl(_
中心管纵向间距.Text) / 2) / ((CDbl(管间距.Text)) / 2_
)* Tan(Pi / 3))
Else
正方排布
纵向最大管数 = CInt((CDbl(布管圆直径.Text) / 2 - CDbl(_
中心管纵向间距.Text) / 2) / CDbl(管间距.Text))
End If
横向最大管数 = CInt((CDbl(布管圆直径.Text) / 2 - CDbl(中心管横向间距.Text) / 2) / CDbl(管间距.Text))
ReDim 管孔位置(0 To 纵向最大管数 - 1, 0 To 横向最大管数 - 1) As FPoint
ReDim 管孔存在(0 To 纵向最大管数 - 1, 0 To 横向最大管数 - 1) As Boolean
首先定义的是点的数据类型(FPoint),然后根据排管方式确定最
您可能关注的文档
- 【doc】填料塔泛点/压降模型计算比较.doc
- 【doc】地理信息系统与遥感在城市和农业土地利用规划中的应用综述.doc
- 【doc】PICC置管患者导管断裂的护理干预.doc
- 【doc】MIDAS-CIVIL软件在深水基础钢板桩围堰分析中的应用.doc
- 《外国美术简史》名词解释--考研必备.doc
- 【豆丁精品】2007-2008学年度淄博市沂源县第一学期期中考试 语文试卷.doc
- 不动产为什么要登记——以1949年之后中国土地登记为例的历史考察_法学理论论文.doc
- 【精品文献】基于PLC的PID温度智能控制系统的研究.doc
- 【必威体育精装版精选】嘉定区青少年活动中心(2015年——2015年)五年发展规划.doc
- 【必威体育精装版】关于领导干部下基层的体会与思考(投稿).doc
- 吉安县公开招聘专职文明实践员笔试备考试题及答案解析.docx
- 2025重庆枫叶国际学校招聘教师笔试备考试题及答案解析.docx
- 游机队电玩自制联网教程-tplink.pdf
- 2025重庆新华出版集团招聘1人笔试模拟试题及答案解析.docx
- 2025宜宾高新丽雅城市产业发展有限公司公开招聘笔试模拟试题及答案解析.docx
- 2025云南保山市龙陵县勐糯镇人民政府招聘合同制专职消防员1人笔试模拟试题及答案解析.docx
- 11.1生活中常见的盐 九年级化学人教版下册.pptx
- 6.1法律保护下的婚姻 高二政治《法律与生活》课件(统编版选择性必修2)(新版).pptx
- 文昌市中小学教师校园招聘29人笔试模拟试题及答案解析.docx
- 10.1.5 常见的酸和碱(第5课时)课件-九年级化学人教版下册.pptx
最近下载
- 国家通用语言文字赋能民族地区乡村振兴路径——以劳动就业权保障为视角.pdf VIP
- 福建省龙岩市2024-2025学年高一上学期期末地理试题(含答案).pdf VIP
- 净身出户的离婚协议书必威体育精装版的范文7篇.docx
- 民族地区国家通用语言文字的推广普及路径优化研究-来源:发展教育学(第2022003期)-世界科学出版有限公司.pdf VIP
- 光储充一体化超级充电站项目可行性研究报告模板-备案拿地.doc
- 电气事故案例集锦.doc
- 部编版三年级下册语文教材解读.pptx VIP
- 大学物理电子教案-波动光学.doc
- 2024届辽宁省名校联盟高三一模模拟(调研卷)物理试题(四)(含答案.pdf VIP
- 二年级下册《道德与法治》教材分析.pdf VIP
文档评论(0)