📄 drawcell.mc
字号:
/*================================================================================
Step by step 之 MDL 快速入门实例四
================================================================================*/
#include <tcb.h>
#include <mdl.h>
#include <stdio.h>
#include <userfnc.h>
#include <mselems.h>
#include <stdio.h>
Public void main(int argc,char *argv[])
{
Dpoint3d vertex[3],origin;
double d_lengthUOR,d_centerUOR;
MSElement ElementArc,ElementLine,Hdr;
int i,j;
double a,b,c,l;
MSElementDescr *TelmDscrP;
mdlCnv_masterToUOR(&d_lengthUOR, 1000, MASTERFILE);
mdlCnv_masterToUOR(&d_centerUOR, 100000, MASTERFILE);
origin.x = d_centerUOR + tcb->globorg.x;
origin.y = d_centerUOR + tcb->globorg.y;
origin.z=0;
l = d_lengthUOR * cos(fc_60);
a = l * cos(fc_60);
c = l/2;
b = c * tan(fc_60);
vertex[0].x = origin.x;
vertex[0].y = origin.y - a;
vertex[1].x = origin.x + c;
vertex[1].y = origin.y;
vertex[0].z = vertex[1].z =0;
mdlComplexChain_createHeader(&Hdr, FALSE, 0);
mdlElmdscr_new(&TelmDscrP,NULL,&Hdr);
mdlLineString_create(&ElementLine, NULL, vertex, 2);
mdlElmdscr_appendElement(TelmDscrP, &ElementLine);
mdlView_newWindowCenter(tcb->lstvw,&origin);
j=0xff;
mdlView_fit(tcb->lstvw, &j);
mdlView_updateSingle(tcb->lstvw);
mdlElmdscr_display(TelmDscrP,MASTERFILE,NORMALDRAW);
mdlSystem_pauseTicks(120);
vertex[0].x = origin.x + c;
vertex[0].y = origin.y;
vertex[1].x = origin.x + c;
vertex[1].y = origin.y - b;
vertex[2].x = origin.x;
vertex[2].y = origin.y - b;
vertex[0].z = vertex[1].z = vertex[2].z =0;
if (mdlArc_createByPoints(&ElementArc,NULL,vertex)!=SUCCESS) return;
mdlElmdscr_appendElement(TelmDscrP, &ElementArc);
mdlElmdscr_display(TelmDscrP,MASTERFILE,NORMALDRAW);
mdlSystem_pauseTicks(120);
vertex[0].x = origin.x;
vertex[0].y = origin.y - b;
vertex[1].x = origin.x - c;
vertex[1].y = origin.y - b;
vertex[2].x = origin.x -c;
vertex[2].y = origin.y;
vertex[0].z = vertex[1].z = vertex[2].z =0;
if (mdlArc_createByPoints(&ElementArc,NULL,vertex)!=SUCCESS) return;
mdlElmdscr_appendElement(TelmDscrP, &ElementArc);
mdlElmdscr_display(TelmDscrP,MASTERFILE,NORMALDRAW);
mdlSystem_pauseTicks(120);
vertex[0].x = origin.x -c;
vertex[0].y = origin.y;
vertex[1].x = origin.x;
vertex[1].y = origin.y -a;
vertex[0].z = vertex[1].z =0;
mdlLineString_create(&ElementLine, NULL, vertex, 2);
mdlElmdscr_appendElement(TelmDscrP, &ElementLine);
mdlElmdscr_add(TelmDscrP);
mdlElmdscr_display(TelmDscrP,MASTERFILE,NORMALDRAW);
mdlElmdscr_freeAll(&TelmDscrP);
mdlSystem_exit(0,1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -