# 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

# 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 :)

Images: 1 2 3 4 5

# 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.

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.

Total Plastics, Inc.

Looked into how Lulzbot Mini's extruder is made:

# 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.

# 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

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

# 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.

1 hour (total)

3 hours (total)