Hi Michael,
I'm glad you figured that out. I already added the method you suggested but I also want to make the thread more accurate. For this I need a fillet radius on one side of the thread cutting object as shown on the right side:
My problem is selecting this point via script and than to use the Fillet factory correctly. I can't even get filleting all corners to work.
code:
var threadDiameter=10;
var threadPitch=1.5
/*draw thread cutting profile*/
frame = moi.vectorMath.createFrontFrame();
frame.origin = moi.vectorMath.createPoint( threadDiameter/2, 0, -1*threadPitch );
factory = moi.command.createFactory( 'polygonedge' );
factory.setInput( 0, frame );
factory.setInput( 1, moi.vectorMath.createPoint( threadDiameter/2, 0, 0 ) );
factory.setInput( 2, 3 );
factory.commit();
moi.geometryDatabase.selectAll();
/*round off all corners*/
factory = moi.command.createFactory( 'fillet' );
factory.setInput( 0, moi.geometryDatabase.getSelectedObjects() );
factory.setInput( 3, 0.14434 * threadPitch );
factory.setInput( 4, "circular" );
factory.commit();
|