999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

AutoCAD與C語言接口程序的參數(shù)化設(shè)計與實現(xiàn)

2010-08-15 00:48:29內(nèi)蒙古科技大學薄少軍
河南科技 2010年12期
關(guān)鍵詞:語言功能

內(nèi)蒙古科技大學 薄少軍

AutoCAD與C語言接口程序的參數(shù)化設(shè)計與實現(xiàn)

內(nèi)蒙古科技大學 薄少軍

在開發(fā)參數(shù)化機械CAD系統(tǒng)時,設(shè)計了AutoCAD與高級語言的接口程序,把AutoCAD強大的繪圖功能與C語言強有力的計算、輸入和輸出等功能結(jié)合起來,實現(xiàn)了自動繪圖。

AutoCAD C語言接口

一、引言

AutoCAD具有較強的繪圖功能,但它所提供的計算能力有限,對于大量的計算問題顯得不太方便。為了充分利用高級語言中強有力的計算、輸入、輸出功能以及其它功能,必需考慮如何利用高級語言調(diào)用AutoCAD中的繪圖命令、編輯命令、尺寸標注命令以及其它一些功能命令,這就要為高級語言與AutoCAD之間設(shè)計一個接口,以實現(xiàn)高級語言對AutoCAD的功能調(diào)用1。

二、AutoCAD與高級語言接口程序的設(shè)計

AutoCAD繪圖軟件與高級語言連接方式主要有以下3種:DXF圖形交換文件;命令組文件(3.SCR);IGS類型的圖形交換文件。相比之下,命令組文件有以下優(yōu)點:程序易編、易讀、易修改;命令組文件格式比較緊湊、占用內(nèi)存少,在AutoCAD上運行迅速,操作簡單2。

鑒于命令組文件有上述優(yōu)點,本文選擇了命令組文件作為高級語言與AutoCAD的接口。在編寫函數(shù)時,主要應考慮AutoCAD的命令格式,即基于命令格式來寫函數(shù)。編寫函數(shù)的目的實際上就是設(shè)計一個高級語言的函數(shù)集,通過調(diào)用這些函數(shù),可以形成與其功能相對應的命令組文件,用戶可以通過高級語言調(diào)用這些函數(shù)實現(xiàn)對AutoCAD功能的調(diào)用,通過Auto2 CAD就可以方便地繪出圖形來。

三、AutoCAD與高級語言接口程序的實現(xiàn)

在設(shè)計函數(shù)之前,首先要將AutoCAD的菜單命令進行分類,然后歸納出各類命令的主要功能,最后編制實現(xiàn)這些功能的高級語言函數(shù)。本文將AutoCAD菜單命令分為4類,分別為:圖形繪制命令;圖形編輯命令;文本注釋命令;尺寸標注命令3。下面以尺寸標注命令為例闡述其實現(xiàn)方法。

尺寸標注是一般繪圖過程中不可缺少的步驟,為此,AutoCAD提供了一套完整的尺寸標注命令。通過這些命令,可方便地標注圖形上的各種尺寸,如線性尺寸、角度、直徑、半徑等。與這些功能相對應,就必須編寫一些函數(shù)以實現(xiàn)這些功能。函數(shù)的命令與其菜單名基本一致,其參數(shù)與在交互方式下實現(xiàn)這一功能時所輸入的參數(shù)也基本相同。

例如,函數(shù)dim liner(floatX,floatY,float Z,float L,int I,int J,int K)的功能是自動進行水平標注和垂直標注。其中,X、Y是起點的坐標,L是相對于起點的長度,Z是相對于上一點的長度。I、J、K是狀態(tài)控制參數(shù),取值為:

I=0 標注水平尺寸

I=1 標注垂直尺寸

J=0 標注直徑符號

J=1 標注半徑符號

K=0 起點坐標為絕對坐標

K=1 起點坐標為相對坐標

函數(shù)清單如下:

/3 dim liner.c 3

#include

#include

char XX[16],YY[16],ZZ[16],LL[16],UU [16],TT[16],SS[12];

void mid(char 3 pl,char 3 p2,inti,intj)/3定義從字符串中取子串函數(shù)3/

{

int k;

for(k=i-1;k

}

void right(char 3 p1,char 3 p2,inti)/3定義從字符串右端取子串函數(shù)3/

{

intj,k=strlen(p1);

for(j=k-i;j

}

void dim liner(float X,float Y,float Z,float L,float I,int J,int K)

{ /3定義標注函數(shù)3/

int xl,yl,zl,110,i;

float ll;

FILE 3 fp;

p rintf(″Enter your SCR filename: );

gets(SS); /3輸入要建立的SCR文件名3/

strcat(SS,″.SCR″);/3加擴展名3/

if((fp=fopen(SS,″W″))==NULL)

{ /3建立SCR文件3/

p rintf(″Can’t open SCR file!″);

exit(0);

}

sp rintf(XX,″%f″,X);

sp rintf(YY,″%f″,Y);

sp rintf(ZZ,″%f″,Z);

xl=Z>=0?strlen(XX)-l:strlen(XX);

yl=Y>=0?strlen(YY)-l:strlen(YY);

zl=Z>=0?strlen(ZZ)-l:strlen(ZZ);

L=(int)(L 3 100+.5)/100;

sp rintf(LL,″%d″L);

110=strlen(LL);

strcpy(UU,″″);

for(i=0<110;i++)

{

mid(LL,TT,i,l);

strcat(UU,TT);

if(!strcmp(TT,″.″))

{

mid(LL,TT,i+1,2);

strcat(UU,TT);

break;

}

}

strcpy(LL,UU);

ll=L>=0?strlen(LL)-l:strlen(LL);

right(LL,LL,ll);

right(XX,XX,xl);

right(YY,YY,yl);

right(ZZ,ZZ,zl);

if(I==0)

{

fp rintf(fp,″dim hor″);/3向SCR文件中寫標注命令和標注參數(shù)3/

if(K==1)fp rintf(fp,″@″);

fp rintf(fp,:″%s″,XX);

fp rintf(fp,″,″);

fp rintf(fp,″%s″,YY);

fp rintf(fp,″@″);

fp rintf(fp,″%s″,LL);

fp rintf(fp,″,0@0,″);

fp rintf(fp,″%s″,ZZ);

fp rintf(fp,″″);

}

else

{

fp rintf(fp,″dim ver″);

if(K==1)fp rintf(fp,″@″);

fp rintf(fp,″%s″,XX);

fp rintf(fp,″,″);

fp rintf(fp,″%s″,YY);

fp rintf(fp,″@″);

fp rintf(fp,″%s″,LL);

fp rintf(fp,″,0@0,″);

fp rintf(fp,″%s″,ZZ);

fp rintf(fp,″″);

}

if(J==1)fp rintf(fp,″%%%%c″); if(J==2)fp rintf(fp,″r″);

if(L<0)right(LL,LL,ll-l);

fp rintf(fp,″%s″,LL);

fp rintf(fp,″exit″);

fclose(fp); /3關(guān)閉SCR文件3/

}

如果用dim liner(100,60,8,70,0,0,0)調(diào)用該函數(shù),則在命令組文件中形成如下形式的數(shù)據(jù):

D IM HOR 100,60@70,0@8,0 70 EXIT

在繪AutoCAD的編輯狀態(tài)下,用SCRIPT命令調(diào)用含有命令組的文本文件即可生成所需繪制的直線。

四、結(jié)論

我們?yōu)锳utoCAD命令編寫函數(shù),設(shè)計AutoCAD與高級語言的接口,從而成功地將高級語言的優(yōu)點和AutoCAD的繪圖功能有機結(jié)合起來,取得了很好的效果。

[1]方貴盛,王建軍.AutoCAD二次開發(fā)技術(shù)及其應用研究[J].機床與液壓,2007.06

[2]王軍政.TURBO C 3.0實用高級編程技巧.北京:北京科海培訓中心,2002

[3]應道寧,胡樹根.中國CAD/CAM應用與研究.成都:電子科技大學出版社,2002

book=56,ebook=151

猜你喜歡
語言功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
讓語言描寫搖曳多姿
關(guān)于非首都功能疏解的幾點思考
多向度交往對語言磨蝕的補正之道
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達功能
累積動態(tài)分析下的同聲傳譯語言壓縮
我有我語言
中西醫(yī)結(jié)合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 日韩免费中文字幕| 99精品热视频这里只有精品7| 午夜一级做a爰片久久毛片| 欧美精品v日韩精品v国产精品| 国产成人免费手机在线观看视频 | 无码aaa视频| 国产欧美亚洲精品第3页在线| 91在线丝袜| 国产一区二区网站| 欧美成人a∨视频免费观看 | 欧美性久久久久| 亚洲天堂精品视频| 波多野结衣在线一区二区| 亚洲欧美精品在线| 天天综合网色中文字幕| 日本三级精品| 久久久久夜色精品波多野结衣| 亚洲丝袜第一页| 午夜性爽视频男人的天堂| 日本亚洲欧美在线| 日韩国产 在线| 1024国产在线| 久久国产精品影院| 亚洲美女一区| 国产日韩久久久久无码精品 | 国产福利一区在线| 一区二区三区毛片无码| 天天操天天噜| 国产伦片中文免费观看| 69综合网| 欧美成人国产| 免费无码又爽又黄又刺激网站| 国模极品一区二区三区| 97国产成人无码精品久久久| 国产在线观看成人91| 欧美中文字幕在线二区| 99热这里只有精品久久免费| 亚洲精品色AV无码看| 黄色网在线| 高清视频一区| 中文字幕波多野不卡一区| 国产性精品| 国产成人精品男人的天堂下载| 草草影院国产第一页| 九九热精品免费视频| 日韩欧美国产三级| 亚洲大尺码专区影院| 亚洲精品无码不卡在线播放| 亚洲国产亚综合在线区| 中文字幕无码中文字幕有码在线| av在线人妻熟妇| 欧美午夜精品| aa级毛片毛片免费观看久| 乱码国产乱码精品精在线播放| 99久久婷婷国产综合精| www.国产福利| 久久毛片免费基地| 国产成人精品一区二区不卡| 日韩成人高清无码| 国产成人精品午夜视频'| 日韩精品无码免费专网站| 日韩久草视频| 欧洲一区二区三区无码| 日韩精品一区二区三区视频免费看| 国产第一页亚洲| 国产精品视频猛进猛出| 国产亚洲美日韩AV中文字幕无码成人| 黄色在线网| 久久窝窝国产精品午夜看片| 国产在线观看第二页| 亚洲成a人片在线观看88| 亚洲第一成年网| 无码啪啪精品天堂浪潮av| 精品无码一区二区三区在线视频| 亚洲精品麻豆| 亚洲无码37.| 狼友视频一区二区三区| 亚洲精品麻豆| 国产凹凸视频在线观看| 精品无码一区二区三区在线视频| 国产免费一级精品视频| 999精品色在线观看|