- UID
- 38377
- 积分
- 135
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2003-3-25
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
 - // 选取"JMD"图层类型为"ARC,POLYLINE,CIRCLE"的实体,选择结果不是,则提示退出
- void test()
- {
- ads_name ent;
- if ( PickEntity( _T("\n选择要拉直的2D曲线: "), _T("ARC,POLYLINE,CIRCLE"), _T("JMD"), ent ) )
- {
- DoSomeThing();
- }
- }
- int PickEntity( TCHAR *promptstr, TCHAR *EntType, TCHAR *EntLayer, ads_name resent )
- {
- int f1=0,f2=0;
- ads_point pt;
- struct resbuf *edata, *rb;
- while( ads_entsel( promptstr, resent, pt ) == RTNORM )
- {
- edata = ads_entget( resent );
- if ( EntType != NULL && EntType[0] != '\0' )
- {
- rb = dxf( edata, 0 );
- f1 = isKeywordInString( rb->resval.rstring, EntType );
- }
- if ( EntLayer != NULL && EntLayer[0] != '\0' )
- {
- rb = dxf( edata, 8 );
- f2 = isKeywordInString( rb->resval.rstring, EntLayer );
- }
- ads_relrb( edata );
- if ( !f1 && !f2 )
- return 1;
- else
- ads_printf(_T( "\n\n***** 请重新选择物体 *****" ));
- }
- return 0;
- }
- int isKeywordInString( TCHAR *keyword, TCHAR *inputstr )
- {
- TCHAR *pc1, *pc2;
- int fret = 1;
- pc1 = pc2 = inputstr;
- while( *pc1 != '\0' && fret != 0 )
- {
- while( *pc2 != ',' && *pc2 != ';' && *pc2 != '|' && *pc2 != ' ' && *pc2 != '\0' )
- pc2++;
- fret = memcmp( keyword, pc1, (pc2-pc1)*sizeof(TCHAR) );
- if ( *pc2 != '\0' )
- pc2 = pc2 + 1;
- pc1 = pc2;
- }
- return fret;
- }
- struct resbuf *dxf( struct resbuf *edata, short DXF_CODE )
- {
- struct resbuf *p;
- p = edata;
- while( p != NULL )
- {
- if ( p->restype == DXF_CODE )
- break;
- p = p->rbnext;
- }
- return p;
- }
|
|