




已阅读5页,还剩70页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
6地形图图式符号库,线型填充图案形和字体,数字测图软件的地形图图式符号库,是以国家标准图式为依据的图形数据库。库的功能首先是各种地物符号的绘制,其次是这些符号的组织、检索、管理和应用,此外还必须提供对符号库本身进行增加、删除、修改等操作的维护功能,以满足不同专业用户的需求。,对于不同的比例尺,图式中有不同的规定,这种不同可以体现在符号的类型图案以及依何种比例尺等方面。在一个完善的图式符号库中,应包括不同比例尺的符号。除了国家标准外,在铁路、电力等行业还制定有各自的部门标准,它们主要是针对专业特点作了若干补充,同时也可能带来符号分类体系的变化。随着测绘事业的发展,图式本身也存在更新的问题。所有这些都要求数字化成图软件的图式符号库能适应不同应用条件的变化,应具有更新和调整功能。,1图式符号库的设计,数字测图软件的图式符号库的设计方法应与其图形系统的实现方法相一致。对于具有独立图形系统的数字测图软件来说,符号库的设计有两种方法:沿用通用的CAD图形软件的符号库系统,并实现与之兼容的应用程序;根据自己的图形数据结构和图形应用平台,开发专门的符号库结构和实现方法。,各种地形符号首先可分为三大类。点状线状面状,1图式符号库的设计,只有一个定位点,对应一个固定的、不依比例尺而变化的图形符号。根据朝向的不同,点状符号又可分为垂直于南图廓和按真实方向描绘两类。,(1)点状符号,其特点是符号依据定位线绘制。根据线划构成的复杂程度,线状符号又分为:比较简单的(简单线型),如简易公路、等级公路的边等;比较复杂的(复杂线型),如行树、围墙、高压电力线等。,(2)线状符号,(3)面状符号,其定位线要求构成封闭的区域,称为面状符号。根据区域内填充的不同,又可分成线填充方式(如特种房屋)及点填充方式(如草地、树林),2AutoCAD图式符号库的建立,基于AutoCAD二次开发的测图软件,一般都考虑在AutoCAD系统中利用AutoCAD提供用户定义的图块(BLOCK)和填充(HATCH)图案的功能建立图式符号库。,AutoCAD中的图形元素称为实体,图块是若干实体的集合,并被赋予一个名称。该集合本身也成为一个实体,可作为一个整体进行诸如插入、拷贝、移动、删除等操作。图块定义有一个插入点,即定位点。,(1)图块建立,例如制作三角点符号,在AutoCAD用Pline按照图式规定的大小绘制3mm边长的正三角形,用Point在三角形中心绘制一点,并设置为基点。用地形图图式编号“311”为文件名,存入符号库指定的目录中,这样就完成了三角点符号的制作。用类似的方法制作其它符号。下图为图式符号库中制作的部分常用地形图图式符号。,类似于围墙的地形图图式属于线形符号,例如栏栅、铁路、土堤、斜坡等,以及房屋、台阶等非线形符号均可以设计成相应的自定义图形函数。为方便一系列自定义函数的调用,一般设计成下拉式菜单,点击后自动调用。对于个别函数可在AutoCAD命令行用“load”命令加载:(load“路经、函数名”),然后按函数名调用。,(2)线型定制,AutoCAD提供了标准的填充模式库,也允许建立用户自己的填充模式库,因而能够为阵列式的面状符号(例如果园、竹林、草坪等)建库。,(3)符号填充,AutoCAD的二次开发技术,线型的开发与定制图案的开发与定制菜单的开发与定制AutoLisp二次开发,线型及线型文件,系统提供一些标准线型,由ACAD.LIN库文件定义。系统提供标准线型文件有两个,acadiso.lin用于公制图形,acad.lin则用于英制图形。标准线型分通用线型、ISO线型和复杂线型三类型。简单线型:包括通用线型和ISO标准线型,它是由实线段、点和空线段组成的。复杂线型:除了包含简单线型的结构外,还包含了“形”和“文本”的定义。,1)线型定制,线型库文件定义了24种通用线型和14种标准线型。通用线型24种通用线型分为8类,每类有3种结构形式。分别用不同的实、空线段长度来区分。线型名分为“类名”、“类名2”和“类名X2”,基本形式,如BORDER基本形式比例的0.5倍,如BORDER2基本形式比例的2倍,如BORDERX2。,1.简单线型,通用线型*BORDER,Border_._._._._.A,12.7,-6.35,12.7,-6.35,0,-6.35*BORDER2,Border(.5x)_._._._._._._._._._.A,6.35,-3.175,6.35,-3.175,0,-3.175*BORDERX2,Border(2x)_._.A,25.4,-12.7,25.4,-12.7,0,-12.7*CENTER,Center_A,31.75,-6.35,6.35,-6.35*CENTER2,Center(.5x)_A,19.05,-3.175,3.175,-3.175*CENTERX2,Center(2x)_A,63.5,-12.7,12.7,-12.7,标准线型14种ISO线型,是按ISO128(ISO/DIS12011)标准设定,线的宽度均为1mm。,*ACAD_ISO02W100,ISOdash_A,12,-3*ACAD_ISO03W100,ISOdashspace_A,12,-18*ACAD_ISO04W100,ISOlong-dashdot_._.A,24,-3,0,-3*ACAD_ISO05W100,ISOlong-dashdouble-dot_.A,24,-3,0,-3,0,-3*ACAD_ISO07W100,ISOdot.A,0,-3,2复杂线型系统提供7种复杂线型。复杂线型除具有简单线型的结构之外,还在线型之间夹杂有文字或特定的图形符号。,*FENCELINE1,Fencelinecircle-0-0-0A,6.35,-2.54,CIRC,ltypeshp.shx,x=-2.54,s=2.54,-2.54,25.4*FENCELINE2,Fencelinesquare-A,6.35,-2.54,BOX,ltypeshp.shx,x=-2.54,s=2.54,-2.54,25.4*TRACKS,Tracks-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-A,3.81,TRACK1,ltypeshp.shx,s=6.35,3.81*BATTING,BattingSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSA,.00254,-2.54,BAT,ltypeshp.shx,x=-2.54,s=2.54,-5.08,BAT,ltypeshp.shx,r=180,x=2.54,s=2.54,-2.54,3CAD线型文件的格式线型文件是一种ASCII码文件,一个线型文件可以定义多种线型。每一种线型的定义在线型文件中占两行。第一行称为标题行格式为:*线型名,线型说明*:标记符不能省略,线型名:由多个符号组成,符号为字母、数字、特殊符号和空格等。标记符和线型名之间不允许有空格。线型说明:可省略项,用文字说明或用符号表示;若省略线型说明,线型名后面不加逗号;线型说明部分长度不能超过47个字符。,定义简单线型标题行:*线型名,线型说明描述行:对齐方式码,dish1,dish2,dashn对齐方式码:定义线型的对齐方式,目前只有一种对齐方式,即两端对齐方式,用A表示。dish1,dish2,dashn:指组成线型结构线段的长度。其中dish0画一段长度为dish的实线段dish=0画一个圆点dish0时和当前线段方向相同,n40时于该方向相同,n50ThenMsgBox选择集中对象数目:&ssetObj.countForEachobInssetObjob.color=acMagentaNextEndIfEndSub,7、栅格图像RasterSubInsertRaster()DimaAsAcadRasterImageDimb(2)AsDoubleDimlyAsAcadLayerDimPicFileNameAsStringDimfactorAsDoublefactor=2#Setly=ThisDrawing.Application.ActiveDocument.Layers.Add(底图)PicFileName=E:图片Bliss.jpgb(0)=100b(1)=100b(2)=0Seta=ThisDrawing.Application.ActiveDocument.ModelSpace.AddRaster(PicFileName,b,factor,45)a.Transparency=Truea.Layer=底图ThisDrawing.Application.ZoomExtentsThisDrawing.SaveAsE:yangbiao.dwgEndSub,8、计算面积*计算面积*SubCh3_CalculateDefinedArea()Dimp1AsVariant,p2AsVariant,p3AsVariant,p4AsVariant,p5AsVariant从用户处取得点p1=ThisDrawing.Utility.getpoint(,vbCrLf&第一个点:)p2=ThisDrawing.Utility.getpoint(p1,vbCrLf&第二个点:)p3=ThisDrawing.Utility.getpoint(p2,vbCrLf&第三个点:)p4=ThisDrawing.Utility.getpoint(p3,vbCrLf&第四个点:)p5=ThisDrawing.Utility.getpoint(p4,vbCrLf&第五个点:)由这些点创建二维多段线DimpolyObjAsAcadLWPolylineDimvertices(0To9)AsDoublevertices(0)=p1(0):vertices(1)=p1(1)vertices(2)=p2(0):vertices(3)=p2(1)vertices(4)=p3(0):vertices(5)=p3(1)vertices(6)=p4(0):vertices(7)=p4(1)vertices(8)=p5(0):vertices(9)=p5(1)SetpolyObj=ThisDrawing.ModelSpace.AddLightWeightPolyline_(vertices)polyObj.Closed=TrueThisDrawing.Application.ZoomAll显示多段线的面积MsgBox通过定义的点形成的面积为&_polyObj.Area,计算定义的面积EndSub,9、加载菜单加载菜单SubMenuAutocad()DimacMenuGroupAsAcadMenuGroupForEachacMenuGroupInThisDrawing.Application.MenuGroupsacMenuGroup.UnloadNextSetacMenuGroup=ThisDrawing.Application.MenuGroups.Load(acad.mnc,True)EndSub,10、增加菜单按钮和创建菜单按钮SubCreateMenuFirst2()SetacApp=ThisDrawing.ApplicationDimacMenuAsAcadPopupMenuDimacMenuItemAsAcadPopupMenuItemDimNewacMenuAsAcadPopupMenuItemSetacMenu=acApp.MenuGroups(0).Menus(文件(&F)SetacMenuItem=acMenu.AddMenuItem(0,杨彪,._OPEN)SetacMenuItem=acMenu.AddMenuItem(0,杨彪4,-vbarunshowpic2)SetacMenu=ThisDrawing.Application.MenuGroups(0).Menus.Add(杨彪111)SetacMenuItem=acMenu.AddMenuItem(0,放大,.Z1.5XP)SetacMenuItem=acMenu.AddMenuItem(1,缩小,.Z0.7XP)SetacMenuItem=acMenu.AddMenuItem(2,全景显示,.ZA)SetacMenuItem=acMenu.AddMenuItem(3,最大显示,.ZE)SetacMenuItem=acMenu.AddMenuItem(4,鸟瞰,._DISVIEWER)SetacMenuItem=acMenu.AddMenuItem(5,移动,.PAN)acMenu.InsertInMenuBar10acApp.MenuGroups(0).SaveAsd:MyMenu.mnu,1EndSub,增加工具栏按钮和创建工具栏SubCreateToolFirst()SetacApp=ThisDrawing.ApplicationDimacToolbarAsAcadToolbarDimacToolbarItemAsAcadToolbarItemDimToolbarItemAsAcadToolbarItemOnErrorResumeNextSetacToolbar=ThisDrawing.Application.MenuGroups(0).Toolbars(常用)SetToolbarItem=acToolbar.AddToolbarButton(0,杨彪22,help1,._OPEN)CallToolbarItem.SetBitmaps(E:图标1.ico,E:图标2.ico)SetToolbarItem=acToolbar.AddToolbarButton(0,杨彪124,help2,-vbarunshowpic2)SetacToolbar=ThisDrawing.Application.MenuGroups(0).Toolbars.Add(杨彪1111)SetToolbarItem=acToolbar.AddToolbarButton(0,放大,help3,.Z1.5XP)CallToolbarItem.SetBitmaps(E:图标3.ico,E:图标3.ico)SetToolbarItem=acToolbar.AddToolbarButton(1,缩小,help4,.Z0.7XP)CallToolbarItem.SetBitmaps(E:图标4.bmp,E:图标4.bmp)SetToolbarItem=acToolbar.AddToolbarButton(2,全景显示,help5,.ZA)SetToolbarItem=acToolbar.AddToolbarButton(3,最大显示,help6,.layer)CallToolbarItem.SetBitmaps(E:图标5.ico,E:图标5.ico)acToolbar.Visible=TrueacApp.MenuGroups(0).SaveAsd:mymenu.mnu,1EndSub,11、加载线型加载线型的子程序SubMLoadLineTypes()DimBL0AsBoolean,IAsInteger,ILenAsInteger,Str1AsString,StrLineAsStringDIMStrLinAsStringStrLin=ThisDrawing.Application.Path+Support+DZBL.linIfDir(StrLin)=ThenMsgBox没有找到线型文件+StrLin+不能进行操作,vbInformation,错误EndEndIfOpenStrLinForInputAs#1DoWhileNotEOF(1)LineInput#1,StrLineStrLine=Trim(StrLine&):ILen=Len(StrLine)IfILen1ThenStr1=Mid(StrLine,1,1)IfStr1=*ThenForI=1ToILenIfMid(StrLine,I,1)=,ThenExitForNextStrLine=Mid(StrLine,2,I-2)BL0=FalseCallLineTypeExist(StrLine,BL0)IfNotBL0ThenThisDrawing.Linetypes.LoadStrLine,StrLin线型不存在则加载EndIf:EndIfLoopClose#1EndSub,12、文件File*File*SubMyfile()DimStrFilenameAsStringStrFilename=C:DocumentsandSettingsyb.LH桌面drawing2.dwgThisDrawing.Application.Documents.OpenStrFilenameForI=0ToThisDrawing.Application.Documents.count-1MsgBoxThisDrawing.Application.Documents(I).NameNextThisDrawing.Application.Documents(Drawing5.dwg).Activate注意大小写ThisDrawing.Application.Documents(Drawing2.dwg).SaveThisDrawing.Application.Documents(Drawing2.dwg).SaveAsd:drawing2.dwgThisDrawing.Application.Documents(drawing2.dwg).CloseEndSub,13、控制命令输入窗口SendCommand*SubMySendCommand()ThisDrawing.SendCommandChr(13)回车ThisDrawing.SendCommandChr(32)空格ThisDrawing.SendCommandChr(27)ESCThisDrawing.SendCommandChr(27)+ZEThisDrawing.SendCommand_lineThisDrawing.SendCommand_panEndSub,14、三维绘图Subyb3DMap()Dimpt(2)AsDouble,zAsDoubleDimboxAsAcad3DSolidpt(0)=500pt(1)=500pt(2)=-5Setbox=ThisDrawing.ModelSpace.AddBox(pt,1500,1500,10)box.color=acYellowForI=1To200pt(0)=Rnd*1000pt(1)=Rnd*1000z=Int(Rnd*300)+50pt(2)=z/2#Setbox=ThisDrawing.ModelSpace.AddBox(pt,Abs(Rnd*100)+20,Abs(Rnd*100)+20,z)box.color=Int(Rnd*100)NextZoomAllThisDrawing.SendCommand-view_seisoThisDrawing.SendCommandChr(27)ThisDrawing.SendCommand_3dcorbitEndSub,3DMeshSubExample_Add3DMesh()Thisexamplecreatesa4X4polygonmeshinmodelspace.DimmeshObjAsAcadPolygonMeshDimmSize,nSize,countAsIntegerDimpoints(0To47)AsDoubleCreatethematrixofpointspoints(0)=0:points(1)=0:points(2)=0:points(3)=2:points(4)=0:points(5)=1points(6)=4:points(7)=0:points(8)=0:points(9)=6:points(10)=0:points(11)=1points(12)=0:points(13)=2:points(14)=0:points(15)=2:points(16)=2:points(17)=1points(18)=4:points(19)=2:points(20)=0:points(21)=6:points(22)=2:points(23)=1points(24)=0:points(25)=4:points(26)=0:points(27)=2:points(28)=4:points(29)=1points(30)=4:points(31)=4:points(32)=0:points(33)=6:points(34)=4:points(35)=0points(36)=0:points(37)=6:points(38)=0:points(39)=2:points(40)=6:points(41)=1points(42)=4:points(43)=6:points(44)=0:points(45)=6:points(46)=6:points(47)=0mSize=4:nSize=4createsa3DmeshinmodelspaceSetmeshObj=ThisDrawing.ModelSpace.Add3DMesh(mSize,nSize,points)ChangetheviewingdirectionoftheviewporttobetterseethepolygonmeshDimNewDirection(0To2)AsDoubleNewDirection(0)=-1:NewDirection(1)=-1:NewDirection(2)=1ThisDrawing.ActiveViewport.Direction=NewDirectionThisDrawing.ActiveViewport=ThisDrawing.ActiveViewportZoomAllEndSub,15、块(综合练习)SubMyBlock()DimMySSAsAcadSelectionSet,PntTxtSta(0To2)AsDouble,ExpObjAsVariantDIMPntTxtEnd(0To2)AsDouble,DTxtAngleAsDouble文字插入点,角度DimMyPlnAsAcadLWPolyline,Str1AsString,Str2AsStringDimStrLineTypeAsString,DLineWidthAsDouble,LLineColorAsLong线型名称、宽度、颜色DimPnsAsVariant,PntstaAsVariant,PntEndAsVariant,Pntln(0To3)AsDoubleCallDeleAllSelect删除所有选择集SetMySS=ThisDrawing.SelectionSets.Add(ssa)MySS.SelectacSelectio
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业自动化与机器人技术的关系
- 工业领域的环保科技创新
- 工作压力下的团队合作挑战与对策
- 工业设计创新与技术美学
- 工业风餐厅空间设计
- 工程中的绿色制造技术探讨
- 工厂自动化设备的保养策略
- 工厂安全生产管理与监控系统
- 工程机械的智能化管理研究
- 工程机械的发展现状及趋势
- 《知识产权法学》一万字笔记
- 固体废物堆肥处理技术课件
- 脑卒中的诊断与治疗
- 中国古茶树资源状况白皮书2025
- 牙科技术入股合作协议书
- 2025甘肃省农垦集团限责任公司人才招聘524人易考易错模拟试题(共500题)试卷后附参考答案
- 温泉水项目可行性分析报告(模板参考范文)
- 2024年海关总署在京直属事业单位招聘笔试真题
- T/CCIAS 010-2023鸡精调味料生产技术规范
- 2025年微观经济学与宏观经济学专业考试试卷及答案
- 逆境事件对企业在全球价值链系统韧性的影响
评论
0/150
提交评论