Loading change_log.txt +12 −0 Original line number Original line Diff line number Diff line Loading @@ -5,6 +5,18 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with Please add newer entries at the top, list the date and your name with email address. email address. 2008-oct-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> ================================================================================ +pcbnew: More about copper zones filled without grid (by polygons) Currently for tests only (work in progress). now working thermal reliefs. texts on copper zones. Removing insulated copper islands. currently : not implemented: trapezoidal pads 2008-oct-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2008-oct-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> ================================================================================ ================================================================================ +pcbnew: +pcbnew: Loading include/id.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -570,7 +570,7 @@ enum main_id { ID_POPUP_PCB_PLACE_ZONE_OUTLINES, ID_POPUP_PCB_PLACE_ZONE_OUTLINES, ID_POPUP_PCB_DRAG_ZONE_OUTLINE_SEGMENT, ID_POPUP_PCB_DRAG_ZONE_OUTLINE_SEGMENT, ID_POPUP_PCB_PLACE_DRAGGED_ZONE_OUTLINE_SEGMENT, ID_POPUP_PCB_PLACE_DRAGGED_ZONE_OUTLINE_SEGMENT, ID_POPUP_ZONE_UNUSED3, ID_POPUP_PCB_REMOVE_FILLED_AREAS, ID_POPUP_ZONE_UNUSED4, ID_POPUP_ZONE_UNUSED4, ID_POPUP_PCB_DELETE_MARKER, ID_POPUP_PCB_DELETE_MARKER, Loading pcbnew/CMakeLists.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -143,6 +143,7 @@ set(PCBNEW_SRCS zones_by_polygon.cpp zones_by_polygon.cpp zones_convert_brd_items_to_polygons.cpp zones_convert_brd_items_to_polygons.cpp zone_filling_algorithm.cpp zone_filling_algorithm.cpp zones_polygons_insulated_copper_islands.cpp zones_test_and_combine_areas.cpp zones_test_and_combine_areas.cpp ) ) Loading pcbnew/class_zone.h +7 −1 Original line number Original line Diff line number Diff line Loading @@ -101,6 +101,12 @@ public: EDA_Rect GetBoundingBox(); EDA_Rect GetBoundingBox(); /** * Function Test_For_Copper_Island_And_Remove__Insulated_Islands * Remove insulated copper islands found in m_FilledPolysList. * @param aPcb = the board to analyse */ void Test_For_Copper_Island_And_Remove_Insulated_Islands( BOARD* aPcb ); /** /** * Function DrawWhileCreateOutline * Function DrawWhileCreateOutline Loading pcbnew/edit.cpp +17 −0 Original line number Original line Diff line number Diff line Loading @@ -68,6 +68,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE: case ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE: case ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER: case ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER: case ID_POPUP_PCB_FILL_ALL_ZONES: case ID_POPUP_PCB_FILL_ALL_ZONES: case ID_POPUP_PCB_REMOVE_FILLED_AREAS: case ID_POPUP_PCB_PLACE_ZONE_CORNER: case ID_POPUP_PCB_PLACE_ZONE_CORNER: case ID_POPUP_PCB_PLACE_ZONE_OUTLINES: case ID_POPUP_PCB_PLACE_ZONE_OUTLINES: case ID_POPUP_PCB_EDIT_ZONE_PARAMS: case ID_POPUP_PCB_EDIT_ZONE_PARAMS: Loading Loading @@ -543,6 +544,22 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) Fill_All_Zones( &dc ); Fill_All_Zones( &dc ); break; break; case ID_POPUP_PCB_REMOVE_FILLED_AREAS: // Remove all zones : if( m_Pcb->m_Zone ) { m_Pcb->m_Zone->DeleteStructList(); m_Pcb->m_Zone = NULL; m_Pcb->m_NbSegmZone = 0; } for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) { ZONE_CONTAINER* zone_container = m_Pcb->GetArea( ii ); zone_container->m_FilledPolysList.clear();; } GetScreen()->SetModify(); DrawPanel->Refresh(); break; case ID_POPUP_PCB_FILL_ZONE: case ID_POPUP_PCB_FILL_ZONE: DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema(); Fill_Zone( &dc, (ZONE_CONTAINER*) GetCurItem() ); Fill_Zone( &dc, (ZONE_CONTAINER*) GetCurItem() ); Loading Loading
change_log.txt +12 −0 Original line number Original line Diff line number Diff line Loading @@ -5,6 +5,18 @@ Started 2007-June-11 Please add newer entries at the top, list the date and your name with Please add newer entries at the top, list the date and your name with email address. email address. 2008-oct-11 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> ================================================================================ +pcbnew: More about copper zones filled without grid (by polygons) Currently for tests only (work in progress). now working thermal reliefs. texts on copper zones. Removing insulated copper islands. currently : not implemented: trapezoidal pads 2008-oct-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> 2008-oct-07 UPDATE Jean-Pierre Charras <jean-pierre.charras@inpg.fr> ================================================================================ ================================================================================ +pcbnew: +pcbnew: Loading
include/id.h +1 −1 Original line number Original line Diff line number Diff line Loading @@ -570,7 +570,7 @@ enum main_id { ID_POPUP_PCB_PLACE_ZONE_OUTLINES, ID_POPUP_PCB_PLACE_ZONE_OUTLINES, ID_POPUP_PCB_DRAG_ZONE_OUTLINE_SEGMENT, ID_POPUP_PCB_DRAG_ZONE_OUTLINE_SEGMENT, ID_POPUP_PCB_PLACE_DRAGGED_ZONE_OUTLINE_SEGMENT, ID_POPUP_PCB_PLACE_DRAGGED_ZONE_OUTLINE_SEGMENT, ID_POPUP_ZONE_UNUSED3, ID_POPUP_PCB_REMOVE_FILLED_AREAS, ID_POPUP_ZONE_UNUSED4, ID_POPUP_ZONE_UNUSED4, ID_POPUP_PCB_DELETE_MARKER, ID_POPUP_PCB_DELETE_MARKER, Loading
pcbnew/CMakeLists.txt +1 −0 Original line number Original line Diff line number Diff line Loading @@ -143,6 +143,7 @@ set(PCBNEW_SRCS zones_by_polygon.cpp zones_by_polygon.cpp zones_convert_brd_items_to_polygons.cpp zones_convert_brd_items_to_polygons.cpp zone_filling_algorithm.cpp zone_filling_algorithm.cpp zones_polygons_insulated_copper_islands.cpp zones_test_and_combine_areas.cpp zones_test_and_combine_areas.cpp ) ) Loading
pcbnew/class_zone.h +7 −1 Original line number Original line Diff line number Diff line Loading @@ -101,6 +101,12 @@ public: EDA_Rect GetBoundingBox(); EDA_Rect GetBoundingBox(); /** * Function Test_For_Copper_Island_And_Remove__Insulated_Islands * Remove insulated copper islands found in m_FilledPolysList. * @param aPcb = the board to analyse */ void Test_For_Copper_Island_And_Remove_Insulated_Islands( BOARD* aPcb ); /** /** * Function DrawWhileCreateOutline * Function DrawWhileCreateOutline Loading
pcbnew/edit.cpp +17 −0 Original line number Original line Diff line number Diff line Loading @@ -68,6 +68,7 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) case ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE: case ID_POPUP_PCB_STOP_CURRENT_EDGE_ZONE: case ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER: case ID_POPUP_PCB_DELETE_ZONE_LAST_CREATED_CORNER: case ID_POPUP_PCB_FILL_ALL_ZONES: case ID_POPUP_PCB_FILL_ALL_ZONES: case ID_POPUP_PCB_REMOVE_FILLED_AREAS: case ID_POPUP_PCB_PLACE_ZONE_CORNER: case ID_POPUP_PCB_PLACE_ZONE_CORNER: case ID_POPUP_PCB_PLACE_ZONE_OUTLINES: case ID_POPUP_PCB_PLACE_ZONE_OUTLINES: case ID_POPUP_PCB_EDIT_ZONE_PARAMS: case ID_POPUP_PCB_EDIT_ZONE_PARAMS: Loading Loading @@ -543,6 +544,22 @@ void WinEDA_PcbFrame::Process_Special_Functions( wxCommandEvent& event ) Fill_All_Zones( &dc ); Fill_All_Zones( &dc ); break; break; case ID_POPUP_PCB_REMOVE_FILLED_AREAS: // Remove all zones : if( m_Pcb->m_Zone ) { m_Pcb->m_Zone->DeleteStructList(); m_Pcb->m_Zone = NULL; m_Pcb->m_NbSegmZone = 0; } for( int ii = 0; ii < m_Pcb->GetAreaCount(); ii++ ) { ZONE_CONTAINER* zone_container = m_Pcb->GetArea( ii ); zone_container->m_FilledPolysList.clear();; } GetScreen()->SetModify(); DrawPanel->Refresh(); break; case ID_POPUP_PCB_FILL_ZONE: case ID_POPUP_PCB_FILL_ZONE: DrawPanel->MouseToCursorSchema(); DrawPanel->MouseToCursorSchema(); Fill_Zone( &dc, (ZONE_CONTAINER*) GetCurItem() ); Fill_Zone( &dc, (ZONE_CONTAINER*) GetCurItem() ); Loading