Go to Post No one wants to have the piece that they spent hours swiss-cheesing break in half... - BillCloyes [more]
Home
Go Back   Chief Delphi > Technical > IT / Communications
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rating: Thread Rating: 12 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 07-18-2013, 12:03 AM
godwinv godwinv is offline
Registered User
FRC #0254 (Team 254 Cheesy Poofs)
Team Role: Communications
 
Join Date: Jul 2013
Rookie Year: 2011
Location: United States
Posts: 3
godwinv is just really nicegodwinv is just really nicegodwinv is just really nicegodwinv is just really nice
Team 254 Open-Source Release: Cheesy Parts

Cheesy Parts is an open-source web-based system for tracking parts through the design and manufacture cycle. During some of the past seasons, we have had problems losing track of the progress of various parts, or whether we had the raw materials for them. To fix this, we wrote this web-based system during the offseason. It assigns part numbers with which CAD files can be saved to version control and stores information about parts' current manufacturing status.

Features include:
  • Tracking of part and assembly hierarchy
  • Part status tracking
  • Part metadata (notes, source material, cut length, quantity, priority, etc.)
  • Dashboard of all part statuses

The code is available at https://github.com/Team254/cheesy-parts. There is also a working demo available at http://parts-demo.team254.com (username "demo@team254.com", password "chezypofs").

Feedback and suggestions for improvement are welcome.

Click image for larger version

Name:	Cheesy Parts Demo.png
Views:	1013
Size:	170.7 KB
ID:	15088
  #2   Spotlight this post!  
Unread 07-18-2013, 12:14 AM
Akash Rastogi Akash Rastogi is offline
Jim Zondag is my Spirit Animal
FRC #2170 (Titanium Tomahawks)
Team Role: Mentor
 
Join Date: Feb 2007
Rookie Year: 2006
Location: Manchester, Connecticut
Posts: 7,003
Akash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond reputeAkash Rastogi has a reputation beyond repute
Re: Team 254 Open-Source Release: Cheesy Parts

Thanks a ton for publishing this, guys. I know many of us asked about this a few months ago, and I'm eager to check it out.

Thank you!
__________________
My posts and opinions do not necessarily reflect those of my affiliated team.
['16-'xx]: Mentor FRC 2170 | ['11-'13]: Co-Founder/Mentor FRC 3929 | ['06-'10]: Student FRC 11 - MORT | ['08-'12]: Founder - EWCP (OG)
  #3   Spotlight this post!  
Unread 07-18-2013, 12:19 AM
Grim Tuesday's Avatar
Grim Tuesday Grim Tuesday is offline
Registered User
AKA: Simon Bohn
FRC #0639 (Code Red)
Team Role: Alumni
 
Join Date: Jan 2010
Rookie Year: 2010
Location: Baltimore MD (JHU)
Posts: 1,597
Grim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond reputeGrim Tuesday has a reputation beyond repute
Re: Team 254 Open-Source Release: Cheesy Parts

This looks very neat and a great resource for teams!

Just a word of warning:

Our team tried to implement something like this with a physical "PARTS" (Parts and Resources Tracking System) board a few seasons ago. The theory was that the CAD team designs the part then deposits the drawing in a bin. A small tag on the corner of the drawing was generated from the part name based on a naming scheme (ie, shooter was CRR_SHO_001 or something like that). Implementing a naming scheme was a great idea because before that, we had a great deal of parts named "twistything.ipt". Anyways, the tag got cut out and pinned to a board with various tasks listed on it. All parts started in rough cutting and moved down towards finishing, with the person who did the work moving the tag to the next task. A corresponding tag was taped to the part.

In theory, the board worked great. There would always be work to do and people could see easily what needed to be done and the progress and congestion of our machining system. Unfortunately, it required an immense amount of babysitting and fell apart within the first week of heavy machining. People didn't move tags around and people relied on the system instead of the leaders to tell them what to do. When the system didn't work, things got stuck.

1. This can be solved by strong leadership and making sure everyone knows the ins, outs, and benefits of using a system like this. Industry uses stuff like this (we actually pulled our flowchart from one of our sponsors, which we saw when giving a demo there) but in industry, there are actually professional engineers and managers. It's difficult to get this kind of expertise and knowledge on an FRC team (though it certainly is possible in the culture of many teams - 254 is one of them and I respect them immensely for it).

2. It can also be solved by eliminating excess complication in the process: for us, that was removing the board from the system.

We replaced it with a shelf that drawings were placed on, and machinists could just pick up at their leisure to do. As the part got closer to completion it moved down the shelf. Top level was rough cutting, the next facing, the next drilling and so forth. There was no meta tracking system and it worked out better for us.

I guess the lessons we learned from our experiment was to eliminate steps that were unnecessary for our team and secondly, if we are implementing a new system, make sure the leaders remain just as strong and don't rely on it as a crutch.

Again, this looks like a really cool tool and I might prod my team to try another part management system, but I think it will be good to go into it with some prior knowledge.

Last edited by Grim Tuesday : 07-18-2013 at 12:22 AM.
  #4   Spotlight this post!  
Unread 07-18-2013, 02:16 AM
DampRobot's Avatar
DampRobot DampRobot is offline
Physics Major
AKA: Roger Romani
FRC #0100 (The Wildhats) and FRC#971 (Spartan Robotics)
Team Role: College Student
 
Join Date: Jan 2012
Rookie Year: 2010
Location: Stanford University
Posts: 1,277
DampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond repute
Re: Team 254 Open-Source Release: Cheesy Parts

Thank you immensely for posting this. I there any chance that there could be some integration with SolidWorks as you've done in years past?
__________________
The mind is not a vessel to be filled, but a fire to be lighted.

-Plutarch
  #5   Spotlight this post!  
Unread 07-18-2013, 02:23 AM
Cory's Avatar
Cory Cory is offline
Registered User
AKA: Cory McBride
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: May 2002
Rookie Year: 2001
Location: Redwood City, CA
Posts: 6,787
Cory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond repute
Send a message via AIM to Cory
Re: Team 254 Open-Source Release: Cheesy Parts

Quote:
Originally Posted by DampRobot View Post
Thank you immensely for posting this. I there any chance that there could be some integration with SolidWorks as you've done in years past?
That would be PDM, which is from Solidworks and natively integrated. Purely for revision control.

We want to see if there's a way to automatically pull completed drawings from the PDM vault once they're checked in, so that you have one less step to go from the part management system to making parts, but we haven't done that yet.
__________________
2001-2004: Team 100
2006-Present: Team 254
  #6   Spotlight this post!  
Unread 07-18-2013, 02:26 AM
DampRobot's Avatar
DampRobot DampRobot is offline
Physics Major
AKA: Roger Romani
FRC #0100 (The Wildhats) and FRC#971 (Spartan Robotics)
Team Role: College Student
 
Join Date: Jan 2012
Rookie Year: 2010
Location: Stanford University
Posts: 1,277
DampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond repute
Re: Team 254 Open-Source Release: Cheesy Parts

Quote:
Originally Posted by Cory View Post
That would be PDM, which is from Solidworks and natively integrated. Purely for revision control.

We want to see if there's a way to automatically pull completed drawings from the PDM vault once they're checked in, so that you have one less step to go from the part management system to making parts, but we haven't done that yet.
Yeah, we've already implemented PDM fairly successfully. I was more thinking in terms of the system I believe you used to have, where new part numbers were natively assigned in SW. Doing that with drawings would be awesome too.

I agree with what others have said, these types of systems are great if everyone uses them correctly and buys into them. Usually, the easiest way to do this is to make everything is as easy as possible to do correctly.
__________________
The mind is not a vessel to be filled, but a fire to be lighted.

-Plutarch
  #7   Spotlight this post!  
Unread 07-18-2013, 03:35 AM
Cory's Avatar
Cory Cory is offline
Registered User
AKA: Cory McBride
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: May 2002
Rookie Year: 2001
Location: Redwood City, CA
Posts: 6,787
Cory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond reputeCory has a reputation beyond repute
Send a message via AIM to Cory
Re: Team 254 Open-Source Release: Cheesy Parts

Quote:
Originally Posted by DampRobot View Post
Yeah, we've already implemented PDM fairly successfully. I was more thinking in terms of the system I believe you used to have, where new part numbers were natively assigned in SW. Doing that with drawings would be awesome too.

I agree with what others have said, these types of systems are great if everyone uses them correctly and buys into them. Usually, the easiest way to do this is to make everything is as easy as possible to do correctly.
We've never used SW to assign part numbers. It's been similar to the current system where the web app assigns you the next available number.
__________________
2001-2004: Team 100
2006-Present: Team 254
  #8   Spotlight this post!  
Unread 07-18-2013, 07:41 AM
Michael Hill's Avatar
Michael Hill Michael Hill is offline
Registered User
FRC #3138 (Innovators Robotics)
Team Role: Mentor
 
Join Date: Jul 2004
Rookie Year: 2003
Location: Dayton, OH
Posts: 1,566
Michael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond reputeMichael Hill has a reputation beyond repute
Re: Team 254 Open-Source Release: Cheesy Parts

Quote:
Originally Posted by Cory View Post
That would be PDM, which is from Solidworks and natively integrated. Purely for revision control.

We want to see if there's a way to automatically pull completed drawings from the PDM vault once they're checked in, so that you have one less step to go from the part management system to making parts, but we haven't done that yet.
I have some code that extracts the images from solidworks drawings. I've been working on a PDM system inspired by 254 as well. Don't kill my computer (innovators.mooo.com). Click on Samples.

Basically, solidworks files are OLE files, so you need a library to deal with OLE files. With my PDM I'm setting up for next year, it directly interfaces with the Solidworks PDM. I've hardcoded it in my case (because...well...I just did). The only issue I'm having is that I have to rewrite my database every page load. This is because the Solidworks PDM stores data in a flat text file. When a part is updated, removed, or added, it's reflected in the flat file. I need a better way of "diff"ing the database and my flat file. If you have any ideas, that would be great. I could possibly copy the flat file and run some process in the background and look to see if something's been updated then update the database, but oh well.

Also, the PDM I'm working on will also pull out PDFs of drawings that are saved automagically.

Code:
import OleFileIO_PL

def getpng(request, project_id, partid):
	project = Project.objects.get(id = project_id)
	part = Part.objects.get(id = partid)
	filename = 'D:/VaultData/projects/'+project.name+'/'+part.fileName.replace('.','_')+'/'+part.revision+'/_'+part.fileName[-6:]
	
	try:
		with open(filename1): pass
	except:
		a=1
	
	if (filename):
		assert OleFileIO_PL.isOleFile(filename)
		ole = OleFileIO_PL.OleFileIO(filename)
		png = ole.openstream('PreviewPNG')
		data = png.read()
		return HttpResponse(data, mimetype="image/png")

Last edited by Michael Hill : 07-18-2013 at 07:44 AM.
  #9   Spotlight this post!  
Unread 07-18-2013, 08:17 AM
techtiger1's Avatar
techtiger1 techtiger1 is offline
Coach Drew?!?!
AKA: Drew Disbury
FRC #1251 (TechTigers)
Team Role: Mentor
 
Join Date: Jul 2004
Rookie Year: 2004
Location: coconut creek ,fl
Posts: 629
techtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond reputetechtiger1 has a reputation beyond repute
Send a message via AIM to techtiger1
Re: Team 254 Open-Source Release: Cheesy Parts

Cory,

Once again I am floored by the professionalism of the poofs. Thank you for posting this, what a great way to keep things organized.
__________________
Team 1251 The TechTigers
"Inspiring future innovators, one stripe at a time"
2004 Rookie All Star Orlando Regional
2006 Palmetto Regional Winner
2007 Orlando Regional Winner
2008 Orlando Regional Winner
2010 Orlando Regional Winner
2013 South Florida Regional Winner
  #10   Spotlight this post!  
Unread 07-18-2013, 11:24 AM
AdamHeard's Avatar
AdamHeard AdamHeard is offline
Lead Mentor
FRC #0973 (Greybots)
Team Role: Mentor
 
Join Date: Oct 2004
Rookie Year: 2004
Location: Atascadero
Posts: 5,494
AdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond reputeAdamHeard has a reputation beyond repute
Send a message via AIM to AdamHeard
Re: Team 254 Open-Source Release: Cheesy Parts

Very cool.
  #11   Spotlight this post!  
Unread 07-18-2013, 05:44 PM
tim-tim's Avatar
tim-tim tim-tim is offline
Simplicity by Design...
AKA: Tim Miedzinski
FRC #0836 (The RoboBees)
Team Role: Mentor
 
Join Date: Feb 2007
Rookie Year: 2004
Location: Hollywood
Posts: 603
tim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond reputetim-tim has a reputation beyond repute
Re: Team 254 Open-Source Release: Cheesy Parts

Maybe it's just the mobile version (only thing I have to test at the moment), but every time I click I have to login again. Is this the intent, logging on at every mouse click?
__________________
The RoboBees

Tim's Shortcuts Anderson Powerpoles and Crimper, Star/Tube Nuts
  #12   Spotlight this post!  
Unread 07-22-2013, 04:37 PM
roystur44's Avatar
roystur44 roystur44 is offline
Mentor/Sponsor
AKA: Roy Dumlao
FRC #4543 (Apollo Robotics)
Team Role: Mentor
 
Join Date: Mar 2010
Rookie Year: 2006
Location: San Jose,California
Posts: 361
roystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond reputeroystur44 has a reputation beyond repute
Send a message via Yahoo to roystur44
Re: Team 254 Open-Source Release: Cheesy Parts

Feedback and suggestions for improvement are welcome.

[/ATTACH][/quote]

You guys are awesome. This would make a great cloud based app. Using a varbin type you could save binary file attachments(pdf, edrw, etc) and use the web browser as the viewer. Also being able to collapse an assembly to the parent part number is a desired feature. Also being able to attach a date with a widget when you edit the part status would be cool. Start and completion dates are always something that needs to be watched.
__________________
Roy Dumlao

Mentor/Sponsor
2006-2012 971
2013-2017 4543
  #13   Spotlight this post!  
Unread 07-23-2013, 01:10 AM
DampRobot's Avatar
DampRobot DampRobot is offline
Physics Major
AKA: Roger Romani
FRC #0100 (The Wildhats) and FRC#971 (Spartan Robotics)
Team Role: College Student
 
Join Date: Jan 2012
Rookie Year: 2010
Location: Stanford University
Posts: 1,277
DampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond reputeDampRobot has a reputation beyond repute
Re: Team 254 Open-Source Release: Cheesy Parts

We're interested in running CP, but on a Windows Server (the same one we use for PDM). Do you have any tips? How do you run CP for yourselves?
__________________
The mind is not a vessel to be filled, but a fire to be lighted.

-Plutarch
  #14   Spotlight this post!  
Unread 07-23-2013, 04:03 PM
Pat Fairbank's Avatar
Pat Fairbank Pat Fairbank is offline
Circuit Breaker
FRC #0254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2001
Location: San Jose, CA
Posts: 2,131
Pat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond reputePat Fairbank has a reputation beyond repute
Send a message via MSN to Pat Fairbank
Re: Team 254 Open-Source Release: Cheesy Parts

Yeah, PDM integration is something I'd like to add if possible. One issue we have is Cheesy Parts getting out of sync with the CAD because some people are too lazy to create entries in it before saving their parts to PDM (cough EJ cough), so being able to query PDM and automagically create Cheesy Parts entries in that case would be nice. It's not going to be a walk in the cake, though, since the only way I've heard of to integrate with PDM is through some .NET DLL.
Quote:
Originally Posted by DampRobot View Post
We're interested in running CP, but on a Windows Server (the same one we use for PDM). Do you have any tips? How do you run CP for yourselves?
We're using a t1.micro EC2 instance running Ubuntu 12.04. It would probably be fairly trivial to deploy Cheesy Parts instead as a Heroku or AppFog app, though -- I just like the extra control that a virtual private server provides.
__________________
Patrick Fairbank
Team 254 | Mentor (2012-)
Team 1503 | Mentor (2007-2011)
Team 296 | Alumnus (2001-2004) | Mentor (2005-2006)

patfairbank.com
  #15   Spotlight this post!  
Unread 07-23-2013, 04:13 PM
Zach O's Avatar
Zach O Zach O is offline
Building an iOS app @ glacial speed
AKA: @FRCZach
no team
Team Role: Alumni
 
Join Date: Jan 2009
Rookie Year: 2009
Location: Atlanta, GA
Posts: 512
Zach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond reputeZach O has a reputation beyond repute
Re: Team 254 Open-Source Release: Cheesy Parts

Just curious - has anyone tried setting this up locally yet?
__________________
Follow me twitter dot com slash frc zach
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 01:24 PM.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi