StephenK Log
Status - Done: Basic D3D FreeCAD workbench, FreeCAD Workbench 101 instructional To Do: Axis assembly in PVC frame, cut and design mounting fastener for PVC frame side panels, Workbench that inserts parts, Distrowatch for OSE Linux, Dev orientation Blocks: Time available
Contents
- 1 Sat Mar 17, 2018
- 2 Sun Jan 21, 2018
- 3 Sat Jan 20, 2018
- 4 Fri Dec 22, 2017
- 5 Tue Dec 19, 2017
- 6 Sun Dec 17, 2017
- 7 Sun Dec 3, 2017
- 8 Tue Nov 28, 2017
- 9 Tue Nov 21, 2017
- 10 Mon Nov 20, 2017
- 11 Mon Nov 13, 2017
- 12 Sun Nov 12, 2017
- 13 Mon Nov 6, 2017
- 14 Sat Nov 4, 2017
- 15 Wed Oct 25, 2017
- 16 Sun Oct 8, 2017
- 17 Wed Sep 20, 2017
- 18 Sun Sep 17, 2017
- 19 Sat Sep 16, 2017
- 20 Sun Sep 10, 2017
- 21 Sat Sep 9, 2017
- 22 Fri Sep 8, 2017
- 23 Tue Sep 5, 2017
- 24 Sat Sep 2, 2017
- 25 Fri Sep 1, 2017
- 26 Wed Aug 30, 2017
- 27 Tue Aug 29, 2017
- 28 Sun Aug 27, 2017
Sat Mar 17, 2018
Pictures of jig for drilling holes in PVC pipe for D3D frame. The basic idea is that there is a reference screw/bolt for setting the drill block against. Then, you need to measure the distance from the hole in the drill block to where it aligns with the reference bolt. Then, you can know where to align the top of the pipe. Measurements for mine are shown in the images, written on the jig. The clamps are used to keep the pipe from moving when the drill moves through the bottom side of the pipe and may dig into the wood/jig. If you have a drill press, it will make your life easier :)
Sun Jan 21, 2018
Final PVC pipes lengths are 15 9/16" (396mm). Center diameter of the holes to mount the axes: Y = 55mm and 85mm from top, Z = (396 / 2 plus/minus 15 = 183mm and 213). Picture of frame with side panels. Mounting screws are 50mm, except lower Z-axis which is 45mm and needs to be counter-sunk so the frame can rest on the table. Side panels are cut to 16.5x16.5" and the tapers are 45 degree (1.625" from the top -- set the table saw fence at 1.125" at the corner). File for side panel hooks coming soon.
Sat Jan 20, 2018
Assembled X/Y/Z axes, cut out side paneling, and assembled PVC frame. Also designed and prototyped 3D part for holding paneling in place. Will post more details and pics in tomorrow's log.
Fri Dec 22, 2017
Received 45mm socket head screws from McMaster-Carr; they fit perfectly. The only issue is that they don't sell 45mm in the plain zinc-plated screws (only 40 and 50mm) that are listed in the current BOM. The other options are black (~$9 per 50) and blue-zinc (~$13 per 50), plus exorbitant shipping rates.
Tue Dec 19, 2017
Cut frame PVC pipes to 15 9/16". Located position of holes for Y axis at ~50-52.5mm from the top of the pipe. Distance between centers of the holes is 30mm. Also found out that although the 40mm M6 socket head screws look like they are long enough, they aren't. There is at least another 5mm before the start of the nut catcher threads, which I didn't previously consider. Possibly 45mm screws will be perfect.
Sun Dec 17, 2017
Assembled Y axis and verified measurements for PVC frame. It appears the pipe lengths should be cut to the same dimensions as the Y and Z steel rods (15.5"), which would make the frame itself have 18" outside dimensions, but inside dimensions should remain the same. It may also be good to cut the pipes a little shorter (15.25"?) just in case the fit is too tight to seat the pipe all the way into the corner brace piece. For the styling of frame itself, I'm going with mostly blue 3D printed parts, white paint on the pipes and a silver paint on the corner braces. For side panelling (how to mount, TBD), I'm going with a dark blue EPVC that I picked up for ~$33 per 4'x8' sheet.
Sun Dec 3, 2017
Made a jig for drilling holes in PVC pipe frame for D3D: photo 1 | photo 2 | photo 3 | photo 4. Instructions for how to make the jig to come. How to make the "V" block that holds the pipe.
Tue Nov 28, 2017
Initial test assembly of PVC frame for D3D
Tue Nov 21, 2017
Finished ordering parts for D3D build. Trying M6x40mm for mounting to the PVC frame. Also acquired PVC for frame build. Next step is to make a jig for drilling the holes in the PVC.
Mon Nov 20, 2017
Met with sales rep from Interstate Plastics in San Leandro to discuss HDPE (and other plasticky materials) as framing options for D3D. Will post more details as I have them.
Mon Nov 13, 2017
Reached out to King Plastic about the best type of HDPE to use for a 3D printer frame.
Reached out to SAF Metals abut information for powder-coated aluminum frames for D3D.
Sun Nov 12, 2017
Investigated some resources for HDPE, 80/20 and aluminum frames for D3D. Rough guesstimate is that it looks like any of those options may run $100 or more.
https://www.saf.com/aluminum-sheet/why-5005-aluminum-sheet/
https://duetsbygemini.com/partners/
http://www.eplastics.com/Plastic/HDPE-sheet/HDPEBLK0-50024X48
Total Plastics, Inc.
http://www.bfplasticsinc.com/engraving-products/brass-laser-engravable-sheets.asp
http://envisionplastics.com/pcr-hdpe-products/natural-mixed-color-black-recycled-hdpe/
https://8020.net/shop/9701-black-fb.html
https://www.saf.com/aluminum-sheet/5005-sheet-sizes/
Looked into how Lulzbot Mini's extruder is made:
https://www.thingiverse.com/thing:17030
Wade's Accessible Extruder http://www.phenom-networks.co.uk/wades-3d-extruder-assembly-guide/ http://reprap.org/wiki/Greg%27s_Hinged_Extruder
http://download.lulzbot.com/Budaschnozzle/v2.0/Budaschnozzle_2.0_0.35noz_retail_box.pdf
Mon Nov 6, 2017
Email communications and D3D BOM research
Sat Nov 4, 2017
Response from Yorik regarding updating subassemblies in FreeCAD: "Basically at the moment there is no clean, correct, reliable way to import a part into another document and keep everything editable. That's the purpose of the Assembly workbench/system, but it's a meticulous and rather long-term work, which implies several changes in PartDesign. It is being done, but it's slow.
I personally would suggest finding your own ways to manage these situations for now, for example saving your parts as a single object (Part -> Make simple copy), which makes it easier to substitute them in the final assembly.
It would actually not be too hard to automate this a bit, for example with a macro that could update all the parts automatically. The Assembly2 workbench proves that it is totally possible to create a custom solution that works. The biggest thing about the "official" Assemble WB is that it should support importing subparts as "lightweight" geometry (only the "visual" part of it, not the full geometry and model tree), which would allow for huge models, but let you anyway click an object and have access to all its geometry and modelling tree (which would be loaded as needed). That will be hard to achieve without a proper Assembly WB. The rest (the ability to make a model from different parts), I believe it is totally doable now, one way or another."
Wed Oct 25, 2017
Another way to explain the issues noted in my last log on Oct 8th from an email to Yorik: Currently having trouble importing parts (like this one) into an existing document and still keep the parameters (e.g., length of rod/cylinder) modifiable. I was thinking one way is to import the entire assembly part, which basically looks to be a FreeCAD "part" that has all the other parts as folders/subassemblies. The subassemblies are bit inconsistent from each other right now, but this is kind of what we want to have in the end, only we want to be able to add new, individual parts too. @Yorik, do you know of a good way to do this? I think we want to be able to import parts as "bodies", keeping all the parametric capabilities of each .fcstd file in tact, so we can change them based on the size of the frame of the printer. I know we can import as .STEP files, but they don't seem modifiable at that point. I also don't know of a good way to import a part into an existing document. The Assembly2 workbench does something similar (in importPart.py), but those .fcstd files also become merged into a single "part" once in the document. Should we just open the full assembly file and run a macro to update all the lengths, etc?
Sun Oct 8, 2017
Made an attempt at importing a part into the same document window, but it hasn't worked yet. Still trying to figure out how to do it and maintain the ability to modify the parameters of the part(s). The Assembly2 workbench has a "muxAssembly" operation when importing subassemblies, but it turns the entire fcstd file into a single part that can't be adjusted (like length of rod, etc.)
Also, added commented examples for different possible commands to try for resizing a part. Change the imported/opened file to the entire D3D_CAD_Assembly, but it looks like the parts are inconsistently made between axes (unless I'm using old part files). Some can have the rod/cylinders modified because they have a 'Cylinder' part for that (e.g., D3D_16_Sub-Assembly_X_Axis_Stripped), but others cannot (e.g., D3D_16_Sun-Assembly_Y_Axis_Left_Stripped). It seems each of the axes should be very consistent in grouping/structure, right? May have to adjust the parts some in order to be able to script against them. Also, the single piece frame is unmodifiable as a sketch in the imported document, using the Assembly2 approach. It is a simple part, so it may be easier to redraw it within the workbench code. Once I figure out the part import, it may also be easier to import parts of the axes (e.g., end stops) and then create the parts that are variable length, like the rods and belts, manually in the workbench code.
Wed Sep 20, 2017
Looked a little into PLM. DocDokuPLM and Redmine. I've used Redmine before, it's pretty good. It has repo, wiki, document, issues, gannt, lots of stuff. Not sure if it handles CAD files well, though.
Sun Sep 17, 2017
Added FreeCAD_Programming_101 instructional.
Sat Sep 16, 2017
Got a basic part import to happen in D3D workbench. A lot more to do there though. I did learn quite a bit about how to work with FreeCAD scripting. Posted some links [1]
Sun Sep 10, 2017
Created a new workbench getting started example to serve as a reference workbench starting point and allow development on the D3D workbench to continue separately.
Debugging VirtualBox screen resolution issue in the latest ISO (4.5). Found an X-Server package that exists in 4.5 build, but not 4-28. I built a new ISO without that package, tested in VirtualBox and have full screen resolution now. Not 100% conclusive, but it shows that it's likely a software configuration issue that needs to be tracked between releases.
Created repo for a script to executer the ISO build steps https://github.com/skaiser/OSELinux_ISO_Script
Sat Sep 9, 2017
Basic workbench with icon and button working inside FreeCAD -- Video | Code
Added GNU Licenses page to clarify LGPL vs GPL for use in FreeCAD workbench
2 hours "study hall"
Interesting findings from today
Github already has a part viewer if the file is an STL.
FreeCAD can execute commands without a GUI How can we use this?
Fri Sep 8, 2017
New developer orientation setup stuff
Tue Sep 5, 2017
Github repo for D3D FreeCAD Workbench
Sat Sep 2, 2017
2 hours (total)
Doing admin work to create accounts and publish/document work on the wiki.
Final Developer Test FreeCAD file File:OSE-DeveloperTest-StephenK.fcstd
Fri Sep 1, 2017
4 hours (total)
30 minutes looking at FreeCAD assemblies before having an epiphany
2 hours making practice version for test. Don't give up!
1.5 hours recording video with Vokoscreen and editing in Kdenlive. Recording the assembly took about 30 minutes, and I was scared Vokoscreen would crash before the end, but it worked great! :) Kdenlive was pretty easy to use to, after watching a quick tutorial video on YouTube.
Wed Aug 30, 2017
5 hours (total)
I had tried sharing a folder with the my Linux VM to my host OS, but had trouble finding it. It turns out that the "automount" didn't work and I needed to run:
mount -t vboxsf share /dev/<mount_point>
I also tweaked my VM settings to this because I was having performance issues:
2 processors
4GB RAM
30GB HDD
64MB video memory
Enabling 3D acceleration turned out to be a bad idea.
1.5 hours playing around in FreeCAD
1.5 hours figuring out the part layout. It turns out I could have just looked at other videos, but it was a fun experiment nonetheless as there are several different ways to do it.
30 minutes trying to figure out why my part kept disappearing when moving and rotating from Draft workbench
1 hour fiddling with Assembly2 in FreeCAD before trying to upgrade to OSE Linux 4.3 and see if that FreeCAD version was any better, but then ran into DNS issues on the new 4.3 build.
30 minutes reading docs for (the Assembly Workbench) because what I really wanted to do was to build a "body" with the part layouts that construct the corner and 2 different sides, clone those bodies, rotate them and be done, but I couldn't figure out how to do it and this workbench isn't installed, so I decided to leave it for now.
Tue Aug 29, 2017
1 hour (total)
Reading over FreeCAD docs.
Sun Aug 27, 2017
3 hours (total)
Downloaded and installed OSE Linux.
I had forgotten that my Windows laptop won't boot from USB, so I installed on a VirtualBox virtual machine instead. During Virtual box install, I was informed that I needed 26GB of space. This was somewhat shocking to me since most Linux distros I've used in the past need less than 8GB, but I was able to resize the VM hard disk to 30GB using the following command:
VBoxManage modifyhd ~/VirtualBox\path\to\vm\file.vdi --resize 30720
I'm listing 3 hours for this since I also messed around with installing FreeCAD natively on my Mac laptop and the newest OSE Linux version (4.3) on a VM there too. I found that DNS did not work correctly on the latest OSE Linux image, so I reverted to installing the 4-28 image. I also spent time trying to burn the image to DVD, so I could use my Windows laptop instead of a VM, but have so far given up on this since the VM seems to be working fine (and because I dropped my portable DVD drive :))
Started FreeCAD 101 while Linux install was progressing. It was not immediately intuitive how to find the 8-hole square tubing part to be used in the test, but I guess that's part of the test? :) No idea, but maybe this is a good solution? OpenPLM
I started messing with FreeCAD at 6:00pm and stopped at 6:06pm due to frustration. Haha