by Tim C. Lueth, SG-Lib Toolbox: SolidGeometry 5.6 - ENG-Designs
Introduced first in SolidGeometry 5.2, Creation date: 2022-04-19, Last change: 2025-09-15
[Hsub,Nsub,SGM,Hadd,Nadd,AParts]=SGdesignMotorN40horiz([LM,sh,sz,gb,PL])
LM: | [housinh-height wall-thickness topwall-thickness rotation-angle] default is [14 1.5 2 0] | |
sh: | Shaft Diameter and Shaft Flattening; default is [3 2.5] | |
sz: | [maxsize-x maxsize-y length-shaft diameter shaft-socket, height shaft-socket]; default is [10 12 6.5 4 .5] | |
gb: | gearbox [size-x size-y height motor-length Mscrews xshift yshift]; default is [18 12 10 14 1.6 5 0] | |
PL: | Point list of screws; default is [-2.5 -4.5;-2.5 +4.5] |
Hsub: | Head Subtraction Solid (Shaft Side) | |
Nsub: | Nut Subtraction Solid (Motor Side) | |
SGM: | Motor Geometry | |
Hadd: | Head Supplement (Shaft Side) | |
Nadd: | Nut Supplement (Motor Side) | |
AParts: | Part list |
SGdesignMotorN40horiz
[Hsub,Nsub,SGM,Hadd,Nadd,AParts]=SGdesignMotorN40horiz
A=SGbox([20,20,2]); B=A; A=SGTretain(A,'F'); B=SGTretain(B,'B'); A=SGtransP(A,[1 1 1]/1000); B=SGtransrelSG(B,A,'alignT',{'B','F'});
A=SGunion(A,Nadd,'alignT',{'C','F'}); A=SGsubtract(A,Nsub,'alignT',{'C','F'}); SGfigure; SGplotalpha(A);
B=SGunion(B,Hadd,'alignT',{'C','B'}); B=SGsubtract(B,Hsub,'alignT',{'C','B'}); SGfigure; SGplotalpha(B);