|
It is currently 28 Apr 2024, 03:44
|
View unsolved topics | View unanswered posts
|
|
|
|
simoni
|
Post subject: Re: DiscoVision Philips Code Test Disc Posted: 06 Dec 2020, 12:41 |
Honest fan |
|
|
Joined: 11 Sep 2017, 14:24 Posts: 88 Location: Sweden Has thanked: 2 times Been thanked: 36 times
|
It's difficult to get an exact grip on something made in metric and measured roughly in inches but the following code will make something about right in OpenSCAD. I don't have the tool or the player, so I can't really do much more than guess: // Pioneer GGV-129 calibration tool
$fn=100;
// Define the shaft and tip as 2D profiles so they // can be extruded (makes it possible to rotate_extrude // the bend in the shaft) module 2d_shaft_profile(diameter) { // Draw 2D circle with diameter of 5.5mm circle(r=diameter / 2); }
module 2d_tip_profile(diameter) { // Draw 2D circle with diameter of 1.5mm circle(r=diameter / 2); }
module lower_shaft(diameter) { translate([-(diameter*2),0,0]) rotate([90,0,0]) linear_extrude(75) { 2d_shaft_profile(diameter); } }
module upper_shaft(shaft_diameter, tip_diameter, tip_length) { // Shaft translate([0,shaft_diameter * 2,0]) rotate([0,90,]) linear_extrude(36) { 2d_shaft_profile(shaft_diameter); }
// Tip translate([36,(shaft_diameter*2)+(shaft_diameter/2) - (1.5 / 2),0]) rotate([0,90,0]) linear_extrude(tip_length) { 2d_tip_profile(tip_diameter); } }
module shaft_bend(diameter) { difference() { // Draw the whole ring rotate_extrude(convexity=10) translate([diameter * 2,0,0]) 2d_shaft_profile(diameter);
// Remove the 3/4s we don't need dia2 = diameter * 2; translate([-dia2 + 1,-dia2,0]) cube([dia2*2,dia2*2,dia2], center=true); translate([dia2 - 1,-dia2,0]) cube([dia2*2,dia2*2,dia2], center=true); translate([dia2,dia2 - 1,0]) cube([dia2*2,dia2*2,dia2], center=true); } }
module render_tool(shaft_diameter, tip_diameter, tip_length) { lower_shaft(shaft_diameter); upper_shaft(shaft_diameter, tip_diameter, tip_length); shaft_bend(shaft_diameter); }
render_tool(5, 1.5, 1.5);
Makes a shape like this: Attachment:
File comment: OpenSCAD render
tool.png [ 37.97 KiB | Viewed 1002 times ]
I know OpenSCAD isn't obvious to all, but it should be easy to modify based on the comments etc. /Simon
|
|
|
|
|
cplusplus
|
Post subject: Re: DiscoVision Philips Code Test Disc Posted: 08 Dec 2020, 00:11 |
Hardcore fan |
|
|
Joined: 13 Aug 2018, 03:18 Posts: 1520 Has thanked: 449 times Been thanked: 588 times
|
I removed the heatshrink. Base is 5mm thick. Long part is 85mm, arm is 40mm (42mm with tip included). Tip is 2mm thick, 2mm long. In my photo of the three screwdrivers, the center one's pin is straight. On my GGV-129 it is bent. In Duncan's photo (here: Eccentric screwdriver) it does not look bent, so mine might be flawed.
Attachments: |
GGV_Tool.jpg [ 115.38 KiB | Viewed 968 times ]
|
|
|
|
|
|
simoni
|
Post subject: Re: DiscoVision Philips Code Test Disc Posted: 08 Dec 2020, 14:24 |
Honest fan |
|
|
Joined: 11 Sep 2017, 14:24 Posts: 88 Location: Sweden Has thanked: 2 times Been thanked: 36 times
|
Here is the code updated with those measurements: // Pioneer GGV-129 calibration tool
$fn=100;
// Define the shaft and tip as 2D profiles so they // can be extruded (makes it possible to rotate_extrude // the bend in the shaft) module 2d_shaft_profile(diameter) { // Draw 2D circle with specified diameter circle(r=diameter / 2); }
module 2d_tip_profile(diameter) { // Draw 2D circle with specified diameter circle(r=diameter / 2); }
module lower_shaft(diameter) { translate([-(diameter*2),0,0]) rotate([90,0,0]) linear_extrude(85) { 2d_shaft_profile(diameter); } }
module upper_shaft(shaft_diameter, tip_diameter, tip_length) { // Shaft translate([0,shaft_diameter * 2,0]) rotate([0,90,]) linear_extrude(40) { 2d_shaft_profile(shaft_diameter); }
// Tip translate([40,(shaft_diameter*2)+(shaft_diameter/2) - (tip_diameter / 2),0]) rotate([0,90,0]) linear_extrude(tip_length) { 2d_tip_profile(tip_diameter); } }
module shaft_bend(diameter) { difference() { // Draw the whole ring rotate_extrude(convexity=10) translate([diameter * 2,0,0]) 2d_shaft_profile(diameter);
// Remove the 3/4s we don't need dia2 = diameter * 2; translate([-dia2 + 1,-dia2,0]) cube([dia2*2,dia2*2,dia2], center=true); translate([dia2 - 1,-dia2,0]) cube([dia2*2,dia2*2,dia2], center=true); translate([dia2,dia2 - 1,0]) cube([dia2*2,dia2*2,dia2], center=true); } }
module render_tool(shaft_diameter, tip_diameter, tip_length) { lower_shaft(shaft_diameter); upper_shaft(shaft_diameter, tip_diameter, tip_length); shaft_bend(shaft_diameter); }
render_tool(5, 2, 2);
Thanks for clarifying it cplusplus. It's likely that it would be hard to print as-is (since round shapes are generally problematic). You can add a second parameter to the 2D circle commands such as $fn=6, which would cause the cylinders to become hexagonal though which would solve most of the problems. The tip is still an issue though as it won't really be strong. I'd ether make a hollow space there so you could glue in some strong 2mm wire; or you could make it 1.75mm and just use a little bit of printer filament (ABS or PETG is probably strong enough).
|
|
|
|
|
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|