⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 drawline.mc

📁 Bentley Microstation的二次开发工具MDL的学习源代码
💻 MC
字号:
/*================================================================================
						Step by step 之 MDL 快速入门实例五
================================================================================*/
#include    <tcb.h>
#include    <mdl.h>
#include	<stdio.h>
#include	<userfnc.h>
#include    <mselems.h>
#include	<stdio.h>

Dpoint3d	g_Point[101];
int			g_pointIndex;

Private void InputSide();

Public void main(int argc,char *argv[])
{
	InputSide();	
}

void Linestring_onPoint(Dpoint3d* pPoint,int view);
void Linestring_reset(void);
void Linestring_2onPoint(Dpoint3d* pPoint,int view);
void Linestring_2show(Dpoint3d *pPoint, int view, int drawMode, int add);
void Linestring_2reset(void);

Private void InputSide()
{
	mdlState_startPrimitive(Linestring_onPoint,InputSide,0,0);
	mdlState_setFunction(STATE_COMPLEX_DYNAMICS, NULL);
}

void Linestring_onPoint(Dpoint3d* pPoint,int view)
{
	mdlState_setFunction(STATE_DATAPOINT, Linestring_2onPoint);
	mdlState_setFunction(STATE_RESET, Linestring_2reset);
	mdlState_setFunction(STATE_COMPLEX_DYNAMICS, Linestring_2show);
	
	g_Point[0] = *pPoint;
	g_pointIndex=1;
}

void Linestring_2onPoint(Dpoint3d* pPoint,int view)
{
	g_Point[g_pointIndex]=*pPoint;
	if (g_pointIndex<101) 
		g_pointIndex++;
	else
		Linestring_2reset();

}


void Linestring_2show(Dpoint3d *pPoint, int view, int drawMode, int add)
{
	MSElement		el;

	g_Point[g_pointIndex]=*pPoint;
	mdlLineString_create(&el, NULL, g_Point, g_pointIndex+1);
	mdlElement_display(&el, drawMode);	
}

void Linestring_2reset(void)
{
	MSElement		el;

	mdlLineString_create(&el, NULL, g_Point, g_pointIndex);
	mdlElement_add(&el);
	mdlElement_display(&el, NORMALDRAW);

	mdlState_startPrimitive(Linestring_onPoint,Linestring_reset,0,0);
	mdlState_setFunction(STATE_COMPLEX_DYNAMICS, NULL);
	
	g_pointIndex=0;
}

void Linestring_reset(void)
{
	mdlSystem_exit(0,1);
	mdlState_startDefaultCommand();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -