AcDbObjectId DoubleLine::draw() { //计算始端的2个坐标 AcGePoint3d m_leftStartPt, m_leftEndPt; AcGePoint3d m_rightStartPt, m_rightEndPt; caclStartPoint( m_leftStartPt, m_rightStartPt ); //计算末端的2个坐标 caclEndPoint( m_leftEndPt, m_rightEndPt ); //绘制2条直线 AcDbObjectId line1 = ArxDrawHelper::DrawLine( m_leftStartPt, m_leftEndPt ); AcDbObjectId line2 = ArxDrawHelper::DrawLine( m_rightStartPt, m_rightEndPt ); //构造group AcDbObjectIdArray objIds; objIds.append( line1 ); objIds.append( line2 ); //构造临时的组名 CString name; name.Format( _T( "巷道%d" ), count++ ); AcDbObjectId groupId = ArxGroupHelper::CreateGroup( name, objIds ); if( !groupId.isNull() ) { ArxGroupHelper::ConvertToAnonymousGroup( groupId ); } return groupId; }
void DoubleTunnelDraw::update() { caclStartPoint( m_leftStartPt, m_rightStartPt ); caclEndPoint( m_leftEndPt, m_rightEndPt ); }