[心得] 叫AutoCAD自動畫圖的心得分享(附VC源碼)
假設,你的應用程式產生如下的數據檔案
它所代表的是一條曲線。
以下的方法可以讓你很容易的叫AutoCAD
自動產生這條曲線。
事實上,這個方法可以適用於所有AutoCAD
所提供的畫圖元件,而且2D/3D都適合使用。
0.000000 0.000000
0.196350 0.195090
0.392699 0.382683
0.589049 0.555570
0.785398 0.707107
0.981748 0.831470
1.178097 0.923880
1.374447 0.980785
1.570796 1.000000
1.767146 0.980785
1.963495 0.923880
2.159845 0.831470
2.356194 0.707107
2.552544 0.555570
2.748894 0.382683
2.945243 0.195090
3.141593 0.000000
3.337942 -0.195090
3.534292 -0.382683
3.730641 -0.555570
3.926991 -0.707107
4.123340 -0.831470
4.319690 -0.923880
4.516039 -0.980785
4.712389 -1.000000
4.908739 -0.980785
5.105088 -0.923880
5.301438 -0.831470
5.497787 -0.707107
5.694137 -0.555570
5.890486 -0.382683
6.086836 -0.195090
6.283185 -0.000000
產生以上數據的程式源碼
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <process.h>
// ----------------------------------------------
// x= dtor( t);
double dtor(double d1)
{
return(d1/180.0*(4.0*atan(1.0)));
}// end of dtor()
// ----------------------------------------------
void main(int argc, char *argv[])
{
// generate sin-curve data
// for theta= 0 to 360 step dt do ...
int no;
double t1, t2, dt, t, x, y;
FILE *f1;
// ----------------------------------------------
if ((f1= fopen(argv[1], "wt")) == NULL) {
printf("*** error of fopen() == NULL\n");
_getch();
exit(1);
}
// ----------------------------------------------
t1= 0.0;
t2= 360.0;
no= 32;
dt= (t2 - t1)/no;
for (t= t1;t <= (t2 + 0.1*dt);t+= dt) {
x= dtor(t);
y= sin(x);
// plot x, y
fprintf(f1, "%10.6lf %10.6lf\n", x, y);
}
fclose(f1);
}// end of main()
為了避免被公幹,需要的人請前往我的部落格 留言索取
http://myblog.pchome.com.tw/sjgau/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.103.178
※ sjgau:轉錄至看板 Cad_Cae 02/14 08:12
※ sjgau:轉錄至看板 Programming 02/14 08:12
推
02/14 17:56, , 1F
02/14 17:56, 1F
推
02/14 20:57, , 2F
02/14 20:57, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章