I did write quite a lot here about my motivation creating Copper. Before building Copper I created the 3D models of my PCB using Eagle Up and Sketchup. While I really liked the ease of use, I didn’t like the way you have to “source” 3D parts. They must have been available in Sketchup file format and they had to have the correct orientation. I even had to build quite a lot of parts myself in Sketchup.
Copper doesn’t need anything of that. You search the part in the library and the only thing you have is to orient the part to your Eagle footprint using simple position, rotation and scale properties. That is easy and fast, and you don’t have to mess around with the 3D models directly. Because I really love this setup, and reading the feedback of other users I think this is the way to do it. But one big issue isn’t solved. Getting parts. If the 3D part is available in our library, its fun, if not, your only option is to write an eMail to us and request the part. While we are trying to be really responsive here – we even created a part in Fusion 360 because we didn’t find the model – I decided to adjust a bit here.
This is the good of how we do it today:
- You don’t have to mess around with files when sharing (or archiving) your board
- Consistent library with searchable tags, descriptions and filters (like number of pins and mounting type)
- Consistent look & feel as we have created and assigned materials to each and every part in the library
This is the bad:
- Not every part is available and waiting for our support team to respond is frustrating and is not always an option
Our new solution should fix the bad and keep the good, right? We already have tools to import parts, assign and create awesome looking materials and upload them to the cloud to make it available in Copper all over the world the moment we press the upload button. But, this setup has been relying on FreeCAD for STEP-Import. STEP and other CAD file formats are very complex. APIs for Mac and iOS development aren’t freely available or cost you an arm and a leg. Last year I started and failed numerous times in building my own STEP importer. Of course we could have supported mesh based file formats, but that would require our customers to transform the parts themselves. Users have bought Copper to leave this stuff behind. Finally, Octopart already delivers STEP models for parts, and we wanted to provide a mechanism for you to import a 3D model of your assigned part with the click of the button.
Well, this weekend I finally cracked it! I managed to create a STEP importer! Yeeehah. These are the moments I love about product development. All the hard work, for this single second when you realize it works.
When you import a STEP model yourself, Copper will allow you setting materials, enter a description, tags and more. Copper will upload the part to our cloud and will make it available as any other 3D part in the library. But this part will not be visible to all other users of Copper, unless you share it. But, when another users opens your design, your parts will be downloaded by Copper. So even if you created these parts, you will not have to send them along with the other files.
When you share it, the part will be available to all other users. But we will review these parts as it’s important for us to have a library with consistent quality in materials and description. We don’t want users work through numerous 3D models of the same package to find the best offering. We will also provide forks. This way you can customize materials. You will be able to share forks, too. If the model you want to share is missing something (like tags, specs, etc) we’ll just fork it, add the information ourselves and publish that.
Of course, this will require some more work. We will have to update our cloud to allow accounts and user uploadable content, a lot of UI for material editor. We already have all that – in another tool we created, but we will have to port that to Copper.
We want this feature to go live around March 2016. While it’s a few weeks to wait, it’ll be worth it!
Comment