下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上Cad画二次抛物线如y=ax2+bx+c 第一步 确认cad中有VBA module如果没有请下载,即CAD中“工具”“宏”“visual basic编辑器”,点thisdrawing第二步 打开cadalt+F11打开VBA窗口添加模块复制以下 Sub pwx() '定义几个点 Dim pntO(2) As Double Dim pntA(2) As Double Dim pntB(2) As Double Dim pntC(2) As Double Dim pntD(2) As DoubleDim pntE(2) As Double '设抛物线方程
2、为:y=ax²+bx+c Dim a As Double Dim b As Double Dim c As Double '设抛物线的宽度为l Dim l As Double Dim p As Double Dim Co As Acad3DSolid Dim Se AsAcadRegion Dim Pa As Acad3DFace Dim PntAsAcadPoint Dim Sp() As AcadObject a = InputBox("请输入y=a*x*x+b*x+c中对应的a:", "抛物线方程参数") If a = 0 The
3、n MsgBox "a=0, 不是抛物线": End b = InputBox("请输入y=a*x*x+b*x+c中对应的b:", "抛物线方程参数") c = InputBox("请输入y=a*x*x+b*x+c中对应的c:", "抛物线方程参数") l = InputBox("请输入所要画的抛物线宽度l:", "抛物线宽度") l = l / 2 '计算x²=2py中的p p = 1 / Abs(a) '定义O点 pntO(0
4、) = 0 pntO(1) = 0 pntO(2) = 0 '定义A点 pntA(0) = 0 pntA(1) = 0 pntA(2) = l * Sqr(3) / 2 '画圆锥 Set Co = ThisDrawing.ModelSpace.AddCone(pntO, l, l * Sqr(3) '移动圆锥,使底部圆在xy平面上 Co.MovepntO, pntA If l > p / 2 Then '定义A点 pntA(0) = 0 pntA(1) = p / 2 pntA(2) = (l - p / 2) * Sqr(3) '定义B点 pnt
5、B(0) = 0 pntB(1) = -l + p pntB(2) = 0 '定义C点 pntC(0) = 1 pntC(1) = -l + p pntC(2) = 0 '画剥面线 Set Se = Co.SectionSolid(pntA, pntB, pntC) '剥面线旋转到xy平面 Se.Rotate3D pntB, pntC, -60 * 4 * Atn(1) / 180'定义D点 pntD(0) = 0 pntD(1) = -l pntD(2) = 0 '定义E点 pntE(0) = 1 pntE(1) = 0 pntE(2) = 0
6、9;移动剥面线,使顶点在(0,0,0)位置 Se.MovepntO, pntD '当a>0时,翻转曲线 If a > 0 Then Se.Rotate3D pntO, pntE, 180 * 4 * Atn(1) / 180 '重新设E点 pntE(0) = -b / (2 * a) pntE(1) = (4 * a * c - b 2) / (4 * a) pntE(2) = 0 '移抛物线 Se.MovepntO, pntE '炸开剥面线 Sp = Se.Explode '删除辅助内容 Co.Delete Se.Delete Sp(1).
7、Delete Else MsgBox "输入的l太小,不适合剥圆锥" End If End Sub 第三步 菜单栏里点击运行命令输入参数abc以及抛物线宽度即可得到 一次出差到一个项目工地去,看到他们对着电脑上设计单位给的CAD图在一个点一个点的的找坐标值.方法是用鼠标点上一个点,记下(X,Y)后再输到EXCEL中,怕一个人出错,得两个人来操作. 后来有人发现了一个好办法,说不用笔来记(X,Y)了,直接用复制和粘贴的办法来做,这确实是一大进步呀.我问他们这一晚上能找多少点呀, 回答说做不了多少还老出错. 我说这样吧我给你编一个小程序用吧. 一晚过后第二天他们拿程序一用都说真
8、是省大劲了,又准又快呀.在CAD中 选 工具-宏-visual basic编辑器, 点thisdrawing 把下面的程序写进去, 然后点运行即可.Attribute VB_Name = "模块1"Sub abc()Dim x, y As DoubleDim ReturnPoint As VariantDim i As IntegerDim high As SingleDim Ptext, Fname As StringDim textObj As AcadTextDim pointObj As AcadPointDim layerObj As AcadLayerx = 0
9、: y = 0: i = 1: high = 9Fname = InputBox("选取结束时,请回到第一点!请给出文件名。")If Fname = "" Then Fname = "PointsDate"Fname = "c:abc" & Fname & ".txt"Set layerObj = ThisDrawing.Layers.Add("PointsData")ReturnPoint = ThisDrawing.Utility.GetPointPtex
10、t = i & ":(" & Round(ReturnPoint(0), 2) & "," & Round(ReturnPoint(1), 2) & ")"Set textObj = ThisDrawing.ModelSpace.AddText(Ptext, ReturnPoint, high)Set pointObj = ThisDrawing.ModelSpace.AddPoint(ReturnPoint)pointObj.Layer = "PointsData"textObj.Layer = "PointsData"pointObj.color = acRedOpen Fname For Output As
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度年福建省高校教师资格证之高等教育学自我检测试卷B卷附答案
- 2024年度山西省高校教师资格证之高等教育心理学题库综合试卷A卷附答案
- 2024年婴幼儿保育技能大赛试题
- 交通安全主题班会设计7篇
- 2024民间借款协议争议起诉状范例
- 2024年资产评估师聘用协议范本
- 医保培训工作总结
- 2024年城市绿化带建设承包协议细则
- 2024年建筑行业工人聘用协议样本
- 2024年度某公司股权投资协议文件
- GB 21258-2024燃煤发电机组单位产品能源消耗限额
- 手术室急危重患者的抢救与配合
- 1.1公有制为主体多种所有制经济共同发展课件-高中政治统编版必修二经济与社会
- 完整2024年国有企业管理人员处分条例专题课件
- 国开电大本科工程数学(本)在线形考(形成性考核作业4)试题及答案
- 机器视觉课件
- 最新阳性与阴性症状量表说明(精品课件)
- (2021年整理)房屋安全动态监测技术方案
- 江苏金茂源年产10万吨乙醛项目监测报告(定稿)
- 第二章 精气神与生命 优质课件
- 陆羽泉罐装茶营销策划书
评论
0/150
提交评论