static void WriteCoords(std::wofstream &ofs) { CBox box; GetWorldBox(box); if(!box.m_valid) { box = CBox(-100, -100, -50, 100, 100, 50); } else { while(box.Width() < 100){box.m_x[0] -= 5.0; box.m_x[3] += 5.0;} while(box.Height() < 100){box.m_x[1] -= 5.0; box.m_x[4] += 5.0;} box.m_x[2] -= 10.0; } ofs<<"toolpath.coords = Coords("<<box.MinX()<<", "<<box.MinY()<<", "<<box.MinZ()<<", "<<box.MaxX()<<", "<<box.MaxY()<<", "<<box.MaxZ()<<")\n"; }
static void WriteSolids(std::wofstream &ofs) { std::set<int> stock_ids; wxGetApp().m_program->Stocks()->GetSolidIds(stock_ids); for(std::set<int>::iterator It = stock_ids.begin(); It != stock_ids.end(); It++) { int id = *It; HeeksObj* object = wxGetApp().GetIDObject(SolidType, id); if(object) { CBox box; object->GetBox(box); ofs<<"voxelcut.set_current_color("<<object->GetColor()->COLORREF_color()<<")\n"; double c[3]; box.Centre(c); ofs<<"toolpath.coords.add_block("<<c[0]<<", "<<c[1]<<", "<<box.MinZ()<<", "<<box.Width()<<", "<<box.Height()<<", "<<box.Depth()<<")\n"; } } }