Openscad generator

This commit is contained in:
Lev Nikonov 2025-11-28 23:00:52 +05:00
parent 17fd59c8ae
commit 4de6ab94f3
5 changed files with 44 additions and 30 deletions

View file

@ -46,9 +46,9 @@ module Pcb_Driver_01 (frozen)
else if( drw_Driver_01_CC0805 != 0 )
Draw_Driver_01_CC0805();
if( is_undef(drw_board_outline) )
Draw_BO_Driver_01(1);
Draw_BO_Driver_01();
else if( drw_board_outline != 0 )
Draw_BO_Driver_01(0);
Draw_BO_Driver_01();
}
}
@ -58,7 +58,7 @@ module Pcb_Driver_01 (frozen)
| BOARD OUTLINE |
|___________________|
*/
module Draw_BO_Driver_01 (bAll=0)
module Draw_BO_Driver_01 ()
{
render( convexity=3 )
translate([ 0.0, 0.0, -board_h/2.0 ])
@ -1174,7 +1174,7 @@ module Draw_BO_Driver_01 (bAll=0)
color([0.0,0.8,0.5])
translate([ -7.000, -0.919, 0.0 ])
cylinder( d=0.500, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_RTLECS) )
translate([ -10.000, -1.140, 0.0 ])
cube([ 0.824, 0.824, board_h*2.0 ], center=true );
else if( drw_Driver_01_RTLECS != 0 )
@ -1183,7 +1183,7 @@ module Draw_BO_Driver_01 (bAll=0)
else
translate([ -10.000, -1.140, 0.0 ])
cylinder( d=0.824, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_RTLECS) )
translate([ 10.000, -3.750, 0.0 ])
cube([ 0.824, 0.824, board_h*2.0 ], center=true );
else if( drw_Driver_01_RTLECS != 0 )
@ -1192,7 +1192,7 @@ module Draw_BO_Driver_01 (bAll=0)
else
translate([ 10.000, -3.750, 0.0 ])
cylinder( d=0.824, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_RTLECS) )
translate([ 10.000, -0.250, 0.0 ])
cube([ 0.824, 0.824, board_h*2.0 ], center=true );
else if( drw_Driver_01_RTLECS != 0 )
@ -1201,7 +1201,7 @@ module Draw_BO_Driver_01 (bAll=0)
else
translate([ 10.000, -0.250, 0.0 ])
cylinder( d=0.824, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_MSOP_8T) )
translate([ -0.584, -2.515, 0.0 ])
cube([ 0.362, 0.362, board_h*2.0 ], center=true );
else if( drw_Driver_01_MSOP_8T != 0 )
@ -1210,7 +1210,7 @@ module Draw_BO_Driver_01 (bAll=0)
else
translate([ -0.584, -2.515, 0.0 ])
cylinder( d=0.362, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_MSOP_8T) )
translate([ -1.084, -1.765, 0.0 ])
cube([ 0.362, 0.362, board_h*2.0 ], center=true );
else if( drw_Driver_01_MSOP_8T != 0 )
@ -1219,7 +1219,7 @@ module Draw_BO_Driver_01 (bAll=0)
else
translate([ -1.084, -1.765, 0.0 ])
cylinder( d=0.362, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_MSOP_8T) )
translate([ -0.084, -1.765, 0.0 ])
cube([ 0.362, 0.362, board_h*2.0 ], center=true );
else if( drw_Driver_01_MSOP_8T != 0 )
@ -1228,7 +1228,7 @@ module Draw_BO_Driver_01 (bAll=0)
else
translate([ -0.084, -1.765, 0.0 ])
cylinder( d=0.362, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_MSOP_8T) )
translate([ -0.084, -3.265, 0.0 ])
cube([ 0.362, 0.362, board_h*2.0 ], center=true );
else if( drw_Driver_01_MSOP_8T != 0 )
@ -1237,7 +1237,7 @@ module Draw_BO_Driver_01 (bAll=0)
else
translate([ -0.084, -3.265, 0.0 ])
cylinder( d=0.362, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_MSOP_8T) )
translate([ -1.084, -3.265, 0.0 ])
cube([ 0.362, 0.362, board_h*2.0 ], center=true );
else if( drw_Driver_01_MSOP_8T != 0 )
@ -1246,7 +1246,7 @@ module Draw_BO_Driver_01 (bAll=0)
else
translate([ -1.084, -3.265, 0.0 ])
cylinder( d=0.362, h=board_h*2.0, center=true );
if( bAll != 0 )
if( is_undef(drw_Driver_01_RTLECS) )
translate([ -10.000, 3.250, 0.0 ])
cube([ 0.824, 0.824, board_h*2.0 ], center=true );
else if( drw_Driver_01_RTLECS != 0 )

View file

@ -23,18 +23,19 @@ MODE = 1; // 1: full 3D view
// 8: custom lateral projection
// 9: custom frontal projection
// 10: custom combo projection
// 11: frontal 3D section
// 12: lateral 3D section
// 13: boolean difference.
// 11: frontal 3D section for Custom
// 12: lateral 3D section for Custom
// 13: top 3D section for Custom
// 14: boolean difference.
dir = 0; // view direction for 6...12 modes
pdist = 0; // distance between projections for mode 10
dir = 0; // view direction for 6...13 modes
pdist = 20;// distance between projections for mode 10
//// Drawing control
E = true;
drw_board_outline = (MODE!=4&&MODE!=5&&MODE!=13)?1:0;
drw_board_outline = (MODE!=4&&MODE!=5&&MODE!=14)?1:0;
drw_copper = (MODE<4||MODE>10)?1:0;
drw_holes = (MODE<4||MODE>10)?1:0;
drw_pads = (MODE<4||MODE>10)?1:0;
@ -81,6 +82,7 @@ module Custom ()
translate([-6,-3.5,-9.000])
Pcb_Package (1);
// end of user field
}
}
@ -88,20 +90,20 @@ module Custom ()
//// Drawing
cube_scaleX = 2.0;// option for 4,5,11,12 modes
cube_scaleY = 1.0;// option for 4,5,11,12 modes
cube_scaleZ = 1.0;// option for 4,5,11,12 modes
cube_scaleX = 2.0;// (cube sizeX for 4,5,11,12,13 modes)
cube_scaleY = 1.0;// (cube sizeY for 4,5,11,12,13 modes)
cube_scaleZ = 1.0;// (cube sizeZ for 4,5,11,12,13 modes)
if (MODE == 1)
Main();
else if (MODE == 2)
projection(true)
translate([0, 0, -0.010])
Main(0);
Main();
else if (MODE == 3)
//mirror([1, 0, 0])
projection(true)
translate([0, 0, board_h + 0.010])
Main(0);
Main();
else if (MODE == 4)
projection()difference(){
Main(0);
@ -153,30 +155,42 @@ else if (MODE == 10)
Main(0);
}
projection(true)
translate([0, frozen?10.000-pdist:(10.000-pdist-originY_Driver_01), board_h/2])
translate([0, frozen?10.000-pdist:(10.000+pdist-originY_Driver_01), board_h/2])
Main();
}
else if (MODE == 11)
{
PcbFull = 0; // make 1 for full pcb view
difference(){
Custom();
if(PcbFull) Custom();
else Main();
color("white")
translate([0, frozen?-originY_Driver_01:0, frozen?(dir?-max_height_Driver_01/2:max_height_Driver_01/2):0])
rotate([dir?90:-90, 0, 0])
Draw_Driver_01_CUBE(0, frozen);}
Main(0);
if(PcbFull) Main(0);
}
else if (MODE == 12)
{
PcbFull = 0; // make 1 for full pcb view
difference(){
Custom();
if(PcbFull) Custom();
else Main();
color("white")
translate([frozen?-originX_Driver_01:0, 0, frozen?(dir?max_height_Driver_01/2:-max_height_Driver_01/2):0])
rotate([0, dir?90:-90, 0])
Draw_Driver_01_CUBE(0, frozen);}
Main(0);
if(PcbFull) Main(0);
}
else if (MODE == 13)
{
difference(){
Custom();
translate([0,0,0])
Draw_Driver_01_CUBE(dir?1:0, frozen);}
Main(0);
}
else if (MODE == 14)
difference(){
Custom();
Main(0);}

View file

@ -42,7 +42,7 @@ module Poly2_Driver_01_C0402 ()
{
minkowski()
{
$fn = 20;
$fn = 10;
translate([ 0.000, 0.000, 0.200 ])
{
translate([ -2.300, 2.900, 0.0 ])

View file

@ -78,7 +78,7 @@ module Poly14_Driver_01_SMTDIODE ()
{
minkowski()
{
$fn = 20;
$fn = 10;
translate([ -2.443, 6.500, 0.0 ])
{
rotate([ 0.000, 90.000, 0.000 ])

Binary file not shown.