Close
0%
0%

Coaxial8or [gd0144]

Full-colour FFF? Multi-materials with unparalleled interlayer bond strength? Abrasives without abrasion?

Similar projects worth following
The Coaxial8or (c8or for short) is a heatblock for my CR600S (a modified CR-10) that aims to allow me to bulk-buy 6 filament colours but print in 600. Any feature implemented afterwards is a bonus, such as printing abrasives with a brass hotend or different materials that usually wouldn't bond together.

Results

Coaxial8or r0

4-in-1-out Coaxial Hotend

Inspiration and/or examples of working principle

Render simulation of Cyan filament; Cyan coating of White filament; Cyan coating of Magenta coating of White filament; Magenta coating of White filament and finally Magenta filament.
Image source: https://twitter.com/i/status/1648662200544907267

Navigation

The title tag system is explained here, and the table is updated when a change occurs. Notable logs have bold L# text.

L1
[M][T] Initial design and fabrication optimization
L2
[M][T] 5 inputs were possible?!
L3
[T] 4 material + tube?
L4
[M] Center grub insert
L5
[M] Smallest possible size?
- Also possible prior art found
L6
[M] Fabrication Changes
L7
[M] Hotend digitally assembled
L8
[M] Starting on the cover
L9
[R] PCBWay still can't manufacture?
L10
[M] Metal 3D print edition
L11
[M] Asking PCBWay for a brass insert
L12
[M][R] Preparation for Uni round 2
L13
[T] Threads and feedback
L14
[M] Cooling ducts
L15
[M] Carriage Mount
L16
[P] 6028 Fans
L17
[P] All other components
L18
[P] Successful Fabrication and Assembly
L19
[T] Sealing with 2mm ball bearings?
L20
[X] No immediate leaks!
L21
[X] Looking at the state of the grub screws.
L22
[M] M4 Grub + 2mm Ball Edition
L23
[T] An Insert Like The Positron Hotend?
L24
[A] Mystery CNC Price Hike
L25
[T] Hotend hypotheticals: Off-centered inlet approach?
L26
[P][A] Outer Cover and leak detected
L27
[M] Visible indication of full grub tightness
L28
[M][T] Internally groove the heatblock-heatbreak mating surface?
L29
[M] Centrifugal-inlet design with expanding ball plugs
L30
[T][R] Dual heater zones?
L31
[M] 8 in 1 out hotend
L32
[M] Added components to 8 in 1 out hotend
L33
[T] Filament order and issue prevention strategy
L34
[A][B] PCBWay CNC fabrication costs USD$257 - $334
L35
[R] Bowden couplings, collets and compression fittings
L36
[T] Print abrasive filament without abrasion?
L37
[M] Heatsink for Unibody Coaxial Hotend
L38
[M] Finished modelling the Unibody 8-in-1-out hotend
L39
[T] Abrasive filament to smooth internal channels?
L40
[M][R] Simulation software and model optimizations  
L41
[M] Thermal comparison between machined and unibody
L42
[T] Next steps
L43
[A] Details page before 11 Jan 2024
L44
[P] Nozzle-block heatbreak fabricated and simulated
L45
[T] Grub screw sleeve?
L46
[A] CNC price keeps increasing
L47
[C] Setting up Marlin Firmware

L48
[M][T] Machined 6-in-1-out not geometrically possible?
- Also talks about 8-in-1-out tweaks
L49
[X][P][T] CR600S setup and first test prints
- Tests 4-in-1-out hotend
- Thoughts on BotObjects 5-in-1-out hotend heatsinks
- Direct drive idea
- Failed due to leaks so only got 2 short prints
L50
[M] Printed Coaxial Hotend with clamp plate
L51
[B][C][M] Preparing shopping cart and Marlin
L52
[M] Slim Cover and Hotend Holder
L53
[M] 2D plate drawings
L54
[T] Directional fan and new filament strategy
L55
[P][M] Plates manufactured
L56
[M] Heatblock design optimisation
- Tip on preventing profile rotation when sweeping in Fusion 360
L57
[A] Heatblock ordered and 1mm PTFE gasket
L58
[T] Potential name: Coaxial8tor
L59
[M][A] Switch to 17HS4023 Nema17?
L60
[M] More ideal extruder mount
L61
[M] Coaxial8or logotype and test model
L62
[R] 42BYGH24S Nema17
L63
[C] Marlin M165 improvements
L64
[M] CR600S+coaxial8or logotype and numbers
L65
[P] Flat files fabricated
L66
[M] Using Fusion's renderer to simulate colours
L67
[P] Coaxial8or aluminium 3D print
- Other parts arrived:
--- DDE (BMG Clone)
--- Nema17
--- BTT EXP MOT
--- TMC2226
--- £6 400W PSU
--- Bowden couplers
L68
[P][A] Clamp face flattened, motors installed and holder attempted
L69
[M][A] Successful hotend holder and extruders installed
L70
[X][M] Heating Tests and Coaxial8or R1
L71
[M][T] Coaxial8... 4 A Budget?
- Backwards compatibility with 4-in-1-out
- Why not 6-in-1-out?
L72
[C] Push/Pull V-Tools in Marlin
L73
[A] Dryrun worked. Print powered down.
L74
[X][M] First Coaxial8or prints (single colour)
L75
[M] Removed M2 threads in Coaxial8or R1
L76
[T] More potential features for mixing extruders
L77
[X] Minimal flow rate, medium...
Read more »

  • [X] Clogged Coaxial8ors

    kelvinA06/02/2024 at 08:23 0 comments

    My attempts so far on removing the powder from the c8ors can simply be expressed in the following meme format:

    Source: Robbing Apple Be Like

    Day 1

    So I asked Eleven what the engineers did the last time:

    So I was wondering how I could line that up, since a standard vacuum didn't sound like the best idea, and then I saw syringe nozzles as a recommendation in AliExpress:

    So I went and used the syringe and tube my uni just happens to have:

    As you can see, the syringe is full of water. This is because I wasn't able to generate sufficient pressure by pumping air into the c8or and the atmosphere generated even less when suction was used. 

    The only win I was able to get was to unblock ch8. All other channels stayed blocked, but water did drip through them.

    Day 2

    The idea was to come in from the other side.

    The uni also happened to have some bowden tube and a coupler.

    All I learned was that the copper gasket 100% works without any uncertainty or doubt. I was able to apply maximum water pressures on all channels and the plunger didn't budge. It also means that I took the correct call and not just tried to extrude the powder out with plastic, because it wouldn't've displaced out the powder either.

    I tried the needles that also happened to exist, wondering if the powder just needed an escape route, but still no success.

    The Coaxial8or and copper gasket are kind-of stained now, after all that water.

    Looking through the macro lens of my phone, I could see that the other, dry c8or still had visible powder so I tried the classical resistor-wire pickaxe-floss method and all this dust came out:

    Thus, I was wondering if the dust needed to be agitated. "Hm, what I need is maybe like an ultrasonic cleaner or something. Are any of these machines [around me] one?", I thought.
    The uni indeed happens to have a "professional ultrasonic cleaner" behind/under some empty bottles.

    As instructed by the control panel, I looked up and read through the instructions and then put the wet c8or in. My strategy here is that I keep one of the c8ors dry, because it's possible that the water surface tension could "dough-ify" the powder.

    No idea why the liquid is orange.

    I tried both upside down and rightside up orientations, and did a few sub-5 minute attempts before letting it run for 2 rounds of 10 minutes at 40C water. When it was finished, I'd put it on a paper towel and a small amount of powder would come out:

    Meanwhile, this is all the powder that came out of the pickaxe floss method:

     Day 3

    The strategy was to find and strip some stiff wire and mine inside the dry c8or while the wet c8or was inside the ultrasonic cleaner for 23 minutes at a time at 45C. 

    I cut and restripped when the wire was getting too crumpled and I feared it'll break whilst inside the c8or.

    This is what I got from 2 ultrasonic rounds:

    This is what I got by mining in the same timeframe:

    Lastly, I put a drop of water on the dust to confirm that the powder does stick together when wet:

    Future Work

    My next strategy is to boil or superheat the wet Coaxial8or. Since it seems that the water can barely weave through the powder, the idea is for it to act kind of like TNT by causing it to turn into steam and expand from the inside. 

    On a similar vein, I could block the channels with water already in there and freeze it, potentially generating more pressures than what I can physically accomplish with a syringe.

  • [T] Micro heater on heatsink for a temperature-controlled valve?

    kelvinA05/22/2024 at 07:33 0 comments

    Heatsink with a 7 x 7 x 7mm ceramic heater.

    I envision a merge between the small heatsinks and the Bambu Lab heatblocks (see below) as a way to be able to turn on and off different inputs. Something like 10 watts should be enough.

    This comes after I spent some time yesterday putting the heatsinks in fresh-out-of-the-kettle water to be able to get the PETG out of them:

    I believe that the temperature doesn't need to be too precise, and that it might even be sufficient to simply connect the heater to a thermal fuse to have both quicker heatup times and a bang-bang temperature control. An example could be a 200C thermal fuse that resets after it cools to 170C.

    Even this might not be needed, as if I recall correctly, ceramic heaters naturally have a temperature limit due to increasing resistance at higher temperatures. In that way, it may be possible to design a heater that quickly reaches equilibrium at 200 - 210C, which is the maximum temperature Deckingham needed for the majority of his material tests.

    In this way, only 9 wires would be needed to implement this, there would be no moving parts, and the potential for unused channels being clogged would be minimised.

  • [E1][P] Self-tapped plates

    kelvinA05/20/2024 at 13:11 0 comments

    I needed to go back to tap the thermistor thread in one of the Coaxial8ors and, while I was doing that, I thought "I just need a pilot thread to get started and I can be on my way", referencing to tapping the plates. I soon had the idea to print such a jig, but first I tested the idea out with an M6 bolt and learned that I'd need to consider how to keep it in place.

    Me1: If only I had a plate with a bunch of starter threads. Then I could put them both in a vice.

    Me2: We have plates with starter threads at home.

    The plates with starter threads at home:

    Yes, I retrieved and cleaned up the clamp plate from Coaxial8or r0. I pried off the plastic and cartridges from the clamp plate, then put it in the above tub along with a shallow amount of kettle water so that the PETG softened and I could clean off the rest.

    Then I asked for some new plates to be cut, where the holes in the CAD were offset by 0.05 before being exported to .DXF for the waterjet:

    I again got a 3rd set as a spare.

    I started off with the M3, and seeing that worked, tried a pilot M6 which seemed to work too. Thus, I switched back to the M3 tap, broke off a plate and threaded all the M3 holes on the new coupler plate.

    Me testing the M3 tap.

    I started the threads using the old coupler plate, then went back to finish them:

    This plan all changed from the M4 tap, where the starting tap doesn't actually finish the threads like the M3 one. Only the finishing tap cuts the threads fully. I couldn't even properly thread in the finishing tap into the starter threads, so I instead decided to just use the finishing tap and fully cut the threads in one pass.

    By the time I got to the all-important M6 threads, I had a strategy:

    1. Get the tap into the cloner plate.
    2. Align tap with the hole so there's no XY jiggle movement but the plates don't have a gap in them.
    3. Place in vice.
    4. Turn about 4 - 5 times.
    5. Turn back by a quarter.
    6. Turn until there's like 4ish threads left visible on the tap (see image below)
    7. Turn back till about 2mm of the tap tip is visible.
    8. Then you slowly turn until the tapping plate comes off. 
      1. It's then faster to start the next one because the tap height is approximately enough to have the two plates flush and there be no jiggle with the untapped hole.
    9. Then it feels like a candy crush level selector as I go though the other 7 holes.

    It took me 35 mins to thread the M6es of 2 plates. I think I switched to a new cloner starter tap every 12 or so threads to make sure that the tap was still going in straight.

    Keep the threading hole close to the clamp to reduce the chance of the two plates bending apart from each other.

    This is the result:

    Surely there's probably an actual specific plate that allows one to hand tap perfectly straight, but I don't know what it's called (or if it even exists).

    In other news, I also printed the new holder+cover, and saw that the PTFE gasket actually got squashed thin from the top side:

    [May 22] It all goes together, so this strategy seems to work at the moment:

    The Coaxial8or is also compatible with a 15mm aluminium spacer. I've only got 9mm and 6mm spacers though.

  • [M] Updated holder and cover

    kelvinA05/14/2024 at 03:56 0 comments

    Also finally got some new project renders with LED rings that better shows what the hotend is trying to do.

    I've gone through and updated the printed files (and the render LEDs to better represent what this hotend is actually doing).

    I have changed the grill so that it's easier to see if there's a leak happening on the main gasket. Since this makes the cover look top-heavy, I've moved my logo to the top (which resembles a spool on bearings).

    In other news, the grub screw for the thermistor successfully works on one of the two Coaxial8ors so I'm going to need to re-tap the other one.

  • [P] Tapped threads and copper gaskets cut

    kelvinA05/11/2024 at 05:16 0 comments

    The machinist technicians just happen to be quite busy at the moment, so I only asked them to mill the top faces.

    The nominal thickness of the clamp block section is 4.65mm, meaning that it must've been even thicker than the 4.5mm modelled in CAD beforehand. Perhaps the engineers at PCBWay read the review I left for the c8or r0 and thickened it slightly.

    Then I went to the waterjet technicians to ask for the flat parts such as the clamp plate. They just happened to have a small piece of 0.65mm copper that was large enough for 2 gaskets:

    They have very sharp edges. I plan for those edges to point up into the clamp plate.
    The technician recommended that I undersized the holes -- due to the tapered walls the waterjet would create -- and then drill then tap, so I offset the faces by 0.25mm.
    I asked for 3 sets so that I could have a practice round.

    I'm thinking that I should've just left the sizing as is, because the taper through 3mm aluminium is very minor but now the holes are too small to just tap directly. I'm likely going to just wait either until the techs have time or I print a jig or something like using a pillar drill, as I don't think I'd ever get all 32 M6 threads tapped perpendicular to their faces. Worst case is just ordering more parts from PCBWay.

    The M6 threads took a bit of careful consideration to get started, but I only got the threads to bite in one location meaning that it likely was going down the printed threads.

    The finished thread certainly looks better in c8or r1.

    Lastly, I lined up my eye directly over each of the M4 holes to tap and used a fiducial marker like a shadow or tip of my foot to mark the horizontal line (to account for my head slightly drifting) and then placed the tap directly over so that I could account for any 2D angle errors.

    I used a long tap to get the threads started and then a shorter tap (see below) that fully cut the threads. Well, almost fully cut them in the case of the thermistor. I haven't tried yet, but I'm hoping that I can finish tapping with an M4 bolt and an Allen key.
    I like the milky greens and silvery greys in this image.

    So far, it feels like the 2-for-1 offer is paying off, such as the confidence / peace of mind of knowing that I've got a second life if things go pear-shaped. I still haven't dealt with the powder inside them though.

  • [P] Aluminium prints have powder still inside?

    kelvinA05/09/2024 at 02:22 0 comments

    The prints have finally come in and they look as expected (because I had stared at the CAD model for hours making sure everything was right) and the dimensions are good (1.75mm input holes, even less warping than the r0 print, cartridges slide in nicely), but there's a problem:

    As you can see, both prints seem to be like completely blocked. As you might be able to see in the second image, I don't think they're "welded shut" or anything, because poking with a toothpick has put some indentation in the lower right diagonal one. One of the prints is 53.2g and the other 52.7g, so it seems that the quantity of powder in them are different. At least I've got 2 so I know it's not a one-off.

    This is how I received them.
    This is after I poked the right one with a toothpick, wanting to probe how deep the seeming blockage is.

    Not sure how best to proceed. The channels have been modelled larger and shorter than Revision0 and yet powder has been left in?

    In related news, the box these double c8ors came in was half the dimensions in XY and ever so slightly shorter in Z, suggesting that perhaps the Coaxial8or r0 was just a tad too thick for the smaller box and that's why its shipping was double.

    I've also remembered that I should be looking for a gasket material, and was considering brass when I was searching for a copper sheet, but copper gaskets are a real thing (unlike brass it seems):

    According to this article, copper was actually "one of the very first materials that was used in the gasket industry". 

  • [B] 2pcs of Coaxial8or r1 ordered

    kelvinA04/16/2024 at 06:29 0 comments

    I got a "$5 off over $49" coupon for filling out a survey

    After some messages between Me <--> Service Rep <--> Engineer, the quoted prices were $38.32 for 1pcs and $73.43 for 2pcs of the aluminium 3D print from PCBWay. The shipping cost hasn't changed at all, suggesting that the c8or r0 must have been just a bit too large and the system bumped it up to a bigger-package charge. 

    Now it seems that all my "sweat equity" into shavings has synthesised into savings, as I can now buy 2 c8or r1's for about $2 more than a single c8or r0. 

    In British Pounds, my cost for this specific order is approximately £64. 2^1 pcs of 2^3-channel heatblocks costing £2^6... what's the 2^10 going to be?

  • [E3][M] New coaxialising geometry

    kelvinA04/12/2024 at 11:17 0 comments

    The new geometry is implemented into the design, and I'm still at 193cm^3 (52.0g). Heat-up times should be about 40% faster than R0.

    Because I was trying to find more information about Construct3D's custom heatblock design that is targetting 200mm^3/s, I started listening to a podcast and one of the things that Jacob mentioned was "intent", describing how the quality of his Minecraft server building designs had much more quality when he had to struggle in Survival Mode to get every block, compared to Creative Mode when he has unlimited everything, and he subsequently brought this idea of intent over to his 3D printer design methodology. Now that I've got a new heatblock design and every millimetre of it has been questioned multiple times, I've been thinking of the similarities to Jacob's talk of intent. 

    Firstly, some quick changes that have happened in the design:

    • MinorChannels are now 1.75 * 0.75 + 0.2 -> 1.5125mm.
    • I've reduced the length of the thread and now it is 10mm (down from 12mm in R0).
    • The height of the heatblock is now 41.5mm, which is about 10mm reduction from R0.
    • The heatsink thread holes are 2mm from the edge, which should be ok.

    Centre Pillar

    The main profile is shown below:

    For weeks, I've been wondering if I should change the 0.95mm spacing, but I felt that I didn't want to even change it by more than +/- 0.05mm so I left it. Well now the geometric laws have spoken, and by ensuring a minimum wall thickness of 1.2mm, the spacing is precisely 0.94mm. 

    Additionally, the centre pillar now has a much more active role in forming the extrudate instead of being there just because I hope it has a positive effect. As the fluid inside the heatblock is incompressible, the idea is that a push/pull of material will move this 3D revolve of the triangle between the 2 inputs:

    The volume of this is 9.118mm^3, and the push/pull length can be found as follows:

    ( 2 * [purge volume] / ( pi * [filament diameter]^2)
    ( 2 * 9.188 / (pi * 1.75^2) )
    = 1.91mm

     I had set my push/pull length for the c8or r0 to be 1.8mm, so I'm doing great on these guestimates. 

    I'm hoping that this new geometry both gives more time for the cone-ring-CSA to equalise in pressure, reduce the diffusion-area between different materials and make the flow interactions more forced. 

    Pathways

    As the aim is to get consistent 360 degree pressure and the crosshead designs I saw yesterday weren't doing any centrifugal-like geometry, I've gone back to a simpler design with 2 inputs. I had considered 3 inputs but feared about pressure propogation delays and how channel 7/8 may have a different pressure profile than the other 6 since I can't just go straight through the heater cartridges. The sketch is shown below:

    Well, that's half the reason. I was forced into it because the staggered approach caused minimum-wall-thickness violations.

    I then tried some conic curves to transition from the minor to major channel, mainly so that channel4 was more spaced from the paths of channel7.

    I did the revolve and then made this fancy variable fillet which aims to keep the pressure more constant as material moves further away from the inputs:

    About 2 more hours of fixing later (which didn't help since Fusion decided to delete some features and sketches instead of just making them yellow or red) and I had the new geometry implemented. Almost everywhere was >=1.2mm minimum wall from what I could tell.

    I decided to let this one slide, at 1.181mm distance.

    The heatbreaks go right to the edges of the bounding box, but I was still able to keep the 29 x 49 XY size.

    Next-day fixes

    First I tried something called draft analysis as I was hoping that I could use it to see overhangs over 45 degrees, but it seems limited in that it's only optimised for injection-moulding workflows and, as such, I can't set anything over 15 degrees.

    So I did the usual...

    Read more »

  • [M][T][A] R1 needs to be redesigned.

    kelvinA04/11/2024 at 10:12 0 comments

    I've cancelled the PCBWay order for the Coaxial8or R1.

    It started small. Small as in a small missing fillet. That was easy to correct.

    Then the engineer came back because they had concerns about the M6 threads:

    I looked at how Heinz did their threads and one thing I noticed was the taper before the flat wasn't a basic chamfer. I presume this is so that imperfections from the printed thread does not affect the important face that seals against the nozzle.

    Thus I went in and did some modifications:

    Then I was validating the model and found an extreme minimum wall violation that I unfortunately missed:

    The hole is the grub-screw hole and so I had to rethink quite a bit of the design (and this is when I requested the order be cancelled since it could take a while).

    Fast forwarding a bit, I moved the grub screws, reduced the clamp block thickness because it no longer had to fit the grub screws, and trimed the body of the heatblock so that I could simultaneously get under 20,000mm3 and $40 autoquote, and I got this:

    Side tangent: Trimming around channel 7 / 8

    I first tried doing the trim with an extrude and draft angle but it just looked... wrong... so I instead created a cone surface and extruded to that, which actually trimmed off even more material.

    Tangent over. Back to the main story of events.

    So I was dancing about how my design is now 193cm3 and the autoquote was $38.80, and I was on Discord asking Heinz a few questions to get the latest insights in the technology tree. The response:

    -- lots of colors are nice, but biggest improvement is in the coating meachanism itself imho.

    -- making it as small as possible for less purge and quick color change

    -- similiar to the cetus2 brass insert...

    I was going to reply that I felt like colour gamut vs colour change speed would be one of those engineering challenges where one is forced to pick a side. I still feel that way, but that it's not as black and white as I originally thought.

    Remember that print of a clip that was supposed to be white but only got to a medium-light grey at best?

    Well I looked into the model cross section and determined that I needed to reduce the contact zone between differing materials whilst still being manufacturable. 

    Ideally, colour changes inside the melt chamber would be like a Pallete filament splicer, but with molten filament. Another way to think of it is like a 1-dimensional version of offset printing where each colour is separated by some finite distance and the change in colour is a single point on the length of the pipeline:

    The final colour output created by merging the combined-effort of previous work with a single colour.

    I started sketching a solution that could potentially be geometrically viable yesterday:

    Today, I've looked into "Crosshead Extrusion", which is a method to coat wires with insulation:

    Source

    I'm continuing to experiment with what I can do with the design whilst keeping it compact, ensuring a minimum wall thickness and keeping the pressure as axissymmetric as possible:

    The idea is to make the geometry more like a revolved version of the Cetus2 nozzle for each channel. This is also to hopefully make push/pull vtools more effective.

    Cetus2 nozzle. If you changed the angles so that the two inputs are perpendicular and then revolve it around the left or right edge of the image, the result is similar to what I've started to come up with.

  • [E1][B][R] Coaxial8or R1 print costs $47, and failed simulation attempt

    kelvinA04/07/2024 at 13:31 0 comments

    PCBWay pricing for Coaxial8or R1

    Amazing cost reductions!

    Perhaps it's because this design is similar to R0 which PCBway already has experience on, but now the autoquote and the actual price were essentially identical. Unexpectedly, the "Standard Global Shipping" is now almost half the cost. Perhaps it has something to do with the bounding box of R1 being smaller than 50 x 30 x 50mm3?

    Another possible reason for the lower price could be that the 1.5mm channels are easier to clean inside than the 1.25mm ones? 

    The current Mastercard conversion rate means that it will cost me £45.25.

    Simulation attempts

    I was going to install the Windows Subsystem for Linux to try OpenFOAM, but then I found out and tried to use the injection moulding simulation feature in Fusion 360. Unfortunately, it complains if I set the mould temperature to something like 236C for PETG, and when I set it to within the recommended values, I got an incomplete fill animation:

    I can use my imagination for this much of a simulation.

    [Apr 07] There was a material called "Bionolle" that had a close melt and mould temperature of 115C and 80C respectively, and I moved the inputs so that I could at least see the filling of the coaxialiser and path length matching. 

    Allegedly, the material will expand into the empty space from both directions instead of only clockwise.
    It seems that the paths for all 8 inputs are matched to within about 1.5mm. Hopefully, this means that the pressure difference between the splitting paths is low.

    [End of Apr 06 edit]

    I signed up for SimScale but it became apparent very quickly that I'd only be able to simulate liquids like water and oil.

    Ideally, it seems that I'd need something like Ansys Polyflow, which seems to be able to simulate coextrusion:

    YouTube

View all 88 project logs

Enjoy this project?

Share

Discussions

Joshua R. Taylor wrote 10/05/2023 at 13:22 point

OMG!!!! we need to talk! josh@jrt3d.com

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates