找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1447|回复: 2

[LISP函数]:生成一个SCR的脚本文件的C语言接口

[复制链接]
发表于 2004-7-20 19:33:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
// 本程序生成一个SCR的脚本文件
//画图的命令可在main中用C语言编写,其它的程序可以类似修改!#include <stdio.h>
#include <math.h>
#include <string.h>

void begin(void);
void gend(void);
void limits(float,float,float,float);
void zooma(void);
void line(float,float,float,float);
void circle(float,float,float);
void circd(float,float,float);
void circ3p(float,float,float,float,float,float);
void arc(float,float,float,float,float,float);

FILE *fp;
void begin(void)
{
        char fname[12];
        printf("Please input file name(*.scr),*=");
        scanf("%s",fname);
        strcat(fname,".scr");
        if((fp=fopen(fname,"w"))==NULL)
        {printf("Can't open the file!!!");
         return;
        }
}
void gend(void)
{
        fclose(fp);
}
void limits(float xl,float yb,float xr,float yt)
{
        fprintf(fp,"LIMITS %f,%f %f,%f \n",xl,yb,xr,yt);
}
void zooma(void)
{
        fprintf(fp,"ZOOM A\n");
}
void line(float x1,float y1,float x2,float y2)
{
        fprintf(fp,"LINE %f,%f %f,%f \n",x1,y1,x2,y2);
}
void circle(float xc,float yc,float r)//圆心,r
{
    fprintf(fp,"CIRCLE %f,%f %f\n",xc,yc,r);
}
void circd(float xc,float yc,float d)     // 圆心,D
{
    fprintf(fp,"CIRCLE %f,%f D %f\n",xc,yc,d);
}

void circ3p(float x1,float y1,float x2,float y2,float x3,float y3)     // 3D画圆
{
    fprintf(fp,"CIRCLE 3P %f,%f %f,%f %f,%f\n",x1,y1,x2,y2,x3,y3);
}

void arc(float x1,float y1,float x2,float y2,float x3,float y3)     // 3D画圆弧
{
    fprintf(fp,"ARC %f,%f %f,%f %f,%f\n",x1,y1,x2,y2,x3,y3);
}

main()
{int nx,i;
float xmin,xmax,dx;//xmin,xmax:x的范围,dx:步长
float x1,y1,x2,y2;
printf("\n输入最小x,最大x,步长dx:");
scanf("%f%f%f",&xmin,&xmax,&dx);
nx=(xmax-xmin)/dx;
dx=(xmax-xmin)/nx;
begin();
//limits(-1.0,-3.0,10.0,3.0);
zooma();
x1=xmin;
y1=2*sin(x1);
for(i=0;i<nx;i++)
{
         x2=x1+dx;
         y2=2*sin(x2);
         line(x1,y1,x2,y2);
         x1=x2;
         y1=y2;
}
line(xmin-(xmax-xmin)*0.1,0,xmax+(xmax-xmin)*0.1,0);
line(0,-2,0,2);
gend();
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2004-7-20 21:16:19 | 显示全部楼层
如果写全点,写成个dll什么的就好了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 312个

财富等级: 日进斗金

发表于 2016-11-19 22:42:28 | 显示全部楼层
这个是lisp函数吗?scr现在似乎没有太大的实用价值了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-15 13:49 , Processed in 0.362217 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表