void DrawCmd::DrawLocalFan() { AcDbObjectId objId = ArxUtilHelper::SelectObject( _T( "请选择一个掘进工作面:" ) ); if( objId.isNull() ) return; if( !ArxUtilHelper::IsEqualType( _T( "TTunnel" ), objId ) ) return; AcDbObjectIdArray objIds; DrawHelper::GetTagGEById2( objId, _T( "LocalFan" ), objIds ); if( !objIds.isEmpty() ) { AfxMessageBox( _T( "该掘进工作面已设置了局部通风机!" ) ); return; } AcGePoint3d pt; if( !ArxUtilHelper::PromptPt( _T( "\n请指定局扇的插入点坐标:" ), pt ) ) return; Fan* pFan = new LocalFan( pt, 0 ); // 目前假设局扇的角度为0(实际绘图中局扇是没有方向的) if( pFan == 0 ) return; pFan->setRelatedGE( objId ); // 关联巷道 // 初始化并提交到数据库 if( !ArxUtilHelper::PostToModelSpace( pFan ) ) delete pFan; }
void DrawCmd::DrawLocalFan() { AcDbObjectId objId = ArxUtilHelper::SelectObject( _T( "请选择一条巷道:" ) ); if( objId.isNull() ) return; if( !ArxUtilHelper::IsEqualType( _T( "LinkedGE" ), objId ) ) return; //if( !ArxUtilHelper::IsEqualType( _T( "Chimney" ), objId ) ) return; AcDbObjectIdArray objIds; DrawHelper::GetTagGEById2( objId, _T( "LocalFan" ), objIds ); //if( !objIds.isEmpty() ) //{ // AfxMessageBox( _T( "该掘进工作面已设置了局部通风机!" ) ); // return; //} AcGePoint3d pt,insertPt; double angle; //if( !GetClosePtAndAngle( objId, pt, angle ) ) return; if( !ArxUtilHelper::PromptPt( _T( "\n请指定局扇的插入点坐标:" ), pt ) ) return; insertPt = pt; if( !GetClosePtAndAngle( objId, pt, angle ) ) return; Fan* pFan = new LocalFan( insertPt, angle ); if( pFan == 0 ) return; pFan->setRelatedGE( objId ); // 关联巷道 // 初始化并提交到数据库 if( !ArxUtilHelper::PostToModelSpace( pFan ) ) delete pFan; }
void DrawCmd::DrawMainFan() { AcDbObjectId objId = ArxUtilHelper::SelectObject( _T( "请选择一条巷道:" ) ); if( objId.isNull() ) return; if( !ArxUtilHelper::IsEqualType( _T( "Tunnel" ), objId ) ) return; AcGePoint3d pt; if( !PromptInsertPt( objId, pt ) ) return; double angle; if( !GetClosePtAndAngle( objId, pt, angle ) ) return; Fan* pFan = new MainFan( pt, angle ); if( pFan == 0 ) return; pFan->setRelatedGE( objId ); // 关联巷道 // 初始化并提交到数据库 if( !ArxUtilHelper::PostToModelSpace( pFan ) ) delete pFan; }