6+-+電氣CAD技術(shù).ppt_第1頁
6+-+電氣CAD技術(shù).ppt_第2頁
6+-+電氣CAD技術(shù).ppt_第3頁
6+-+電氣CAD技術(shù).ppt_第4頁
6+-+電氣CAD技術(shù).ppt_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第6章電氣CAD中高級繪圖及圖形與數(shù)據(jù)庫的鏈接 6 1高級語言繪圖基礎(chǔ)6 1 1繪圖功能的實(shí)現(xiàn)方案1 利用高級語言的繪圖語句實(shí)現(xiàn) 如BASIC語言 point x y 或pset x y 色號 preset x y 色號 色號缺損時(shí)為前景色 line x1 y1 x2 y2 色號circle x y Rcircle x y R 色號 1 2draw 串表達(dá)式 2 利用高級語言程序?qū)崿F(xiàn)交互繪圖 舉QBASIC鍵盤繪圖為例 在QBASIC環(huán)境下運(yùn)行此段程序 可實(shí)現(xiàn)鍵盤屏幕作圖功能 3 參數(shù)繪圖 6 1 2高級語言繪圖程序的組成繪圖一般由三大部分組成 圖庫形成模塊 圖形編輯模塊 輸出模塊 1 圖庫是繪圖的基礎(chǔ) 沒有圖庫 每次繪圖都要重新編程從一點(diǎn)一線畫起 用戶難以接受 電氣圖是一種規(guī)劃圖 多為二維平面圖 可以標(biāo)準(zhǔn)化作圖 任何復(fù)雜的電氣結(jié)線圖都是由有限個(gè)設(shè)備或元件的圖形符號連接組成 為提高繪圖速度 方便使用 將設(shè)備或元件圖預(yù)先畫好存于庫中 供需要時(shí)調(diào)用 1 子圖庫形成 2 子圖調(diào)用 3 子圖編輯2 圖形編輯模塊 2 修改已有圖形 繪圖環(huán)境下 可從已有圖形中調(diào)出舊圖進(jìn)行改畫 3 圖形變換 縮放 平移及旋轉(zhuǎn)變換等3 圖形輸出 6 1 3高級語言繪圖程序結(jié)構(gòu)框圖高級語言繪圖程序結(jié)構(gòu)框圖如圖6 1 圖6 1高級語言繪圖程序結(jié)構(gòu)框圖 6 2VB高級繪圖技術(shù)6 2 1概述1 繪圖環(huán)境特點(diǎn)1 在窗體和圖片框上繪圖 2 實(shí)質(zhì)是VISUALBASICwindows繪圖 圖形方法適用于窗體 圖片框和打印機(jī) 3 圖形編程不依賴于硬件4 繪圖區(qū)大小 可以隨繪圖區(qū)變化其大小 2 常用術(shù)語及繪圖基礎(chǔ)知識1 載體和對象窗體 圖片框 圖像控件是處理圖形的對象 窗體是圖片框和圖像等控件的載體 屏幕是窗體的載體 圖片框也是其他控件的容器 2 繪圖區(qū)及其大小繪圖區(qū)指對象上可供用戶使用的區(qū)域 繪圖區(qū)的大小可通過鼠標(biāo)拖放 通過屬性設(shè)置或在程序中給屬性賦值進(jìn)行控制 3 VB6 0界面 窗體窗體位于屏幕的中央 是進(jìn)行交互的窗口 工具條位于菜單條下方 以圖標(biāo)方式提供常用的工具 工具箱位于屏幕左側(cè) 提供開發(fā)應(yīng)用程序的VisualBasic6 0標(biāo)準(zhǔn)控件 根據(jù)需要可以將定制控件加入工具箱 如ActiveX控制 屬性窗口顯示對象的各個(gè)屬性并可進(jìn)行屬性值設(shè)定 工程窗口顯示當(dāng)前工程的文件結(jié)構(gòu) 布局窗口顯示屏幕布局 6 2 2坐標(biāo)設(shè)置及度量單位為描述窗體在屏幕上或控件對象 例如圖片框 在窗體上的位置 VisualBasci6 0設(shè)置對象的坐標(biāo)系 坐標(biāo)系可分為屏幕坐標(biāo)系 窗體坐標(biāo)系和窗體內(nèi)控件坐標(biāo)系 1 屏幕坐標(biāo)系顯示器屏幕大小是不能改變的 在標(biāo)準(zhǔn)設(shè)置下 屏幕坐標(biāo)系的度量單位用twip表示 屏幕坐標(biāo)系的原點(diǎn) 0 0 在屏幕的左上角 X Y軸坐標(biāo)值分別向右 向下增加 如圖6 2 a 所示 a 屏幕坐標(biāo)系 b 尺寸顯示其大小為 Screen width 9600 twip 屏幕寬Screen hieght 7200 twip 屏幕高 2 窗體坐標(biāo)系窗體坐標(biāo)系的原點(diǎn)在窗體工作區(qū)的左上角 在Standard窗口指示圖片框左上角在窗體坐標(biāo)系的坐標(biāo)值 0 0 和圖片框的大小 2352 1932 坐標(biāo)的單位由ScaleMode屬性設(shè)置 設(shè)置方式為 對象名 ScaleMode 屬性值 ScaleMode的屬性值有8種選擇 如表6 1所示 表6 1ScaleMode的屬性值 3 用戶自定義坐標(biāo)系在缺省設(shè)置下 VB繪圖對象的坐標(biāo)以twip為單位 VB中用戶自定義坐標(biāo)系的方法有兩個(gè) 一是用Scale方法 即通過自定義左上角和右下角坐標(biāo)來設(shè)置坐標(biāo)系統(tǒng) 一般先選定Scalemode 0 再設(shè)定Scalemode 3 如 Scalemode 0Scalemode 3Scale 0 0 640 480 則定繪圖區(qū)為640 480 單位為像素 左上角為坐標(biāo)原點(diǎn) y軸向下為正方向 若將原點(diǎn)設(shè)在繪圖區(qū)中央 向上為y正方向 向右為x正方向 則用 Scale 320 240 320 240 二是通過對Scaleleft Scaletop直接賦值定義坐標(biāo)系 如 Scalewidth 640 定義對象繪圖區(qū)寬為640Scalewidth 480 定義對象繪圖區(qū)高為480Object Scaleleft 320Object Scaletop 240則定義對象的左上角坐標(biāo)是 320 240 ScaleX方法和ScaleY方法可以把X坐標(biāo)或Y坐標(biāo)的值從一個(gè)坐標(biāo)系統(tǒng)換算到另一個(gè)坐標(biāo)系統(tǒng) 其語法如下 object ScaleX width fromscale toscale object ScaleY height fromscale toscale width和height分別是需進(jìn)行轉(zhuǎn)換的坐標(biāo)值 ScaleX方法和ScalseY方法把所給的坐標(biāo)值從fromscale所指定的坐標(biāo)系統(tǒng)轉(zhuǎn)換到toscale所指定的坐標(biāo)系統(tǒng) 6 2 3繪圖屬性屬性可在對象屬性窗口內(nèi)設(shè)定 也可編代碼在執(zhí)行時(shí)設(shè)定 代碼設(shè)定格式為 對象名 屬性 設(shè)定值1 ScaleMode屬性設(shè)定坐標(biāo)單位 例如 Picturel ScalMode 3 設(shè)定picturel的坐標(biāo)單位為像素 2 Forecolor屬性指定對象上畫直線 矩形和顯示文字的顏色 格式為 對象名 Forecolor 值有四種設(shè)置方法 有四種設(shè)置方法 1 RGB函數(shù)格式 RGB red green blue red 紅色 取值范圍為0 255green 綠色 取值范圍為0 255blue 藍(lán)色 取值范圍為0 255 例如 白RGB 255 255 255 紅RGB 255 0 0 黃RGB 255 255 0 綠RGB 0 255 0 淺青RGB 0 255 255 藍(lán)RGB 0 0 255 紫RGB 255 0 255 黑RGB 0 0 0 示例 在窗體 100 100 處畫 紅點(diǎn)Form1 Forecolor RGB 255 0 0 Form1 pset 100 100 2 QBcolor函數(shù)格式 QBcolor A 參數(shù)A取值范圍為0 15的整數(shù) 可設(shè)定16種顏色 示例 在圖片框上 120 100 處畫一紅點(diǎn)picturel Forecolor QBcolor 4 picturel Pset 120 100 3 使用16進(jìn)制數(shù)格式 H00BBGGRR 意義 00總為零BB藍(lán) 00 FF GG綠 00 FF RR紅 00 FF 例如 H00ffooff 為桃紅色 4 使用系統(tǒng)顏色常數(shù)8種顏色的代碼如下 白vbWhite紅vbRed黃vbyellow綠vbgreen淺青vbcyan藍(lán)vbBlue紫vbMagenta黑vbBlack示例 在對象上畫一蘭色矩形object line 10 10 500 500 vbBlue B 3 Drawstyle屬性功能 指定畫線的格式格式 對象名Drawstyle 值參數(shù) 參數(shù)值及意義為 示例 Form Drawstyle 3 畫單點(diǎn)劃線 4 Drawwidth屬性功能 drawwidth屬性用于設(shè)定直線或矩形邊框線的粗細(xì) 格式 對象名Drawwidth A參數(shù) A為整數(shù) 單位為象素 取值范圍為0 32767示例 Darwwidth 4 設(shè)定線寬為4 5 Fillcolor屬性功能 Fillcolor屬性用指定填充顏色填充矩形或圓格式 對象名Fillcolor 值例 Form Fillcolor vbRed 將窗體所畫矩形或圓涂成紅色6 Fillstyle屬性功能 Fillstyle屬性用于設(shè)定填充圖案 格式 對象名Fillstyle 值參數(shù)值及意義為 示例 Form1 Fillstyle 2Circle 600 800 400 Qbcolor 12 用水平線填充園 6 2 4圖形方法1 圖形方法及使用格式Pset畫點(diǎn)Line畫直線Circle畫圓Print文字Cls清除圖形或文字圖形方法的使用格式為 Object 圖形方法名參數(shù)1 參數(shù)2 例如 在窗體中畫直線時(shí) 可寫為 From1 Line參數(shù)1 參數(shù)2 在圖片框中畫直線時(shí) 可寫為 Picturel Line參數(shù)1 參數(shù)2 對象名缺省而僅寫方法名時(shí) 則表示在具有當(dāng)前焦點(diǎn)的對象內(nèi)畫圖 2 常用圖形方法 1 Pset方法Pset方法的功能是在指定的位置畫一個(gè)指定顏色的點(diǎn) 格式如下 Object PsetStep x y ColorObject對象名Pset方法名例如 單擊當(dāng)前窗體 在窗體的 500 500 處畫一個(gè)紅色點(diǎn)的過程如下 PrivateSubForm Click Form Pset 500 500 QBcolor 12 EndSub 2 Line方法Line方法在指定的位置畫一個(gè)指定顏色的直線或長方形 格式如下 Object LineStep x1 y1 Step x2 y2 Color B BF 例如 在窗體的 500 500 1000 1000 畫一條紅色線時(shí)語句為 Form1 Line 500 500 1000 1000 QBColor 12 在窗體的 500 500 1000 1000 畫一個(gè)紅色矩形時(shí)語句為 Form1 Line 500 500 1000 1000 QBColor 12 B在窗體的 500 500 1000 1000 畫一個(gè)填色矩形時(shí)語句為 Form1 Line 500 500 1000 1000 QBColor 12 BF 3 Circle方法Circle方法在指定的位置畫一個(gè)指定顏色的圓 橢圓或圓弧 格式如下 Object CircleStep x y radius color start end aspect x y 圓心坐標(biāo)位置例如 以窗體的 1000 1000 為圓心 半徑為500畫一個(gè)紅色圓時(shí)語句為 Form1 Circle 1000 1000 500 QBColor 12 以窗體的 1000 1000 為圓心 半徑為500畫1 2的紅橢圓時(shí)語句為 Form1 Circle 1000 1000 500 QBColor 12 0 5 例6 1 畫填充圓如圖6 4所示 程序代碼設(shè)計(jì)如下 PrivateSubCommandl Click Picturel ClsPricturel FillColor RGB 0 255 0 設(shè)置填充色Picturel FillStyle 7 設(shè)置填充模式Picturel Circle 1200 1000 800 RGB 255 0 0 EndSub圖6 4圖形填充PrivateSubCommand2 Click EndEndSub 本例程序使用FillStyle屬性畫填充圓 4 Print方法Print方法在指定的位置顯示字符串 格式如下 Object PrintOutputtext例如 在窗體輸出 湖南大學(xué)電氣與信息學(xué)院 字符串時(shí)語句為 Forml Print 湖南大學(xué)電氣與信息學(xué)院 5 Cls方法Cls方法用于清除窗體或圖形框中所畫圖形 使用格式為 Object Cls例如清除窗體中所畫圖形時(shí)可寫為 Form1 Cls3 使用鼠標(biāo)繪簡單圖形 1 在鼠標(biāo)單擊位置畫點(diǎn)以MouseDown事件檢取的坐標(biāo)值作為Pset方法的參數(shù) 可在鼠標(biāo)單擊位置畫點(diǎn) 例如 PrivateSubForm MouseDown ButtonAsInteger ShiftAsInteger xAsSingle yAsSingle Forml Pset x y EndSub 2 在鼠標(biāo)單擊位置畫記號Forml Line x 50 y 50 x 55 y 55 QBColor 12 Forml Line x 50 y 50 x 55 y 55 QBColor 12 取代前列中Forml Pset x y 則可在鼠標(biāo)單擊位置畫x記號 用語句 Forml Circle x y 50 QBColor 12 取代前例中Forml Pset x y 則可在鼠標(biāo)單擊位置畫o記號 3 兩點(diǎn)間畫直線程序設(shè)計(jì)時(shí)注意兩點(diǎn) 一是將第一次鼠標(biāo)單擊位置和第一次鼠標(biāo)單擊位置的坐標(biāo)分別賦給起始和終止變量 二是須設(shè)置監(jiān)視鼠標(biāo)單擊的標(biāo)志 即設(shè)置區(qū)分是第一次鼠標(biāo)單擊位置還是第二次鼠標(biāo)單擊的標(biāo)志變量 4 畫折線畫折線應(yīng)注意的是須將第一次畫線的結(jié)束位置作為第二次畫線的起始位置 按鼠標(biāo)右鍵時(shí)結(jié)束畫折線 5 在指定的位置畫任意大小的圓在程序設(shè)計(jì)時(shí)應(yīng)注意兩點(diǎn) 一是將第一次鼠標(biāo)單擊的坐標(biāo)值作為圓心 二是用第二次鼠標(biāo)單擊位置的坐標(biāo)值和第一次鼠標(biāo)單擊位置的坐標(biāo)值計(jì)算半徑 計(jì)算公式如下 6 畫任意畫線 7 在指定位置輸出文字在窗體或圖片框的指定位置輸出文字須使用CurrentX和CurrentY屬性表示的當(dāng)前位置 PrivateSubforml MouseDown ButtonAsInteger ShiftAsInteger xAsSing YAsSingle CurrentX xCurrentY yForml Print 字符串 EndSub 8 應(yīng)用程序例 圖形編輯器這是一個(gè)利用鼠標(biāo)在圖片框上繪線圖的圖形編輯器例子 窗體設(shè)計(jì)如圖6 5所示 程序代碼設(shè)計(jì)如下 Dimcx cyAsInteger 當(dāng)前單擊位置的 x y 坐標(biāo)Dimold x old yAsInteger 前次單擊位置的 x y 坐標(biāo)DimtoolAsInteger 繪圖工具Dimdraw fAsInteger 圖6 5圖形編輯器窗體 按左按鈕Dimdown fAsInteger 按下左按鈕拖動PrivateSubCmdCls Click Pictuel ClsEndSub PrivateSubCmdEnd Click EndEndSubPrivateSubFcolor 1 Click Picturel ForeColor QBColor 0 黑色EndSubPrivateSubFcolor 2 Click Picturel ForeColor QBColor 12 淺紅EndSubPrivateSubFcolor 3 Click Picturel ForeColor QBColor 10 淺綠EndSubPrivateSubFcolor 4 Click Picturel ForeColor QBColor 14 黃EndSubPrivateSubFcolor 5 Click Picturel ForeColor QBColor 9 淺藍(lán)EndSubPrivateSubFcolor 6 Click Picturel ForeColor QBColor 13 淺紫EndSubPrivateSubFcolor 7 Click Picturel ForeColor QBColor 11 淺青EndSub 6 3開放式子圖庫技術(shù)6 3 1開放式子圖庫將規(guī)則且使用頻率較高的圖形作為子圖 子圖是整圖的組成元件 而線 圓 弧 矩形則是組成子圖的元件 也是最簡單的子圖 6 3 2子圖庫結(jié)構(gòu)子圖庫分兩類 文字圖庫與圖形庫 文字圖庫是指圖面上外文 數(shù)字與漢字等的集合 圖形庫又分為符號圖庫及塊圖庫 符號圖庫是電氣圖中經(jīng)常出現(xiàn)的電氣設(shè)備圖形符號的集合 如開關(guān) 變壓器 電動機(jī)等 塊圖庫則是由多個(gè)圖符或文字組成的塊圖的集合 如高壓開關(guān)柜 出線回路 間隔 附注說明等 1 文字圖庫本文文字圖庫可取用AutoCAD中的標(biāo)準(zhǔn)英文庫TXT SHX 希臘文Greeks SHX及漢字HZTXT SHX庫修改而成 2 2 圖形庫圖形庫分為元件圖庫及塊圖庫兩部分 元件圖庫的基本圖元由12個(gè)數(shù)據(jù)描述 即一個(gè)特征代碼與11個(gè)參數(shù) 元件圖庫實(shí)質(zhì)是一系列圖形符號數(shù)據(jù)的集合 以上圖形符號和基本圖元都稱子圖 設(shè)圖庫中有N個(gè)子圖 則N組數(shù)據(jù)在庫中按序相連 如第i個(gè)子圖含有Pi個(gè)基本圖元 其數(shù)據(jù)共有12 Pi個(gè) 12 Pi 1個(gè)數(shù)據(jù) 則其后為第i 1個(gè)子圖的全圖所含數(shù)據(jù)的個(gè)數(shù)Kt為子圖在庫中按大類存放 電氣圖形符號是子圖庫的主要組成部分 用基本圖元直線 折線 虛線 點(diǎn)劃線 園 矩形 橢圓 弧 扇形等可實(shí)現(xiàn)拖動畫圖 3 子圖庫結(jié)構(gòu)子圖庫結(jié)構(gòu)如圖6 6所示 庫首為索引數(shù)據(jù) 每個(gè)子圖的索引數(shù)據(jù)占4字節(jié) 前2字節(jié)為該子圖在庫中起始位置 后2字節(jié)表示該子圖含有的基本圖元個(gè)數(shù) 圖6 6子圖庫結(jié)構(gòu) 子圖庫中每一個(gè)記錄包含12個(gè)數(shù)據(jù) 順序如下 0圖元代碼1X12Y13X4Y5弧終止角6 101 5位置施轉(zhuǎn)90o的值11顏色碼 坐標(biāo) 直線首端坐標(biāo)或圓心坐標(biāo) 坐標(biāo) 直線末端坐標(biāo)或圓半徑 弧起始角 6 3 3建庫寫檢索各基本圖元主要描述數(shù)據(jù)如下 點(diǎn) 代碼 坐標(biāo)x y 直線 起點(diǎn)坐標(biāo)x1 y1 終點(diǎn)坐標(biāo)x2 y2 圓 圓心坐標(biāo)x y 半徑R 弧 弧心坐標(biāo)x y 半徑R 起始角 終止角 矩形 左上角坐標(biāo)x1 y1 右下角坐標(biāo)x2 y2 6 3 4子圖庫操作建庫狀態(tài)下系統(tǒng)提供4種庫操作功能 1 添加2 刪除3 插入4 修改 圖6 7圖庫中子圖頁面 6 4繪圖及圖形編輯6 4 1VB拖動繪圖技術(shù) 圖6 8VB拖動繪圖示例 1 拖動畫任意直線原理 當(dāng)點(diǎn)擊左邊工具菜單中畫線按鈕后 移鼠標(biāo)到繪圖區(qū) 按左鍵定直線首端點(diǎn) 再拖動鼠標(biāo)即在首端點(diǎn)與鼠標(biāo)位置畫一條直線 直線隨鼠標(biāo)移動而移動 再按左鍵一次即畫定此直線 要點(diǎn) 畫線過程中 不斷檢測鼠標(biāo)位置 當(dāng)新位置與原位置發(fā)生變動時(shí) 觸發(fā)畫線程序段 擦除原線 在新位置重新畫線 如此反復(fù)擦除 反復(fù)重畫 就形成了拖動畫線 2 拖動畫任意折線原理 前述的畫直線程序只能畫一段直線 若要再畫則要重新點(diǎn)擊左鍵定起點(diǎn)再拖動畫線 為畫出折線 可對前面程序上作少量修改 點(diǎn)擊第一點(diǎn)時(shí)定折線起點(diǎn) 拖動畫線再點(diǎn)擊時(shí) 在該點(diǎn)與起點(diǎn)固定一條直線 拖動鼠標(biāo)可繼續(xù)畫線 直到擊右鍵時(shí)結(jié)束畫線動作 恢復(fù)初態(tài) 要點(diǎn) 首次點(diǎn)擊左健時(shí)定起點(diǎn) 第二次點(diǎn)擊左鍵時(shí)折線轉(zhuǎn)折點(diǎn) 并設(shè)定此點(diǎn)為新線段的起點(diǎn) 如此往復(fù)即畫出折線 點(diǎn)擊右鍵時(shí) 結(jié)束畫折線動作 3 拖動畫任意園原理 點(diǎn)擊選中工具欄菜單中畫圓功能后 移鼠標(biāo)至繪圖區(qū) 在要畫圓的位置擊左鍵 即確定圓心坐標(biāo) 在繪圖區(qū)拖動鼠標(biāo)移動 即在鼠標(biāo)新移位置畫一個(gè)以圓心至鼠標(biāo)新位置為半徑的圓 要點(diǎn) 鼠標(biāo)拖動過程中 當(dāng)驗(yàn)測到鼠標(biāo)位置移動時(shí) 即在新位置畫圓 同時(shí)擦除原位置的圓 這樣反復(fù)擦除重畫 即實(shí)現(xiàn)了動態(tài)拖動畫圓功能 4 拖動畫任意矩形原理 點(diǎn)擊工具欄菜單中畫矩形功能后 移鼠標(biāo)到繪圖區(qū) 左鍵點(diǎn)擊確定矩形左上角位置 再移鼠標(biāo)時(shí) 即在已定點(diǎn)與鼠標(biāo)光標(biāo)位置之間畫矩形 不斷移動不斷重畫 再按左鍵時(shí)固定矩形 要點(diǎn) 第一點(diǎn)定矩形一角如左上角位置 第二點(diǎn)確定對角如右下角位置 在鼠標(biāo)移動過程中在新位置與第一點(diǎn)間畫矩形的同時(shí) 擦除原位置矩形 畫面上只見到一個(gè)矩形并在隨鼠標(biāo)光標(biāo)移動 5 拖動畫橢圓原理及要點(diǎn)同畫圓部分6 拖動畫任意弧原理 點(diǎn)擊工具欄菜單中畫弧功能后 移鼠標(biāo)到繪圖區(qū) 點(diǎn)擊左鍵確定弧心位置 再移鼠標(biāo)至另一位置點(diǎn)擊左鍵時(shí) 即確定了弧的起始角度 再移動鼠標(biāo)時(shí) 即以弧心到鼠標(biāo)光標(biāo)新位置為終止角拖動畫弧 鼠標(biāo)位置變動 終止角及弧半徑同時(shí)變動 要點(diǎn) 在弧心與起始角位置確定后 鼠標(biāo)位置確定了弧終點(diǎn)的位置 在反復(fù)重畫新弧 擦除舊弧的過程中實(shí)現(xiàn)了拖動功能 6 4 2子圖調(diào)用 繪圖1 菜單取圖2 圖形存儲 6 4 3圖形編輯1 圖形平移1 子圖平移2 整圖平移3 局部圖塊平移2 圖形縮放1 子圖縮放2 整圖縮放3 圖形旋轉(zhuǎn) 6 5圖面標(biāo)注6 5 1矢量字符標(biāo)注功能的實(shí)現(xiàn)1 矢量字庫的文件結(jié)構(gòu)矢量字庫文件是一種二進(jìn)制數(shù)據(jù)文件 由三部分組成 文件頭信息 索引信息和字形數(shù)據(jù) 1 文件頭信息 西文庫的文件頭信息 漢字庫的文件頭信息 2 索引信息 西文庫的索引信息共4n個(gè)字節(jié) n為字形總數(shù) 即每個(gè)字符占4個(gè)字節(jié) 前兩個(gè)字節(jié)為字符的ASCII碼 后兩個(gè)字節(jié)為字形所占的字節(jié)數(shù) 如大寫字符 M 其索引為4D001200 4DH為它的ASCII碼 其字形占12H個(gè)字節(jié) 常用的功能編碼是 00字形結(jié)束 01落筆 02抬筆08畫向量 其后緊接著一對x和y的增量 09畫向量 其后緊接著一對x和y的增量 由00結(jié)束 如字符 M 的字形數(shù)據(jù)為 00020E08FEFA01644D436C02200E08FCFD00 共12H個(gè)字節(jié) 依此數(shù)據(jù)畫出 M 字符如圖6 10 圖6 9移動方向編碼圖6 10矢量字符M 2 矢量字符及漢字的讀取 顯示 1 西文的讀取 顯示 打開庫文件 在索引信息部分讀入各字符的ASCII碼放入二維組Lixw i 0 里 讀入各字符的字節(jié)數(shù)放入Lixw i 1 里 輸入要寫的西文字符 英文字母和鍵盤上字符一一對應(yīng) 希臘字母和鍵盤上字符的對應(yīng)關(guān)系如表6 2 表6 2希臘字母和鍵盤字符對應(yīng)表 用下列語句找出要寫字符的地址放入ad變量里 并確定字符所占字節(jié)數(shù) Ad 430 Ch getch For I 1 I 64H I lixw i o ch Ad ad Lixw i 1 Else I 依字符的地址及其所占字節(jié)數(shù)畫出字符 2 漢字的讀取 顯示 打開漢字庫文件 輸入漢字區(qū)位碼 依漢字字形數(shù)據(jù)的起始地址及其所占字節(jié)數(shù)畫漢字 3 程序流程圖及清單 程序流圖如圖6 11 限于篇幅 程序清單略 圖6 11矢量字符及漢字的讀取顯示流程圖 6 5 2標(biāo)準(zhǔn)文字標(biāo)注功能的實(shí)現(xiàn)1 原理說明圖片框是工程圖形的主要載體 在圖片框上標(biāo)注的文本用字符表示 由print功能顯示 文本的顯示風(fēng)格 即字體 字號 特征都由圖片框的相應(yīng)屬性設(shè)置 例如執(zhí)行程序段picturel Font Size 8picturel Font Nome 宋體 picturel Font Bold Turepicturel Font Italic falsepicturel Currentx 500picturel currenty 500picturel print 湖南大學(xué)電氣與信息學(xué)院 將在圖片框坐標(biāo)為 500 500 位置起顯示宋體 4號黑體文字 湖南大學(xué)電氣與信息學(xué)院 2 標(biāo)注文本的存儲和修改在圖片框的TexTheight 和

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論