




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.,1,第八讲AutoCAD二次开发,机械CAD软件开发实用技术教程,.,2,1概述,宏是在选择工具栏某个选项时执行特定操作的一系列命令,可以只是完成任务的按键记录,也可以是复杂的命令。,集合对象是一种预定义的对象,包括相似对象的所有实例(或是相似对象所有实例的上级对象)重要的集合对象:Documents:当前AutoCAD任务中打开的所有文档ModelSpace:模型空间中的所有图形对象Blocks:图形中所有的块Group:图形中的所有编组Layers:图形中的所有图层Linetypes:图形中的所有线型SelectionSets:图形中所有的选择集TextStyles:图形中所有的文字,.,3,1概述,大部分的集合对象都是通过Document对象访问,对于每一个集合对象,Document对象都有一个相应的特性。如:通过定义变量访问集合对象DimobjLayerAsAcadLayerDimlayerCollectionAsAcadLayersSetlayerCollection=ThisDrawing.LayersSetobjLayer=layerCollection.Add(“中心线”);objLayer.Name=“细实线”,.,4,1概述,实例SubCircles()Dimcc(0To2)AsDouble声明坐标变量cc(0)=1000定义圆心座标cc(1)=1000cc(2)=0Fori=1To1000Step10开始循环CallThisDrawing.ModelSpace.AddCircle(cc,i*10)画圆NextiEndSub,.,5,1概述,说明:SubCircles()EndSubCircles是宏的名称,也叫过程名称。Dimcc(0To2)AsDouble声明坐标变量语法:Dim变量名As数据类型DoubleIntegerLongBoolean,.,6,1概述,cc(0)=1000定义圆心座标cc(1)=1000cc(2)=0它们的作用是给CC变量的每一个元素赋值,其顺序是X、Y、Z坐标Fori=1To1000Step10开始循环Nexti结束循环i也是一个变量step后面的数值是每次循环时增加的数值,也可以用负值例如:Fori=1000To1Step-10很多情况下,后面可以不加step10如:Fori=1to100,它的作用是每循环一次i值就增加1,.,7,1概述,CallThisDrawing.ModelSpace.AddCircle(cc,i*10)Call语句的作用是调用其他过程或者方法。ThisDrawing.ModelSpace是指当前CAD文档的模型空间AddCircle是画圆方法Addcicle方法需要两个参数:圆心和半径CC就是圆心坐标,i*10就是圆的半径,本例中,这些圆的半径分别是10、110、210、310,.,8,2创建和编辑二维图形对象,1、直线类:AcadLine修改类:ModelSpaceAddLine创建,DimlineAsAcadLineSetline=ThisDrawing.ModelSpace.AddLine(startPoint,endPoint),.,9,2创建和编辑二维图形对象,DimstartPoint(0To2)AsDouble,endPoint(0To2)AsDoublestartPoint(0)=0,startPoint(1)=0,startPoint(2)=0endPoint(0)=100,endPoint(1)=100,endPoint(2)=0DimlineAsAcadLineSetline=ThisDrawing.ModelSpace.AddLine(startPoint,endPoint)修改直线的起点startPoint(1)=100line.startPoint=startPoint,.,10,2创建和编辑二维图形对象,说明:Dima,basDoubleDimaasDouble,basDouble,.,11,2创建和编辑二维图形对象,2圆和圆弧方法:AddCircle和AddArcAddCircle(圆心,半径)AddArc(圆心,半径,起始和终值角)AddCircle(centerPoint,radius)AddArc(centerPoint,radius,startAngle,endAngle),.,12,2创建和编辑二维图形对象,3、多线段可包含多个直线或圆弧段,特别适合表示一些连续的线类:AcadLWPolyline方法:AddLightWeightPolyline常用属性:ConstantWidth:修改整条多段线的宽度SetWidth:修改多段线某一直线或圆弧段的起点、终点宽度Length:返回整条多段线的长度Coordinate:返回多段线某个顶点的坐标Coordinates:返回多段线所有顶点的坐标数组,.,13,2创建和编辑二维图形对象,实例:绘制正弦曲线Subsinl()Dimp(0To719)AsDouble定义点坐标Fori=0To718Step2开始画多段线p(i)=i*2*3.1415926535897/360横坐标p(i+1)=2*Sin(p(i)纵坐标NextiThisDrawing.ModelSpace.AddLightWeightPolyline(p)画多段线ZoomExtents显示整个图形EndSub,.,14,2创建和编辑二维图形对象,4、文字单行文字和多行文字单行文字:基本的图形对象,仅能由文字样式来控制多行文字:由指定了文字样式的单行文字组成,通过Explode命令可以分解为单行文字创建单行文字:方法:AddText参数:文字字符串、插入点和文字的高度创建多行文字:方法:AddMText参数:文字字符串、插入点、文字的高度,.,15,2创建和编辑二维图形对象,实例:创建文字Subtxt()DimmytxtAsAcadTextStyle定义mytxt变量为文本样式Dimp(0To2)AsDouble定义坐标变量p(0)=100:p(1)=100:p(2)=0坐标赋值Setmytxt=ThisDrawing.TextStyles.Add(mytxt)添加mytxt样式mytxt.fontFile=c:windowsfontssimfang.ttf设置字体文件为仿宋体mytxt.Height=100字高mytxt.Width=0.8宽高比mytxt.ObliqueAngle=ThisDrawing.Utility.AngleToReal(3,0)倾斜角度(需转为弧度),.,16,2创建和编辑二维图形对象,ThisDrawing.ActiveTextStyle=mytxt将当前文字样式设置为mytxtSettxtobj=ThisDrawing.ModelSpace.AddMText(p,1400,做到老,学到老P&此心自光明正大,过人远矣)txtobj.LineSpacingFactor=2指定行间距txtobj.AttachmentPoint=3右对齐(1为左对齐,2为居中)EndSub,.,17,2创建和编辑二维图形对象,5、填充根据一组闭合的曲线作为边界创建各种填充对象方法:AddHatch基本步骤:1)创建一个Hatch对象2)指定外部环(闭合曲线)3)指定内部环4)执行Evaluate方法计算和显示填充对象,.,18,2创建和编辑二维图形对象,创建填充对象DimhatchasAcadHatchSethatch=ThisDrawing.ModelSpace.AddHatch(pattenType,pattenName,associativity,acHatchObject)添加填充外边界Hatch.AppenOuterLoopentsHatch.EvaluateThisDrawing.RegenTrue刷新图形SetAddHatch=hatch,.,19,2创建和编辑二维图形对象,6、尺寸标注基本类型:线性标注、半径标注、角度标注线性标注包括对齐标注、转角标注和坐标标注基本方法:AddDim3PointAngular:使用三个点创建角度标注AddDimAligned:创建对齐标注AddDimAngular:标注圆、圆弧或两条直线的夹角AddDimArc:标注弧长AddDimDiametric:标注直径AddDimOrdinate:创建点的坐标标注AddDimRadial:标注半径AddDimRotated:创建转角标注,.,20,创建对齐标注DimobjDimAsAcadDimAlignedSetobjDim=ThisDrawing.ModelSpace.AddDimAligned(ExtLine1Point,ExtLine2Point,textPostion)创建转角标注DimobjDimAsAcadDimRotatedSetobjDim=ThisDrawing.ModelSpace.AddDimRotated(ExtLine1Point,ExtLine2Point,dimLinePostion,rotationAngle)*.AddDimRadial(centerPoint,angle,radius),.,21,2创建和编辑二维图形对象,7、用户交互基本函数:GetAngle:提示用户输入一个角度值GetDistance:提示用户输入一段距离GetEntity:提示用户拾取一个实体GetInteger:提示用户输入一个整数GetPoint:提示用户输入一个点GetReal:提示用户输入一个实数GetString:提示用户输入一个字符串Prompt:在命令窗口打印一个字符串,.,22,DimangleAsDoubleangle=ThisDrawing.Utility.GetAngle(,vbNewLine&输入一个角度:)ThisDrawing.Utility.PromptvbNewLine&用户输入的角度是:&angleDimdistanceAsDoubledistance=ThisDrawing.Utility.GetDistance(,vbNewLine&输入距离:)DimpointAsVariantpoint=ThisDrawing.Utility.GetPoint(,vbNewLine&拾取点:),.,23,3对象特性,图层、颜色、线型和线宽等特性的总称1、图层基本操作:新建、删除、打开和关闭位置:Document对象的Layers集合中1)新建图层ThisDrawing.Layers.Add(name)2)图层编辑利用Item方法访问DimlayerAsAcadLayerSetlayer=ThisDrawing.Layers.Item(name)3)打开图层layer.LayerOn=True,.,24,3对象特性,4)关闭图层layer.LayerOn=False5)删除图层layer.Delete6)设定图层为当前图层ThisDrawing.ActiveLayer=ThisDrawing.Layers.Item(name),.,25,3对象特性,操作实例:1、这条语句可以建立图层:ThisDrawing.Layers.Add(新建图层)在括号中填写图层的名称。2、设置为当前的图层ThisDrawing.ActiveLayer=图层对象注意,等号右边的变量不能用图层名称,必须使用一个有效的图层变量以下一些属性在图层比较常用:LayerOn打开关闭Freeze冻结Lock锁定Color颜色Linetype线型,.,26,2.3对象特性,图层函数操作:PublicFunctionNewLayer(ByValnameAsString,ByVallayerAsAcadLayer)AsBooleanIfHasLayer(name)ThenNewLayer=FalseSetlayer=NothingElseSetlayer=ThisDrawing.Layers.Add(name)NewLayer=TrueEndIfEndFunction,.,27,3对象特性,PublicFunctionHasLayer(ByValnameAsString)DimlayerAsAcadLayerForEachlayerInThisDrawing.LayersIfStrComp(,name,vbTextCompare)=0ThenHasLayer=TrueExitFunctionEndIfNextlayerHasLayer=FalseEndFunction,.,28,3对象特性,PublicFunctionDeleteLayer(ByValnameAsString)Debug.Assert(HasLayer(name)DimlayerAsAcadLayerSetlayer=ThisDrawing.Layouts.Item(name)OnErrorResumeNextlayer.DeleteIfErrThenDeleteLayer=FalseElseDeleteLayer=TrueEndIfEndFunction,.,29,3对象特性,Public
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025福建厦门夏商集团有限公司招聘2人考前自测高频考点模拟试题(含答案详解)
- 2025福建福州市仓山区卫健系统招聘编内31人模拟试卷及答案详解(名校卷)
- 2025贵州传媒职业学院第十三届贵州人才博览会引才1人模拟试卷及答案详解(新)
- 2025海南陵水黎族自治县中医院(陵水黎族自治县中医院医共体总院)考核招聘(第二批)员额人员模拟试卷及参考答案详解一套
- “百万英才汇南粤”2025年佛山市高明区公开招聘中小学教师(第四场)考前自测高频考点模拟试题及答案详解(网校专用)
- 2025江苏苏州高新区通安镇退管协管员招聘2人模拟试卷及答案详解(考点梳理)
- 2025呼伦贝尔五九煤炭集团招聘26人模拟试卷附答案详解(黄金题型)
- 第四单元第二课《活灵活现》 教学设计- 人教版(2024)初中美术七年级上册
- 2025年河北雄安新区新建片区学校公开选聘校长及骨干教师13人考前自测高频考点模拟试题及答案详解(易错题)
- 2025年河北沧州任丘园区产业发展集团有限公司招聘工作人员10名考前自测高频考点模拟试题及完整答案详解1套
- 2025年邮储银行招聘笔试试题及答案(可下载)
- 《麻醉机和呼吸机用呼吸管路产品注册技术审查指导原则》
- 跨境交易信用风险传导路径-洞察阐释
- 公司管理层奖惩管理制度
- 2025年核电池项目分析及研究报告
- 兰新线N857次旅客列车神突重大事故30课件
- 拼箱货海运出口流程操作指南
- 《光学性质中的手性光学异构》课件
- 儿童青少年肥胖食养指南(2024年)解读
- 2025年辅警招聘考试试题库及答案(全优)
- GB/T 14478-2025大中型水轮机进水阀门基本技术规范
评论
0/150
提交评论