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

高級語言在AutoCAD中的應用

2008-12-31 00:00:00鄒海華
電腦知識與技術 2008年26期

摘要:“.SRC”是AutoCAD與高級語言的一個聯結接口,文章主要闡述利用高級C語言產生命令組文件“.SRC”,在AutoCAD環境下實現參數化繪圖。以繪制整體式小齒輪為例,編寫了產生命令組文件“.SRC”的C語言程序,介紹了從C語言到產生命令組文件“.SRC”,再到AutoCAD環境下實現參數化繪圖的整個過程。

關鍵詞:AutoCAD;高級語言;參數化繪圖;C語言;命令組文件

中圖分類號:TP391文獻標識碼:A文章編號:1009-3044(2008)26-1861-03

Application of Advanced Language in the AutoCAD

ZOU Hai-hua, HUANG Jin

(School of Power and Mechanical Engineering, Wuhan University, Wuhan 430072, China)

Abstract: \".SRC\" is the interface to link the advanced language and AutoCAD. The article expound that use the C language to produce script files \".SRC\",then , the parametric drawing has been realized in the AutoCAD.For example,to draw anintegral pinion,compile a script file \".SRC\" produced by C language and introducedhow to produce script files by C language and parametric drawing how to realize in the AutoCAD.

Key words: AutoCAD; advanced language; parametric drawing; C language; script file

1 前言

AutoCAD具有很強的圖形編輯能力,但是在現今,交互式繪圖遠遠不能滿足我們的工程要求,CAD正朝著智能化方向發展。AutoCAD中提供了與高級語言的一個聯結接口“.SRC”,我們可以利用高級語言產生命令組文件“.SRC”,在AutoCAD環境下實現參數化繪圖。高級語言中,C語言應用比較廣,所以本文主要介紹C語言在AutoCAD實現命令組文件參數化繪圖中的應用。

AutoCAD允許用戶建立一個后綴為.SCR的命令組文件,命令組文件的內容為一組命令,AutoCAD運行這個命令組文件時,可執行預定的命令序列。因此,可利用命令組文件實現參數化繪圖。命令組文件可以通過高級語言的寫程序產生,其過程如圖1所示。

下面以繪制整體式小齒輪為例,介紹C語言在AutoCAD實現命令組文件參數化繪圖中的應用。

2 實現過程

2.1 AutoCAD環境的設置

先在AutoCAD 2007中新建粗實線圖層“0”,細實線圖層“2”,中心線圖層“3”,并進行相關的設置。當然圖層的新建及設置可以在程序中實現。

2.2 用Turbo C for Windows 集成實驗與學習環境編寫程序

#include \"stdio.h\"

#include \"string.h\"

main()

{drawpart();

return 0;}

int drawpart()

{ FILE *fp;

float x0,y0,m,z,b,d0,da,df,d,r0,r,ra,rf,ha,c,b0;

/*模數m,齒數z,齒寬b,軸孔直徑d0,分度圓直徑d,齒頂圓直徑da,齒根圓直徑df,齒頂高系數ha,頂隙系數c*/

printf(\"請輸入x0,y0:\\");

scanf(\"%f%f\", x0,y0);

printf(\"請輸入模數m,齒數z,軸孔直徑d0,齒寬b:\\");

scanf(\"%f%f%f%f,\", m,z,d0,b);

printf(\"請輸入齒頂高系數ha,頂隙系數c:\\");

scanf(\"%f%f\", ha,c);

d=m*z; da=(z+2*ha)*m; df=(z-2*ha-2*c)*m;

ra=da/2.0;rf=df/2.0;r0=d0/2.0;b0=b/2.0;r=d/2.0;

printf(\"d0=%f,b=%f,d=%f,da=%f,df=%f:\\",d0,b,d,da,df);

printf(\"b0=%f,r0=%f,ra=%f,rf=%f:\\",b0,r0,ra,rf);

fp=fopen(\"ZHH.scr\", \"w\");

fprintf(fp,\"limits 0,0 500,500\\");

fprintf(fp,\"zoom a\\");

fprintf(fp,\"layer s 0 \\");

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f %.2f,%.2f %.2f,%.2f %.2f,%.2f %.2f,%.2f \\",

x0,y0,x0,y0+r0+2,x0+2,y0+r0,x0+b-2,y0+r0,x0+b,y0+r0+2,x0+b,y0);

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f \\", x0+2,y0+r0,x0+2,y0);

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f \\", x0+b-2,y0+r0,x0+b-2,y0);

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f %.2f,%.2f %.2f,%.2f C\\",

x0,y0+r0+5,x0+b,y0+r0+5,x0+b,y0+rf,x0,y0+rf);

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f \\",x0,y0+r0+5,x0,y0+r0+2);

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f \\",x0+b,y0+r0+5,x0+b,y0+r0+2);

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f %.2f,%.2f %.2f,%.2f %.2f,%.2f %.2f,%.2f \\",

x0,y0+rf,x0,y0+ra-2,x0+2,y0+ra,x0+b-2,y0+ra,x0+b,y0+ra-2,x0+b,y0+rf);

fprintf(fp,\"layer s 3 \\");

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f \\",x0-5,y0+r,x0+b+5,y0+r);

fprintf(fp,\"line %.2f,%.2f %.2f,%.2f \\",x0-5,y0,x0+b+5,y0);

fprintf(fp,\"mirror w %.2f,%.2f %.2f,%.2f%.2f,%.2f %.2f,%.2f n\\",

x0-8,y0-5,x0+b+5,y0+ra+8,x0-5,y0,x0+b+5,y0);/*鏡像*/

fprintf(fp,\"layer s 2 \\");

fprintf(fp,\"hatch u 45 4 n w %.2f,%.2f %.2f,%.2f \\",

x0-5,y0+r0+2,x0+b+5,y0+rf+2);/*畫剖面線*/

fprintf(fp,\"hatch u 45 4 n w %.2f,%.2f %.2f,%.2f \\",

x0-5,y0-r0+2,x0+b+5,y0-rf-2);/*畫剖面線*/

fprintf(fp,\"erase w %.2f,%.2f %.2f,%.2f \\",

x0-0.5,y0-r0-5.5,x0+b+0.5,y0-r0-4.5);/*刪除其中一條直線*/

fprintf(fp,\"layer s 2 \\");

fprintf(fp,\"dim\\");/*開始標注相關尺寸*/

fprintf(fp,\"dimtxt 4\\");

fprintf(fp,\"hor %.2f,%.2f %.2f,%.2f %.2f,%.2f %.2f \\",

x0,y0+rf,x0+b,y0+rf,x0+b0,y0+ra+6,b);

fprintf(fp,\"ver %.2f,%.2f %.2f,%.2f %.2f,%.2f %%%%C%.2f \\",

x0,y0-r0,x0,y0+r0+5,x0-8,y0,d0+5);

fprintf(fp,\"ver %.2f,%.2f %.2f,%.2f %.2f,%.2f %%%%C%.2f \\",

x0,y0-rf,x0,y0+rf,x0-16,y0,df);

fprintf(fp,\"ver %.2f,%.2f %.2f,%.2f %.2f,%.2f %%%%C%.2f \\",

x0,y0-r,x0,y0+r,x0-24,y0,d);

fprintf(fp,\"ver %.2f,%.2f %.2f,%.2f %.2f,%.2f %%%%C%.2f \\",

x0,y0-ra,x0,y0+ra,x0-32,y0,da);

fprintf(fp,\"EXIT\\");

fclose(fp);

return 0;}

2.4 調用命令組文件,實現參數化繪圖

在AutoCAD Command狀態下,鍵入“SCRIPT”,找到命令組文件“ZHH.SRC”,打開便可。繪圖結果如圖3。

3 命令組文件其它常用的命令

命令組文件中除了SCRIPT命令,還有常用的幾個命令,利用這些命令可以方便我們用戶繪圖,提高效率。

1) delay命令:delay命令用于延時。

2) RSCRIPT命令:在命令組文件中加入一條RSCRIPT命令,可直接請求重新運行用SCRIPT命令調用的命令組文件。

4 結語

在進行尺寸標注時,直徑 的標注利用了C語言printf函數的特點,如fprintf(fp,\"ver %.2f,%.2f %.2f,%.2f %.2f,%.2f %%%%C%.2f \\", x0,y0-rf,x0,y0+rf,x0-16,y0,df);先在命令組文件中產生%%Cdf,AutoCAD調用命令組文件繪圖時,就可以自動標注直徑 。值得注意的是利用C語言產生命令組文件時,C語言程序中對空格的要求極為嚴格,程序中的空格,就相當于AutoCAD中的“回車”鍵。因此,在書寫程序時,應認真仔細。

利用高級語言在AutoCAD中實現參數化繪圖,提高工作效率,給用戶也帶來了很大的方便。同時,由于C語言應用面很廣,這種方法很容易推廣。

參考文獻:

[1] 袁澤虎,戴錦春.計算機輔助設計與制造[M].北京:中國水利水電出版社,2004.

[2] 濮良貴,紀名剛.機械設計[M].北京:高等教育出版社,2006.

[3] 徐灝.機械設計手冊[M].北京:機械工業出版社,1988.

[4] 孫桓,陳作模,葛文杰.機械原理[M].北京:高等教育出版社,2006.

[5] 胡建國,李亞萍,汪鳴琦.機械工程圖學[M].武漢:武漢大學出版社,2004.

404 Not Found

404 Not Found


nginx
主站蜘蛛池模板: 久久中文字幕2021精品| 本亚洲精品网站| 欧美.成人.综合在线| 免费一级毛片| 亚洲国产精品无码AV| 亚洲国产高清精品线久久| 久久久91人妻无码精品蜜桃HD| 欧美在线黄| 久久黄色影院| 黄色福利在线| 国产日韩欧美在线视频免费观看| 情侣午夜国产在线一区无码| 丁香婷婷激情网| 毛片最新网址| 在线观看免费人成视频色快速| 日本手机在线视频| 欧美一区精品| 手机精品福利在线观看| 国产噜噜噜| 欧美日本中文| 国产噜噜噜| 亚洲综合片| 亚洲欧美天堂网| 欧美成人综合视频| 成人午夜精品一级毛片| 女人爽到高潮免费视频大全| 亚洲欧美不卡| 欧美午夜小视频| www亚洲天堂| 97视频精品全国在线观看| 国产视频入口| 97se综合| 久久免费成人| 欧美69视频在线| 亚洲国产成人麻豆精品| 中文字幕av一区二区三区欲色| 鲁鲁鲁爽爽爽在线视频观看| 成人综合在线观看| 最新亚洲人成无码网站欣赏网| 国产高清在线观看| 免费福利视频网站| 国产精品久久久精品三级| 国产视频欧美| 91视频精品| 青青青亚洲精品国产| 国产自视频| 久久精品这里只有国产中文精品 | 无遮挡一级毛片呦女视频| 在线观看免费国产| 欧美亚洲欧美区| 怡春院欧美一区二区三区免费| 国产一级毛片在线| 无码电影在线观看| 无码高潮喷水专区久久| 伊人久久久久久久久久| 亚洲一区毛片| 国产超碰一区二区三区| 国产91精选在线观看| 亚洲香蕉伊综合在人在线| 中文天堂在线视频| 91国内在线观看| aⅴ免费在线观看| 亚洲人成人伊人成综合网无码| 亚洲欧洲综合| 中文国产成人精品久久| 青草娱乐极品免费视频| 国产性猛交XXXX免费看| 中文字幕久久亚洲一区| 欧洲欧美人成免费全部视频| 制服丝袜国产精品| 高清免费毛片| 久久亚洲欧美综合| 婷婷中文在线| 国模在线视频一区二区三区| 亚洲国产日韩欧美在线| 中文国产成人久久精品小说| 欧美日韩专区| 国产在线98福利播放视频免费| 精品一区二区三区水蜜桃| 四虎在线高清无码| 国产区免费精品视频| 午夜欧美在线|