smbSetSimulationtolerance (tol)- ability to change the Simulation Tolerance for smbSimulate |
% smbSetSimulationtolerance (tol) - ability to change the Simulation Tolerance for smbSimulate % (by Tim Lueth, VLFL-Lib, 2023-SEP-25 as class: MODELING PROCEDURES) % % Since SimScape 2023, there have been some changes that make modeling % 4-bar linkages more difficult. In fact, the simulation fails due to % inaccuracies and no longer passes smoothly through singularities. This % fnctn modifies the tolerance (ConsistencyTolFactor) that at least the % lecture examples in MTT work. (Status of: 2024-01-08) % % Introduced first in SolidGeometry 5.3 % % See also: smbSetTranslationVector, smbSimulate % % smbSetSimulationtolerance([tol]) % === INPUT PARAMETERS === % tol: default is 0.001; USE 0.1 for MTT ==> ConsistencyTolFactor % % See also: smbSetTranslationVector, smbSimulate % % % Copyright 2023-2024 Tim C. Lueth |
SGmedalsframe- creates a plate to present 60mm medals in cmobination with a book wedge |
% SGmedalsframe - creates a plate to present 60mm medals in cmobination with a book wedge % (by Tim Lueth, VLFL-Lib, 2023-SEP-22 as class: PARAMETRIC DESIGN) % % Introduced first in SolidGeometry 5.3 % % See also: SGbookwedge % % SGmedalsframe % % See also: SGbookwedge % % % Copyright 2023-2024 Tim C. Lueth |
SGofGeoTIFF(I)- creates a solid geometry from a depth image |
% SGofGeoTIFF(I) - creates a solid geometry from a depth image % (by Tim Lueth, VLFL-Lib, 2023-AUG-14 as class: SURFACES) % % Es ist seit dem 1.1.2023 möglich, Geodaten , also Digitale Geo Maps % (DGM) in der Auflösung 1x1m = DGM1 % % von der Webseite https://geodaten.bayern.de/opengeodata/ zu holen % % (Status of: 2023-09-11) % % Introduced first in SolidGeometry 5.3 % % See also: GeoTIFFBayern, SGshrinktofit, SGdemoulding % % SGN=SGofGeoTIFF(I) % === INPUT PARAMETERS === % I: Depth Image % === OUTPUT RESULTS ====== % SGN: Solid Geometry % % Additional Hyperlinks: % Bayernwolke Niederaudorf % % EXAMPLE: % I=GeoTIFFBayern(737,5284,1); SGofGeoTIFF(I); % I=GeoTIFFBayern(736:737,5283:5284,1); SGofGeoTIFF(I); SGN=ans; % SGshrinktofit(SGN,200); SGS=ans; % SGdemoulding(SGS); SGD=ans; % % See also: GeoTIFFBayern, SGshrinktofit, SGdemoulding % % % Copyright 2023 Tim C. Lueth |
GeoTIFFBayern(L,B,Res)- load GeoTIFF Data from the Bayern cloud |
% GeoTIFFBayern(L,B,Res) - load GeoTIFF Data from the Bayern cloud % (by Tim Lueth, VLFL-Lib, 2023-AUG-14 as class: SURFACES) % % Unclear how long this data is available (for free) (Status of: % 2023-08-14) % % Introduced first in SolidGeometry 5.3 % % See also: VLwarpgrid, FLofVLmeshgrid, SGofGeoTIFF, SGshrinktofit, % SGdemoulding % % I=GeoTIFFBayern([L,B,Res]) % === INPUT PARAMETERS === % L: Longitude; default is 737 (Niederaudorf) % B: Latitude; default is 5284 (Niederaudorf) % Res: Resolution default is 1 % === OUTPUT RESULTS ====== % I: Image of the selected % % Additional Hyperlinks: % OpenGeodata of Bayern % % EXAMPLE: % GeoTIFFBayern(737,5284,1);I=ans; % Geotiff of "Niederaudorf" % GeoTIFFBayern(734:737,5283:5285);I=ans % Geotiff of "Wildbarren" % VLwarpgrid(I,'','','',true); VL=ans; % % % See also: VLwarpgrid, FLofVLmeshgrid, SGofGeoTIFF, SGshrinktofit, % SGdemoulding % % % Copyright 2023 Tim C. Lueth |
FLofVLmeshgrid(VL,ss,D)- crestes a fact list for a vertex list that was created from a depth image |
% FLofVLmeshgrid(VL,ss,D) - crestes a fact list for a vertex list that was created from a depth image % (by Tim Lueth, VLFL-Lib, 2023-AUG-13 as class: SURFACES) % % Introduced first in SolidGeometry 5.3 % % See also: VLwarpgrid, GeoTIFFBayern, SGofGeoTIFF % % [FL,VL]=FLofVLmeshgrid(VL,[ss,D]) % === INPUT PARAMETERS === % VL: Vertex list of a surface that was created from a depth image % ss: size of the Image used to create VL % D: if s closed surface model is request, D is the socket height % === OUTPUT RESULTS ====== % FL: Facet list created by connecting 4 neighbar points % VL: Modified VL, if D is used % % Additional Hyperlinks: % Geodata of Bayern - Bayernwolke % % EXAMPLE: % I=GeoTIFFBayern(737,5284:5285,1); % SG.VL=VLwarpgrid(I,'','','',true); % SG.FL=FLofVLmeshgrid(SG.VL,size(I)); % SGfigure(30,30); SGplotalpha(SG,'w'); % [A.FL,A.VL]=FLofVLmeshgrid(SG.VL,size(I),10); % FLofVLmeshgrid(SG.VL,size(I),10); % % See also: VLwarpgrid, GeoTIFFBayern, SGofGeoTIFF % % % Copyright 2023 Tim C. Lueth |
SGcableclip (BDW)- returns cableclip that can be fixed in 90 degree by a nail |
% SGcableclip (BDW) - returns cableclip that can be fixed in 90 degree by a nail % (by Tim Lueth, VLFL-Lib, 2023-AUG-08 as class: PARAMETRIC DESIGN) % % Tutorial fnctn (Status of: 2023-08-09) % % Introduced first in SolidGeometry 5.3 % % See also: SGbookwedge, SGhandrailclamp, SGmultisocketclamp % % SGcableclip([BDW]) % === INPUT PARAMETERS === % BDW: Nail length, Diameter of cable, wall thickness; default is [3 5 2] % % EXAMPLE: % SGcableclip([03 5 3]) % SGcableclip([05 5 3]) % SGcableclip([10 5 3]) % % See also: SGbookwedge, SGhandrailclamp, SGmultisocketclamp % % % Copyright 2023 Tim C. Lueth |
SGmultisocketclamp(xywFd)- returns a clamp to fix a multisocket under a desktop table plate |
% SGmultisocketclamp(xywFd) - returns a clamp to fix a multisocket under a desktop table plate % (by Tim Lueth, VLFL-Lib, 2023-AUG-07 as class: PARAMETRIC DESIGN) % % Tutorial fnctn, show the use of forces for cloip clamps (Status of: % 2023-08-09) % % Introduced first in SolidGeometry 5.3 % % See also: SGbookwedge, SGhandrailclamp, SGcableclip % % SG=SGmultisocketclamp([xywFd]) % === INPUT PARAMETERS === % xywFd: [x y wall Force opening of the clamp; default is [57 42 2 20 10] % === OUTPUT RESULTS ====== % SG: Solid Geometry % % EXAMPLE: % SGmultisocketclamp([57 42 2 20 10 5]) % M5 screws % SGmultisocketclamp([57 42 2 20 10 0],[81 42 2 20 10 0]) % Double Clamp % SGmultisocketclamp([57 42 2 20 10 90],[81 42 2 20 10 0]) % Doube clamp rotatete 90 degree % % See also: SGbookwedge, SGhandrailclamp, SGcableclip % % % Copyright 2023 Tim C. Lueth |
pofSG(SG,rel)- returns a position based on spatial relations of SGtransrelSG |
% pofSG(SG,rel) - returns a position based on spatial relations of SGtransrelSG % (by Tim Lueth, VLFL-Lib, 2023-AUG-07 as class: KINEMATICS AND FRAMES) % % based on moving a infinity small solid (Status of: 2023-08-10) % % Introduced first in SolidGeometry 5.3 % % See also: SGtransrelSG % % p=pofSG(SG,[rel]) % === INPUT PARAMETERS === % SG: Solid % rel: spatial relations valid in SGtransrelSG % === OUTPUT RESULTS ====== % p: [x y z], coordinate % % EXAMPLE: % pofSG(SGsample(4),'ontop','right') % % See also: SGtransrelSG % % % Copyright 2023 Tim C. Lueth |
SGbookwedge(z,b,r,"close","book")- returns a wedge for a book or a tablet |
% SGbookwedge(z,b,r,"close","book") - returns a wedge for a book or a tablet % (by Tim Lueth, VLFL-Lib, 2023-AUG-07 as class: PARAMETRIC DESIGN) % % Introduced first in SolidGeometry 5.3 % % See also: SGmultisocketclamp, SGhandrailclamp, SGcableclip, % SGmedalsframe % % SG=SGbookwedge([z,b,r,"close","book"]) % === INPUT PARAMETERS === % z: [height-front distance height-back thickness]; default [20 200 35 2] % b: height of the wedge % r: radius; default is 0 % "close": if used the wedge is closed on the ,floor side % "book": if used the wedge is elongated on the floor side % === OUTPUT RESULTS ====== % SG: Solid Geometry % % EXAMPLE: % SGbookwedge([20 200 35]) % SGbookwedge([5 50 150],25,6) % Stand for medallion % SGbookwedge([20 200 55 2],'',8,'close') % Beamer % SGbookwedge([5 50 150],25,'','book') % Books % % See also: SGmultisocketclamp, SGhandrailclamp, SGcableclip, % SGmedalsframe % % % Copyright 2023-2024 Tim C. Lueth |
SGhandrailclamp(xywF,"count")- An example for a snap-in solution of a handrail-adapter for a specified force |
% SGhandrailclamp(xywF,"count") - An example for a snap-in solution of a handrail-adapter for a specified force % (by Tim Lueth, VLFL-Lib, 2023-AUG-06 as class: PARAMETRIC DESIGN) % % The calculation of the snap force is related to a 100% filling. % SENSITIVE TO HEATING AND MALFORMING BY SUN LIGHT OR HIGH TEMPERATURE % (Status of: 2023-08-09) % % Introduced first in SolidGeometry 5.3 % % See also: SGmultisocketclamp, SGbookwedge, SGcableclip, % SGadapterHandrailold % % SG=SGhandrailclamp([xywF,"count"]) % === INPUT PARAMETERS === % xywF: [x y w F]; default is [52mm 32mm 2m 20N] % "count": if used a countersunk head screw is used instead of a % cylindric head screw % === OUTPUT RESULTS ====== % SG: Solid Geometry % % EXAMPLE: % SGhandrailclamp([52 32 2 20]); % DIN 985 cylindric head % SGhandrailclamp([52 32 2 20],'count'); % DIN 7991 countersunk head % % See also: SGmultisocketclamp, SGbookwedge, SGcableclip, % SGadapterHandrailold % % % Copyright 2023-2024 Tim C. Lueth |
FLofCVLneigborpoints(CVL)- cresting faces between threee suceeding points of a contour |
% FLofCVLneigborpoints(CVL) - cresting faces between threee suceeding points of a contour % (by Tim Lueth, VLFL-Lib, 2023-AUG-04 as class: SURFACES) % % extracted from VLedgeNormal % FLofn % FLofVL => Obsolete Simple delaunay % FLofCVL => Closing a 3D Contour % FLofCVLneigborpoints (Status of: 2023-08-04) % % Introduced first in SolidGeometry 5.3 % % See also: FLofVL, FLofCVL % % FL=FLofCVLneigborpoints(CVL) % === INPUT PARAMETERS === % CVL: 3D Point list % === OUTPUT RESULTS ====== % FL: Facet list combining three neigborpoint [i-1 i i+1] % % EXAMPLE: % FLofCVL(PLcircle(1)) % FLofCVLneigborpoints(PLcircle(1)) % % See also: FLofVL, FLofCVL % % % Copyright 2023 Tim C. Lueth |
Poseflip(PS,nn)- flips the direction of pose vectors in a Pose struct |
% Poseflip(PS,nn) - flips the direction of pose vectors in a Pose struct % (by Tim Lueth, VLFL-Lib, 2023-JUL-24 as class: KINEMATICS AND FRAMES) % % This fnctn just flips the direction of a pose: Start and end points A % and B (Status of: 2023-07-27) % % Introduced first in SolidGeometry 5.3 % % See also: PosetransT, PosetransrelCPLE % % PS=Poseflip(PS,[nn]) % === INPUT PARAMETERS === % PS: Pose struct with A and B fields to describe Poses % nn: list of poses to flip; default is all % === OUTPUT RESULTS ====== % PS: Pose with fliped direction % % EXAMPLE: % Posesample(17);PS=ans; % Poseflip(PS,3) % Be aware what happend with the Contour of the Eeffector CPLE % % See also: PosetransT, PosetransrelCPLE % % % Copyright 2023 Tim C. Lueth |
ELhistogram(EL,)- returns a list o nodes in an edge list and how often it was used |
% ELhistogram(EL,) - returns a list o nodes in an edge list and how often it was used % (by Tim Lueth, VLFL-Lib, 2023-JUL-17 as class: EDGE LISTS) % % Introduced first in SolidGeometry 5.3 % % See also: ELgraphleafs, ELplot % % [nh]=ELhistogram(EL,[]) % === INPUT PARAMETERS === % EL: Edge list % === OUTPUT RESULTS ====== % [nh]: list of [nodenumber usage] % % EXAMPLE: % A=SGbox; ELofFL(A.FL); EL=ans, view(-30,30); ELhistogram(EL) % % See also: ELgraphleafs, ELplot % % % Copyright 2023 Tim C. Lueth |
ELgraphleafs(EL,rekurs)- separates open branches in a edge list tree |
% ELgraphleafs(EL,rekurs) - separates open branches in a edge list tree % (by Tim Lueth, VLFL-Lib, 2023-JUL-16 as class: KINEMATICS AND FRAMES) % % used for kinematics analysis (Status of: 2023-07-16) % % Introduced first in SolidGeometry 5.3 % % See also: ELreconnect, ELofELmesh, ELleafs % % [ELlf,ELtr,SIL,knod,leaf]=ELgraphleafs(EL,[rekurs]) % === INPUT PARAMETERS === % EL: Edge List % rekurs: if true; the remaining tree contains just closed loops % === OUTPUT RESULTS ====== % ELlf: AL Branches of the leaves sorted outwards % ELtr: remaining tree of the tree unchanged sorted by loops if % rekursively % SIL: Select index list; undependent % knod: list of node % leaf: list of leafs (ELlf(:,2)) % % EXAMPLE: % ELgraphleafs(ELofn(10),true) % % See also: ELreconnect, ELofELmesh, ELleafs % % % Copyright 2023 Tim C. Lueth |
SGanalyzecrosscenter(SG,isexact)- approximates the center points of intruding surfaces |
% SGanalyzecrosscenter(SG,isexact) - approximates the center points of intruding surfaces % (by Tim Lueth, VLFL-Lib, 2023-JUL-10 as class: KINEMATICS AND FRAMES) % % time consuming fnctn (Status of: 2023-07-11) % % Introduced first in SolidGeometry 5.3 % % See also: SGsurfaces, SGintersectFacetPoints % % [CLL,SGB,BB]=SGanalyzecrosscenter(SG,[isexact]) % === INPUT PARAMETERS === % SG: Solid Geometry consisting of overlapping separated surfaces % isexact: if true; the real surface instead of BB is used; default is % false % === OUTPUT RESULTS ====== % CLL: collison list [ind-A ind-B [x y z] vol-A vol-B] % SGB: cell list of surfaces of SG % BB: cell list of bounding boxes of SG % % EXAMPLE: % SG=SGreadSTL('/Volumes/LUETH-WIN/STL Wenckstern Hotrod/human-model-of-a-soldier-or-guard-1/Soldierwgun.STL'); % % SGanalyzecrosscenter(SG,false); % % % See also: SGsurfaces, SGintersectFacetPoints % % % Copyright 2023 Tim C. Lueth |
SGfingerprotector(DLW,TL)- creates a simple finger guard for one finger |
% SGfingerprotector(DLW,TL) - creates a simple finger guard for one finger % (by Tim Lueth, VLFL-Lib, 2023-JUL-02 as class: EXPERIMENTS) % % After a sports accident that tore off the tip of a middle finger, there % was a need for a waterproof protective cover over the bandage or later % over the plaster. The aim was also to make it possible to play the % piano again with a shortened finger. However, the realized concept had % disadvantages compared to a fabric bandage. Contact forces are not % transmitted to the healing fingertip in a damped manner as with a % bandage, but are not damped. The bandage is thickest at the fingertip. % This means that the diameter must be modeled on the thickest diameter. % ==> The protector should be able to be assembled from individual pieces % ==> The individual links must be able to be attached laterally and not % over the tip % ==> The links should optionally have swivel/shear joints % % L=DLW(2); % Length of Protector % D=DLW(1); % Diameter of protector % w=DLW(3); % Wallwith of protector % H=DLW(4); % Tip height % t=DLW(5); % Wallwith of protector % B=DLW(6); % Wallwith of protector % (Status of: 2024-01-09) % % Introduced first in SolidGeometry 5.3 % % SG=SGfingerprotector([DLW,TL]) % === INPUT PARAMETERS === % DLW: default is [23 80 0.8 nan nan nan] % TL: Cell list with z values to create rotational links afterwards % === OUTPUT RESULTS ====== % SG: Solid Geometry for 3D print % % EXAMPLE: % SGfingerprotector([23 80 0.3],{10 20}) % SGfingerprotector([23 80 0.3],{20 40 60}) % % % Copyright 2023-2024 Tim C. Lueth |
FSsample(Nr,T,rF)- create open surfaces (no solids) with the parameter to create missing faces etc. |
% FSsample(Nr,T,rF) - create open surfaces (no solids) with the parameter to create missing faces etc. % (by Tim Lueth, VLFL-Lib, 2023-JUN-20 as class: SURFACES) % % Fnctn to create surfaces no solid with the parameter to create errors % (Status of: 2023-06-29) % % Introduced first in SolidGeometry 5.3 % % See also: CPLsample, CSGsample, CVLsample, CVLzsample, PLsample, % PLsampletriangles, SGCLsample, SGcmdsample, SGcolorsample, % SGerrorsample, SSGjacosample, SGsample, Tsample, VLFLsample, % VLFLsamplecircles, VLsample, VLsampletriangles % % [VL,FL,SG,CVL]=FSsample([Nr,T,rF]) % === INPUT PARAMETERS === % Nr: Sample number % T: optional position in space % rF: number of missing triangles % === OUTPUT RESULTS ====== % VL: Vertex list; or solid if nargout<2 % FL: Facet list % SG: Solid Geometry struct % CVL: Opben boundary als CVL % % EXAMPLE: % FSsample(6,'',10); SG=ans; SGrepairFLsimple(SG) % % See also: CPLsample, CSGsample, CVLsample, CVLzsample, PLsample, % PLsampletriangles, SGCLsample, SGcmdsample, SGcolorsample, % SGerrorsample, SSGjacosample, SGsample, Tsample, VLFLsample, % VLFLsamplecircles, VLsample, VLsampletriangles % % % Copyright 2023 Tim C. Lueth |
SGremedgepoints(SG,alpha,minf,"repair")- returns a surface model without edge points on straigt lines, but with surface points that are inside |
% SGremedgepoints(SG,alpha,minf,"repair") - returns a surface model without edge points on straigt lines, but with surface points that are inside % (by Tim Lueth, VLFL-Lib, 2023-JUN-10 as class: SURFACES) % % This fnctn is useful, if STEP files are converted into STL files, and % some boundary edges cannot be fused since, there are unnecessary % auxilariy points along straigth lines (Status of: 2023-06-10) % % Introduced first in SolidGeometry 5.3 % % See also: VLFLremsurfpoints, SGremsurfpoints, SGofpdemodel, % SGremsurfedgepoints % % [SGN,FLN,FSi]=SGremedgepoints(SG,[alpha,minf,"repair"]) % === INPUT PARAMETERS === % SG: Solid Geometry surface model % alpha: alpha angle for feature surface; default is 0.01 % minf: minimum facets per face; default is 5; smalles value % "repair": if used, the fnctn SGrepairFLsimple is called in the end % === OUTPUT RESULTS ====== % SGN: New surface model with reduced vertices and faces % FLN: Reduced Facet list based on the original vertex list % FSi: Feature surface index list % % EXAMPLE: Remove surfpoints on the line: % A=SGlinkage(5,30,5) % model=pdemodelofSG(A,1) % SGofpdemodel(model); B=ans % SGremedgepoints(B) % SGmakedoublevertex(SGbox('noframe'),1,.76,0.01,'auxc',1,'auxg',2.3); SG=ans % SGremedgepoints(SG); % % See also: VLFLremsurfpoints, SGremsurfpoints, SGofpdemodel, % SGremsurfedgepoints % % % Copyright 2023 Tim C. Lueth |
SGmakedoublefaces(SG,fi,alpha,d,"flip","auxc","auxg")- move a number faces with slightly different position (creating errors) |
% SGmakedoublefaces(SG,fi,alpha,d,"flip","auxc","auxg") - move a number faces with slightly different position (creating errors) % (by Tim Lueth, VLFL-Lib, 2023-JUN-09 as class: SURFACES) % % Family of error creating fnctns for testing % SGmakemissingvertex % SGmakemissingfacet % SGmakedoublevertex % SGmakedoublefacets % % (Status of: 2023-06-09) % % Introduced first in SolidGeometry 5.3 % % See also: SGshortopti, SGmakemissingvertex, SGmakemissingfacet, % SGmakedoublevertex, SGmakedoublefacets % % [SG,SGB,SGA]=SGmakedoublefaces([SG,fi,alpha,d,"flip","auxc","auxg"]) % === INPUT PARAMETERS === % SG: Solid geometry; default is sphere (25); % fi: indices of faces to remove; default is 1 % alpha: alpha for separating the feature surfaces; default is .76 % d: displacement in direction of normal vector; % "flip": if used; the orientation of the faces is turned to backwards % "auxc": create auxiliary points along the boundary edge % "auxg": create auxiliary grid points within the feature surface % === OUTPUT RESULTS ====== % SG: SG with removed vertices and removed facets % SGB: Surfaces with displacement % SGA: Surfaces without displacement % % EXAMPLE: % SGmakedoublefaces(SGsphere(5),[1:30],.76,0,'auxg',.2) % % See also: SGshortopti, SGmakemissingvertex, SGmakemissingfacet, % SGmakedoublevertex, SGmakedoublefacets % % % Copyright 2023 Tim C. Lueth |
uniquecell(C)- unique command for cells |
% uniquecell(C) - unique command for cells % (by Tim Lueth, VLFL-Lib, 2023-JUN-09 as class: LANGUAGE PROCEDURES) % % With each new version of Matlab, the language seems to become more and % more class-dependent and lose the flexibility that was one of Matlab's % key strengths in the past % % This fnctn does what was expected of unique in the past for cell lists % and no longer works (Status of: 2023-11-15) % % Introduced first in SolidGeometry 5.3 % % See also: unique % % C=uniquecell(C) % === INPUT PARAMETERS === % C: cell list % === OUTPUT RESULTS ====== % C: cell list with unique elements % % EXAMPLE: % unique({'A', 2, 4, 6, 'D', 'A'}) % creates an error % uniquecell({'A', 2, 4, 6, 'D', 'A'}) $ creates the expected result % % See also: unique % % % Copyright 2023 Tim C. Lueth |
SGmakedoublevertex(SG,Vi,alpha,d,"flip","auxc","auxg")- copies a number of vertices as doubles with slightly different position |
% SGmakedoublevertex(SG,Vi,alpha,d,"flip","auxc","auxg") - copies a number of vertices as doubles with slightly different position % (by Tim Lueth, VLFL-Lib, 2023-JUN-09 as class: SURFACES) % % Family of error creating fnctns for testing % SGmakemissingvertex % SGmakemissingfacet % SGmakedoublevertex % SGmakedoublefacets % % (Status of: 2023-06-09) % % Introduced first in SolidGeometry 5.3 % % See also: SGshortopti, SGmakemissingvertex, SGmakemissingfacet, % SGmakedoublefacets % % [SG,SGB,SGA]=SGmakedoublevertex([SG,Vi,alpha,d,"flip","auxc","auxg"]) % === INPUT PARAMETERS === % SG: Solid geometry; default is sphere (25); % Vi: indices of faces to remove; default is 1 % alpha: alpha for separating the feature surfaces; default is .76 % d: displacement in direction of normal vector; % "flip": if used; the orientation of the faces is turned to backwards % "auxc": create auxiliary points along the boundary edge % "auxg": create auxiliary grid points within the feature surface % === OUTPUT RESULTS ====== % SG: SG with removed vertices and removed facets % SGB: Surfaces with displacement % SGA: Surfaces without displacement % % EXAMPLE: % SGmakedoublevertex(SGbox('noframe'),1,.76) % SGmakedoublevertex(SGsphere(5),290,.76,1) % SGmakedoublevertex(SGsphere(5),290,.76,1e-4); SG=ans; SGshortopti(SG) % SGmakedoublevertex(SGsphere(5),[290 400 3000],.76,1e-4); % SGmakedoublevertex(SGsphere(5),[290 400 3000],'flip'); showrf % SGmakedoublevertex(SGbox('noframe'),1,.76,1,'auxc',1,'auxg',2) % % See also: SGshortopti, SGmakemissingvertex, SGmakemissingfacet, % SGmakedoublefacets % % % Copyright 2023 Tim C. Lueth |
SGmakemissingfacet(SG,fi)- removes a number of vertices which creates missing facets |
% SGmakemissingfacet(SG,fi) - removes a number of vertices which creates missing facets % (by Tim Lueth, VLFL-Lib, 2023-JUN-08 as class: SURFACES) % % Family of error creating fnctns for testing % SGmakemissingvertex % SGmakemissingfacet % SGmakedoublevertex % SGmakedoublefacets % % (Status of: 2023-06-09) % % Introduced first in SolidGeometry 5.3 % % See also: SGmakemissingvertex, SGmakedoublevertex, SGmakedoublefacets % % SG=SGmakemissingfacet([SG,fi]) % === INPUT PARAMETERS === % SG: Solid geometry; default is sphere (25); % fi: indices of faces to remove; default is 1 % === OUTPUT RESULTS ====== % SG: SG with removed vertices and removed facets % % EXAMPLE: % SGmakemissingfacet(SGsphere(25),[1000,400,4000]); % % See also: SGmakemissingvertex, SGmakedoublevertex, SGmakedoublefacets % % % Copyright 2023 Tim C. Lueth |
SGmakemissingvertex(SG,Vi)- removes a number of vertices which creates missing facets |
% SGmakemissingvertex(SG,Vi) - removes a number of vertices which creates missing facets % (by Tim Lueth, VLFL-Lib, 2023-JUN-08 as class: SURFACES) % % Family of error creating fnctns for testing % SGmakemissingvertex % SGmakemissingfacet % SGmakedoublevertex % SGmakedoublefacets % % (Status of: 2023-06-09) % % Introduced first in SolidGeometry 5.3 % % See also: SGmakemissingfacet, SGmakedoublevertex, SGmakedoublefacets % % SG=SGmakemissingvertex([SG,Vi]) % === INPUT PARAMETERS === % SG: Solid geometry; default is sphere (25); % Vi: indices of vertices to remove; default is 1 % === OUTPUT RESULTS ====== % SG: SG with removed vertices and removed facets % % EXAMPLE: % SGmakemissingvertex(SGsphere(25),[100 200 300]) % % See also: SGmakemissingfacet, SGmakedoublevertex, SGmakedoublefacets % % % Copyright 2023 Tim C. Lueth |
SGbarcelonaspacer- Solid protector for Barcelona lounger by Mies van der Rohe |
% SGbarcelonaspacer - Solid protector for Barcelona lounger by Mies van der Rohe % (by Tim Lueth, VLFL-Lib, 2023-MAI-15 as class: PARAMETRIC DESIGN) % % protect the touch of the barcelona bed to a wall % (Status of: 2023-07-08) % % Introduced first in SolidGeometry 5.3 % % See also: SGfurniturespacer % % SGbarcelonaspacer % % EXAMPLE: % SGbarcelonaspacer([32 3 120 15],'min') % van der Rohoe Barcelona bed % SGbarcelonaspacer([32 3 60 25],'bar') % Le Corbusier Sofa % SGbarcelonaspacer([32 3 60 25],'spoke') % Le Corbusier Sofa % SGbarcelonaspacer([32 3 60 25],'circ') % Le Corbusier Sofa % SGbarcelonaspacer([32 3 60 25],'box') % Le Corbusier Sofa % % See also: SGfurniturespacer % % % Copyright 2023 Tim C. Lueth |
corner2rad(d)- returns the radius based on the distance to the two tangets |
% corner2rad(d) - returns the radius based on the distance to the two tangets % (by Tim Lueth, VLFL-Lib, 2023-MAI-10 as class: ANALYTICAL GEOMETRY) % % Introduced first in SolidGeometry 5.3 % % See also: sofrd, dofRintrusion, rofRintrusion % % r=corner2rad(d) % === INPUT PARAMETERS === % d: distance % === OUTPUT RESULTS ====== % r: radius % % EXAMPLE: % corner2rad(21) % Radius of Babuulab housing % % % See also: sofrd, dofRintrusion, rofRintrusion % % % Copyright 2023 Tim C. Lueth |
CPLsocketscrewed(diam)- Contour for an anti-rotation bushing |
% CPLsocketscrewed(diam) - Contour for an anti-rotation bushing % (by Tim Lueth, VLFL-Lib, 2023-APR-30 as class: CLOSED POLYGON LISTS) % % If #==1 ==> CPLmotorshaft % (Status of: 2023-05-23) % % Introduced first in SolidGeometry 5.3 % % See also: CPLmotorshaft % % CPL=CPLsocketscrewed([diam]) % === INPUT PARAMETERS === % diam: [max min #] ; default is [10 8.5 2] % === OUTPUT RESULTS ====== % CPL: Kontour % % See also: CPLmotorshaft % % % Copyright 2023 Tim C. Lueth |
SGfurniturespacer(ddd,ope)- Solid protector to protect the touch of the furniture to a wall |
% SGfurniturespacer(ddd,ope) - Solid protector to protect the touch of the furniture to a wall % (by Tim Lueth, VLFL-Lib, 2023-APR-30 as class: PARAMETRIC DESIGN) % % Introduced first in SolidGeometry 5.3 % % See also: SGbarcelonaspacer % % SG=SGfurniturespacer([ddd,ope]) % === INPUT PARAMETERS === % ddd: [x y wall distance height]; default is [25 25 3 65 25] % ope: if true; the parts are open in [x y]; default is [false false] % === OUTPUT RESULTS ====== % SG: Solid Geometry % % EXAMPLE: % SGfurniturespacer([25 25 3 65 25]); % Rolf Benz Ego Sofa % SGfurniturespacer([40 80 3 30],true); % Bestloft Krupp Table Slides % % See also: SGbarcelonaspacer % % % Copyright 2023 Tim C. Lueth |
SGEurtraccap- Solid Geometry Cap for an EUTRAC 3Phase electric rail |
% SGEurtraccap - Solid Geometry Cap for an EUTRAC 3Phase electric rail % (by Tim Lueth, VLFL-Lib, 2023-APR-18 as class: PARAMETRIC DESIGN) % % A student of Josef Albers (Square) was Otl Aicher (13.5.1922) who % designed or used, among other things, light strips. In general, they % are extruded aluminum strips with which several power lines and data % buses can be transported. A concept that can also be used very well in % robotics. The company ERCO has cooperated with him. Other suppliers of % the same technology besides ERCO are Eutrac, Staff, Global, Powergear, % Ivelva, Unipro, Stucci and others. (Status of: 2023-04-19) % % Introduced first in SolidGeometry 5.3 % % See also: SGofCPLz % % SG=SGEurtraccap % === OUTPUT RESULTS ====== % SG: Solid Geometry of a 36mm x 32 mm x 40mm cap % % See also: SGofCPLz % % % Copyright 2023 Tim C. Lueth |
SGhotrodCarbody(name,nF)- returns different SG of the Hotrot projects |
% SGhotrodCarbody(name,nF) - returns different SG of the Hotrot projects % (by Tim Lueth, VLFL-Lib, 2023-APR-13 as class: SURFACES) % % Introduced first in SolidGeometry 5.3 % % See also: SGreadSTL, SGreduceVLFL, SGseparateui % % [SG,mtab]=SGhotrodCarbody([name,nF]) % === INPUT PARAMETERS === % name: Abbreviation of SG such as Ehot+, EHot % nF: number of faces; default is 60000 % === OUTPUT RESULTS ====== % SG: Solid Geometry % mtab: vector of axis dimension % % EXAMPLE: % SGhotrodCarbody % SGhotrodCarbody('Ehot') % SGhotrodCarbody('Ehot+') % SGseparateui(SGhotrodCarbody('VW')) % % See also: SGreadSTL, SGreduceVLFL, SGseparateui % % % Copyright 2023 Tim C. Lueth |
SGstrechez(SG,ez,zz,ss,"mode","debug")- streches Objects along an axis to fit intervals or positions |
% SGstrechez(SG,ez,zz,ss,"mode","debug") - streches Objects along an axis to fit intervals or positions % (by Tim Lueth, VLFL-Lib, 2023-APR-11 as class: SURFACES) % % Introduced first in SolidGeometry 5.3 % % See also: SGstretching, SGscale2dim, SGshrinktofit % % [SG0,TL,TK]=SGstrechez([SG,ez,zz,ss,"mode","debug"]) % === INPUT PARAMETERS === % SG: Solid Geometry % ez: strching axis; default is 'x' % zz: intervalls ('dist') or positions ('pos') % ss: scaling factor ('dist') or new positions ('pos') % "mode": default is 'dist', use also 'pos' % "debug": if used, steps are shown % === OUTPUT RESULTS ====== % SG0: Streched Geometry % TL: List of Frames in the Original % TK: List of Frames in the Streched Object % % EXAMPLE: % SGtetramesh(SGbox,1.5); SGB=ans; % SGstrechez(SGB,'x',[5 5 5],[1 0.5 2]) % SGstrechez(SGB,'x',[0 10 20 28],[0 5 10 25],'mode','pos') % % See also: SGstretching, SGscale2dim, SGshrinktofit % % % Copyright 2023 Tim C. Lueth |
SGinsertTslice(SG,T,ct)- fnct that inserts required slice points into a surface before a stretch |
% SGinsertTslice(SG,T,ct) - fnct that inserts required slice points into a surface before a stretch % (by Tim Lueth, VLFL-Lib, 2023-APR-11 as class: SURFACES) % % Similar to SGcutT but without the closing surface at the cutting plane. % (Status of: 2023-04-11) % % Introduced first in SolidGeometry 5.3 % % See also: SGcutT, SGshort % % [SG,SGU,SGO]=SGinsertTslice([SG,T,ct]) % === INPUT PARAMETERS === % SG: Solid Geometry % T: Frame to cut by xy-plane % ct: cutting mode if T is empty; see TofPcam % === OUTPUT RESULTS ====== % SG: Solid consisting of SGU and SGO (unified vertices by SGshort) % SGU: SGU lower part of wrt to frame T (Magenta) % SGO: SGO upper part of wrt to frame T (Gray) % % EXAMPLE: % SGinsertTslice(SGbox,eye(4)) % % % See also: SGcutT, SGshort % % % Copyright 2023 Tim C. Lueth |
mdfind()- spotlight using matlab on mac |
% mdfind() - spotlight using matlab on mac % (by Tim Lueth, VLFL-Lib, 2023-MÄR-29 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: system % % b=mdfind([]) % === OUTPUT RESULTS ====== % b: result of spotlight as cell list % % EXAMPLE: % mdfind aston martin coloured .stl % % See also: system % % % Copyright 2023 Tim C. Lueth |
colorannotate(sgcolord,varnames)- returns an annotation string from plotannotation |
% colorannotate(sgcolord,varnames) - returns an annotation string from plotannotation % (by Tim Lueth, VLFL-Lib, 2023-MÄR-29 as class: USER INTERFACE) % % Introduced first in SolidGeometry 5.3 % % See also: plotannotation, colofn, nofcolmap % % ptxt=colorannotate([sgcolord,varnames]) % === INPUT PARAMETERS === % sgcolord: colors for colofn % varnames: list of variables or strings to be used to create an % annotation % === OUTPUT RESULTS ====== % ptxt: annotation string % % EXAMPLE: C=1, B=C, A=B % colorannotate('rgb',A,B,C,'TEST') % SGfigure; plotannotation(colorannotate('rgb',A,B,C,12,'TEST'),'FW'); % % See also: plotannotation, colofn, nofcolmap % % % Copyright 2023 Tim C. Lueth |
mofzd(z,d)- returns the module if diameter and number of teeth are known |
% mofzd(z,d) - returns the module if diameter and number of teeth are known % (by Tim Lueth, VLFL-Lib, 2023-MÄR-25 as class: KINEMATICS AND FRAMES) % % Introduced first in SolidGeometry 5.3 % % See also: PLgearDIN % % m=mofzd(z,d) % === INPUT PARAMETERS === % z: number of teeth % d: diameter of gear % === OUTPUT RESULTS ====== % m: module % % EXAMPLE: % mofzd (17,9) % % See also: PLgearDIN % % % Copyright 2023 Tim C. Lueth |
CPLcirclesofShaft(CPL,slt)- 2D fnct returning a circular contour that encloses a rotating contour |
% CPLcirclesofShaft(CPL,slt) - 2D fnct returning a circular contour that encloses a rotating contour % (by Tim Lueth, VLFL-Lib, 2023-MÄR-25 as class: CLOSED POLYGON LISTS) % % Many motors use shaft geometries (CPLmotorshaft) to drive a gear. In % the case of a double-bearing gear, there is a desire to have at least % one hole in the rack that allows the use of a long motor shaft, and for % this the rack need a hole into which the motor shaft is inserted. % (Status of: 2023-03-27) % % Introduced first in SolidGeometry 5.3 % % See also: CPLsweep, CPLmotorshaft, CVLdimclassifier % % [CPLC,r,cp]=CPLcirclesofShaft([CPL,slt]) % === INPUT PARAMETERS === % CPL: Contour of a rotating shaft % slt: optional slot size; default is 0; % === OUTPUT RESULTS ====== % CPLC: CPL of enclsoing circl % r: radius % cp: centerpoint % % EXAMPLE: % CPLcirclesofShaft(CPLmotorshaft(4,3),'t') % CPLcirclesofShaft(PLsquare(6,2),'c'); % % See also: CPLsweep, CPLmotorshaft, CVLdimclassifier % % % Copyright 2023 Tim C. Lueth |
osx- simplified version that shows osx version matlab version and sg lib version |
% osx - simplified version that shows osx version matlab version and sg lib version % (by Tim Lueth, VLFL-Lib, 2023-MÄR-23 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: SGversion, verSG % % osx=osx % === OUTPUT RESULTS ====== % osx: OSX Release | Matlab Release | SG-Lib Release % % EXAMPLE: % osx % % See also: SGversion, verSG % % % Copyright 2023 Tim C. Lueth |
SGturn4AM(SG)- simply turns an object if the upper printing surface is larger than the lower floor printing area |
% SGturn4AM(SG) - simply turns an object if the upper printing surface is larger than the lower floor printing area % (by Tim Lueth, VLFL-Lib, 2023-MÄR-22 as class: AUXILIARY PROCEDURES) % % This fnctns is part of Slicers but it is easier not to think about % during development and fast printing (Status of: 2023-03-22) % % Introduced first in SolidGeometry 5.3 % % See also: SGwriteSTL, SGrotate % % SGN=SGturn4AM(SG) % === INPUT PARAMETERS === % SG: Solid Geometry % === OUTPUT RESULTS ====== % SGN: Turned or unchanged Solid % % EXAMPLE: % SGturn4AM(SGrotate(SGsample(19),'y',pi)) % % See also: SGwriteSTL, SGrotate % % % Copyright 2023 Tim C. Lueth |
SGgearratio(f,nn,mm)- calculates automatically the required gear sequence for a gear box |
% SGgearratio(f,nn,mm) - calculates automatically the required gear sequence for a gear box % (by Tim Lueth & Marie Lueth, VLFL-Lib, 2023-MÄR-21 as class: AUTOMATIC % DESIGN) % % Introduced first in SolidGeometry 5.3 % % See also: indexvariant, SGgearchain, SGgearDINrot % % [zzl,rat,ee]=SGgearratio([f,nn,mm]) % === INPUT PARAMETERS === % f: desired ration % nn: optional number of gear pair layers % mm: minimum and maximum number of teeth; default is [9 55] % === OUTPUT RESULTS ====== % zzl: teeth sequence % rat: ratio % ee: relative error % % EXAMPLE: % SGgearratio(10) % SGgearratio(1/10) % SGgearratio(pi) % SGgearratio(355/113) % SGgearratio(exp(1)) % [a,b,c]=SGgearratio(pi,4) % [a,b,c]=SGgearratio(60,4) % [a,b,c]=SGgearratio(60,3) % SGgearratio(40,3) % default number of allowed teeth % SGgearratio(40,3,[11 45]) % minimum number of teeth is 11 % % % See also: indexvariant, SGgearchain, SGgearDINrot % % % Copyright 2023 Tim C. Lueth |
indexvariant(vec,dim)- creates multidimensional index sequences for testing or other purposes |
% indexvariant(vec,dim) - creates multidimensional index sequences for testing or other purposes % (by Tim Lueth, VLFL-Lib, 2023-MÄR-21 as class: AUXILIARY PROCEDURES) % % much faster than permutevector - for different input vectors use % permutevarargin (Status of: 2023-11-17) % % Introduced first in SolidGeometry 5.3 % % See also: permutevector, permutevarargin % % zz=indexvariant([vec,dim]) % === INPUT PARAMETERS === % vec: row or col vector; default is [1 2 3] % dim: integer as dimension; default is 2 % === OUTPUT RESULTS ====== % zz: index field [numel(vec)^dim x dim] % % EXAMPLE: % zz=indexvariant([1:3],1); zz, whos zz % zz=indexvariant([1:3],2); zz, whos zz % zz=indexvariant([1:3],3); zz, whos zz % zz=indexvariant([1:3],4); zz, whos zz % % See also: permutevector, permutevarargin % % % Copyright 2023 Tim C. Lueth |
bambudownloadvideoIP(aname,address)- downloads in parallel to printing processes the timelapse videos from the bamboo printer |
% bambudownloadvideoIP(aname,address) - downloads in parallel to printing processes the timelapse videos from the bamboo printer % (by Tim Lueth, VLFL-Lib, 2023-MÄR-20 as class: FILE HANDLING) % % % 10.03.2023 Christoph Rehekampff - TUM Lehrstuhl MiMed - Prof. Tim Lüth % Der Zugangscode ("password") ist auf dem Drucker unter Network Settings % einsehbar. % (Status of: 2023-03-20) % % Introduced first in SolidGeometry 5.3 % % See also: bambuuploadIP % % bambudownloadvideoIP([aname,address]) % === INPUT PARAMETERS === % aname: local folder name to save the bambu's timelapse folder % address: default is '129.187.200.238' % % See also: bambuuploadIP % % % Copyright 2023 Tim C. Lueth |
SGBAUHAUScupholdinsert(h)- returns a SG as insert for cup holder in a car |
% SGBAUHAUScupholdinsert(h) - returns a SG as insert for cup holder in a car % (by Tim Lueth, VLFL-Lib, 2023-MÄR-19 as class: PARAMETRIC DESIGN) % % Many user interfaces in modern cars such as Audi are much worse using % the touchscreen than the button based version before or a simple % smartphone. This fnctn creates a cup holder insert as smartphone holder % for cars (Status of: 2023-03-20) % % Introduced first in SolidGeometry 5.3 % % See also: SGtube, SGcupholderinsert % % SGBAUHAUScupholdinsert([h]) % === INPUT PARAMETERS === % h: [height angle width and length; default is [60 17 50 75] % % EXAMPLE: % SGcupholderinsert([105 17 70 110]) % % See also: SGtube, SGcupholderinsert % % % Copyright 2023 Tim C. Lueth |
SGBB(SG,d)- Creates the Bounding Box Solid in the solids frame |
% SGBB(SG,d) - Creates the Bounding Box Solid in the solids frame % (by Tim Lueth, VLFL-Lib, 2023-MÄR-19 as class: SURFACES) % % SGofBB(SG) Creates the Bounding Box Solid in the world frame % SGBB Creates the Bounding Box Solid in the solids frame % SGconvexHull(SG) Create the Convex Hull in in the solids frame % SGconvexHullXYZ(SG) Create the projected Convex Hull in the world frame % % different to BBofSG (Status of: 2023-03-27) % % Introduced first in SolidGeometry 5.3 % % See also: BBofSG, SGofBB, SGconvexhull, SGconvexHullXYZ % % BB=SGBB(SG,[d]) % === INPUT PARAMETERS === % SG: Solid Geometry % d: extension of bounding box; default is 0 % === OUTPUT RESULTS ====== % BB: Solid Geometry of an Bound Box in the same frame as the solid % % EXAMPLE: % SG=SGrotate(SGBAUHAUSbox([160 85 25],55,[pi/3 pi -pi/3]),'y',-pi/2+17/180*pi); SGfigure(SG); % SGBB(SG) % This fnction % SGofBB(SG) % Standard BB % SGconvexHull(SG) % Convex Hull % SGconvexHullXYZ(SG)% Convex hull of world frame projections % % See also: BBofSG, SGofBB, SGconvexhull, SGconvexHullXYZ % % % Copyright 2023 Tim C. Lueth |
mzs(m,z,s)- returns a modified module for a giben number of teeth and slot |
% mzs(m,z,s) - returns a modified module for a giben number of teeth and slot % (by Tim Lueth, VLFL-Lib, 2023-MÄR-15 as class: KINEMATICS AND FRAMES) % % It is still unclear to TL which modification is better. (Status of: % 2023-03-15) % % Introduced first in SolidGeometry 5.3 % % See also: PLgearDIN, SGgearDIN, SGgearDINrot, SGgearchain % % mr=mzs([m,z,s]) % === INPUT PARAMETERS === % m: module % z: number of teeth % s: slot; default is slfit ('t') % transition fit % === OUTPUT RESULTS ====== % mr: reduced module to guaranteee the slot size % % EXAMPLE: % mzs(1,9,0.1) % % See also: PLgearDIN, SGgearDIN, SGgearDINrot, SGgearchain % % % Copyright 2023 Tim C. Lueth |
SGattachMotorN40(SGR,SGA,PL,LW,"debug")- adds motor rack to another rack and subtracts the bore for an motor axis |
% SGattachMotorN40(SGR,SGA,PL,LW,"debug") - adds motor rack to another rack and subtracts the bore for an motor axis % (by Tim Lueth, VLFL-Lib, 2023-MÄR-15 as class: AUTOMATIC DESIGN) % % Introduced first in SolidGeometry 5.3 % % See also: SGdesignMotorN40, SGsubtractnaddTL % % [SGR,SGA,SGS,Parts]=SGattachMotorN40([SGR,SGA,PL,LW,"debug"]) % === INPUT PARAMETERS === % SGR: Solid the motor should be screwed with % SGA: Solid that will be driven by motor axis % PL: List of Point % LW: Dimension of housing length and screw size; see SGdesignMotorN40 % "debug": if individual designsteps should be shown % === OUTPUT RESULTS ====== % SGR: Modified SGRack % SGA: Modified SGAxis % SGS: Motor Solid % Parts: list of parts for assembly % % EXAMPLE: % A=SGtransP(SGbox('noframe'),[0 0 -2]) % B=SGtransP(SGbox('noframe'),[0 0 11]) % SGattachMotorN40 (A,B) % % % See also: SGdesignMotorN40, SGsubtractnaddTL % % % Copyright 2023 Tim C. Lueth |
exp_2023_03_14_gears(f,a,"debug")- EXPERIMENT TO SHOW HOW TO AUTMATIC DESIGN A MOTOR GEAR |
% exp_2023_03_14_gears(f,a,"debug") - EXPERIMENT TO SHOW HOW TO AUTMATIC DESIGN A MOTOR GEAR % (by Tim Lueth, VLFL-Lib, 2023-MÄR-14 as class: EXPERIMENTS) % % Introduced first in SolidGeometry 5.3 % % See also: SGgearratio, SGgearchain, SGseedcube, SGdesignMotorN40, % SGsubtractnaddTL % % SG=exp_2023_03_14_gears([f,a,"debug"]) % === INPUT PARAMETERS === % f: ratio; default is 1/17 % a: orientation % "debug": % === OUTPUT RESULTS ====== % SG: Just the gears % % EXAMPLE: % exp_2023_03_14_gears % Writes the structure on disc % % See also: SGgearratio, SGgearchain, SGseedcube, SGdesignMotorN40, % SGsubtractnaddTL % % % Copyright 2023 Tim C. Lueth |
pofT(T)- returns the translation part of frames or frame lists |
% pofT(T) - returns the translation part of frames or frame lists % (by Tim Lueth, VLFL-Lib, 2023-MÄR-11 as class: KINEMATICS AND FRAMES) % % Introduced first in SolidGeometry 5.3 % % See also: CPLrack4PL % % p=pofT(T) % === INPUT PARAMETERS === % T: T or TL % === OUTPUT RESULTS ====== % p: p or PL % % EXAMPLE: % TofRd([0 0 pi/10],30); pofT(ans) % % See also: CPLrack4PL % % % Copyright 2023 Tim C. Lueth |
TofRd(w,d,e)- creates a frame after rotation in distance d along new ex |
% TofRd(w,d,e) - creates a frame after rotation in distance d along new ex % (by Tim Lueth, VLFL-Lib, 2023-MÄR-11 as class: KINEMATICS AND FRAMES) % % In contrast to TofR, this fnctn has the point in distance d along ex % (Status of: 2023-03-11) % % Introduced first in SolidGeometry 5.3 % % See also: TofR % % TR=TofRd([w,d,e]) % === INPUT PARAMETERS === % w: rotation angle or rotation vector % d: distant along dx % e: direction; default is 'x'; not used yet % === OUTPUT RESULTS ====== % TR: HT matrix % % EXAMPLE: % TofRd([pi/3],10) % TofRd([0 0 pi/3],10) % TofRd([0 pi/4 pi/3],10) % % See also: TofR % % % Copyright 2023 Tim C. Lueth |
SGgearchain(m,z,a,w,"stack","rack","crank")- returns a gear chain als simple sequence or stacks |
% SGgearchain(m,z,a,w,"stack","rack","crank") - returns a gear chain als simple sequence or stacks % (by Tim Lueth, VLFL-Lib, 2023-MÄR-08 as class: PARAMETRIC DESIGN) % % module % height of gear % radius of axle % height of rack % (Status of: 2023-03-21) % % Introduced first in SolidGeometry 5.3 % % See also: SGgearratio, CPLrack4PL, SGgearDINrot % % [SGfin,TL,f,SGR]=SGgearchain([m,z,a,w,"stack","rack","crank"]) % === INPUT PARAMETERS === % m: [m h r hr] of gear; default is [1 5 1.25 0] % z: array of number of teeth % a: [relative angle change for next gear] % w: optional overall angle of chain; default is not defined; % "stack": if used the gears are vertically stacked to a gear box % "rack": rack type; default is 'bar'; see CPLrack4PL % "crank": if used, tha first gear is covered % === OUTPUT RESULTS ====== % SGfin: cell list of gears % TL: cell list of Base frame % f: cell list of ratio % SGR: SG of Rack % % EXAMPLE: % SGgearchain ([1 2 1.25],[9 10 11 12 13 14 15],'',0) % [SG,TL]=SGgearchain ([1 2 1.25],[9 10 11 12 13 14 15],'',0); % CPLrack4PL(pofT(TL),2); % SGgearchain ([1 2 1.25 2],[9 48 9],'',0); % not in line % SGgearchain ([1 2 1.25 2],[9 13 9],'',0); % fully in line % SGgearchain ([1 2 1.25 2],[9 27 9 45],'',0,'stack'); % stack % SGgearchain ([1 2 1.25 2],[9 27 9 45],'',0,'stack','rack','box'); % squared rack % SGgearchain ([1 2 1.25 2],[9 27 9 45 9 45],'',0,'stack','rack','box','crank'); % squared rack % % % See also: SGgearratio, CPLrack4PL, SGgearDINrot % % % Copyright 2023 Tim C. Lueth |
SGegg(r,a)- returns the Surface Geometry of an egg based on an evolvente |
% SGegg(r,a) - returns the Surface Geometry of an egg based on an evolvente % (by Tim Lueth, VLFL-Lib, 2023-MÄR-07 as class: SURFACES) % % Introduced first in SolidGeometry 5.3 % % See also: PLegg % % SG=SGegg([r,a]) % === INPUT PARAMETERS === % r: radius; default is 10 % a: alpha of evolvente; default is pi % === OUTPUT RESULTS ====== % SG: Solid % % See also: PLegg % % % Copyright 2023 Tim C. Lueth |
PLegg(r,a)- returns the contour of an egg |
% PLegg(r,a) - returns the contour of an egg % (by Tim Lueth, VLFL-Lib, 2023-MÄR-07 as class: CLOSED POLYGON LISTS) % % Introduced first in SolidGeometry 5.3 % % See also: PLevolvente, SGegg % % PL=PLegg([r,a]) % === INPUT PARAMETERS === % r: radius of evolvente % a: angle of evolvente % === OUTPUT RESULTS ====== % PL: Point list % % EXAMPLE: % PLegg(10) % PLegg(10,1.1*pi) % % See also: PLevolvente, SGegg % % % Copyright 2023 Tim C. Lueth |
commandwindowTL- same as original fnct but deployable |
% commandwindowTL - same as original fnct but deployable % (by Tim Lueth, VLFL-Lib, 2023-MÄR-07 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: editTL, opentolineTL, docTL, webTL % % commandwindowTL % % See also: editTL, opentolineTL, docTL, webTL % % % Copyright 2023 Tim C. Lueth |
webTL(params)- same as original fnct but deployable |
% webTL(params) - same as original fnct but deployable % (by Tim Lueth, VLFL-Lib, 2023-MÄR-07 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: commandwindowTL, opentolineTL, docTL, editTL % % webTL([params]) % === INPUT PARAMETERS === % params: same as original fnctn % % See also: commandwindowTL, opentolineTL, docTL, editTL % % % Copyright 2023 Tim C. Lueth |
docTL(params)- same as original fnct but deployable |
% docTL(params) - same as original fnct but deployable % (by Tim Lueth, VLFL-Lib, 2023-MÄR-07 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: commandwindowTL, opentolineTL, webTL, editTL % % docTL([params]) % === INPUT PARAMETERS === % params: same as original fnctn % % See also: commandwindowTL, opentolineTL, webTL, editTL % % % Copyright 2023 Tim C. Lueth |
editTL(params)- same as original fnct but deployable |
% editTL(params) - same as original fnct but deployable % (by Tim Lueth, VLFL-Lib, 2023-MÄR-07 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: commandwindowTL, opentolineTL, docTL, webTL % % editTL([params]) % === INPUT PARAMETERS === % params: same as original fnctn % % See also: commandwindowTL, opentolineTL, docTL, webTL % % % Copyright 2023 Tim C. Lueth |
opentolineTL(params)- same as original fnct but deployable |
% opentolineTL(params) - same as original fnct but deployable % (by Tim Lueth, VLFL-Lib, 2023-MÄR-07 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: editTL, commandwindowTL, docTL, webTL % % opentolineTL([params]) % === INPUT PARAMETERS === % params: same as original fnctn % % See also: editTL, commandwindowTL, docTL, webTL % % % Copyright 2023 Tim C. Lueth |
SGruntimecompilation- generates help text and opens some toosl for creating stand alone apps |
% SGruntimecompilation - generates help text and opens some toosl for creating stand alone apps % (by Tim Lueth, VLFL-Lib, 2023-MÄR-07 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: deploytool, SGapplicationCompiler % % SGruntimecompilation % % EXAMPLE: % SGruntimecompilation % % See also: deploytool, SGapplicationCompiler % % % Copyright 2023 Tim C. Lueth |
SGfitcalibration4Printer(w)- Create solids to measure the friction force of printed for the fitting concept |
% SGfitcalibration4Printer(w) - Create solids to measure the friction force of printed for the fitting concept % (by Tim Lueth, VLFL-Lib, 2023-MÄR-06 as class: PARAMETRIC DESIGN) % % The hole in the bottom of the plate und the rails under are necessary % to annul the effect of air pressure. % It is possible to place standard weights on the base to push it in and % measure the forces. The depth gives information about the frictional % forces. The wall thickness of 1.2mm allows a certain elongation. % % When creating fits with a 3D printer, three effects (1-3) of four will % overlap: % a) The deviation of the outer diameter of a bolt from the inner % diameter of a hole % b) The frictional forces due to the roughness of the surface finish of % the respective printer % c) The expansion of the material during indentation depending on % material and infill % d) Shrinkage due to cooling from printing temperature to room % temperature % Finally, a number of test samples must be printed so that a feeling for % the fit dimensions can be obtained by manual joining. However, once % these are determined, fits can also be printed very reliably. (Status % of: 2023-03-07) % % Introduced first in SolidGeometry 5.3 % % See also: slfit, DIN4AMfitting % % SGfitcalibration4Printer([w]) % === INPUT PARAMETERS === % w: default wall thickness is 1.2 mm % % EXAMPLE: % SGfitcalibration4Printer % STL Folder on the desktop % % See also: slfit, DIN4AMfitting % % % Copyright 2023 Tim C. Lueth |
limitinterv(x,xlim)- value between [min and max] |
% limitinterv(x,xlim) - value between [min and max] % (by Tim Lueth, VLFL-Lib, 2023-MÄR-04 as class: AUXILIARY PROCEDURES) % % Introduced first in SolidGeometry 5.3 % % See also: angleinterv, distofintervall % % y=limitinterv(x,xlim) % === INPUT PARAMETERS === % x: number % xlim: [min max] % === OUTPUT RESULTS ====== % y: value between [min and max] % % EXAMPLE: % limitinv(10,[5 20]), limitinv(-10,[5 20]), limitinv(30,[5 20]) % % % % See also: angleinterv, distofintervall % % % Copyright 2023 Tim C. Lueth |
exp_2023_03_04_gripper (SG0)- to show how to create fully automatic a complete 2 jaw gripper from an STL file |
% exp_2023_03_04_gripper (SG0) - to show how to create fully automatic a complete 2 jaw gripper from an STL file % (by Tim Lueth, VLFL-Lib, 2023-MÄR-04 as class: EXPERIMENTS) % % Introduced first in SolidGeometry 5.3 % % See also: SGdesignGripperjaw, SGdesignDriveSpindle % % exp_2023_03_04_gripper(SG0) % === INPUT PARAMETERS === % SG0: Solid to be grasoed or readin of file % % EXAMPLE: % exp_2023_03_04_gripper(SGbox('noframe')) % exp_2023_03_04_gripper(SGsphere([30 20 10])) % % See also: SGdesignGripperjaw, SGdesignDriveSpindle % % % Copyright 2023 Tim C. Lueth |
SGrobotTCPplate(bb,sl,"5DoF")- returns a TCP flange to mount Fischertechnik® compatible grooves |
% SGrobotTCPplate(bb,sl,"5DoF") - returns a TCP flange to mount Fischertechnik® compatible grooves % (by Tim Lueth, VLFL-Lib, 2023-MÄR-03 as class: PARAMETRIC DESIGN) % % This fnctn does use fittings % uses load('Yannick_robot.mat'); % (Status of: 2023-03-07) % % Introduced first in SolidGeometry 5.3 % % See also: SGrobotTCPdesign, SGrobotTCPchanger, SGdesignDriveSpindle % % [B,SG]=SGrobotTCPplate([bb,sl,"5DoF"]) % === INPUT PARAMETERS === % bb: size of Groove block; default is [30 30 5]; 0 is used als default % value % sl: % "5DoF": if used; the plate can be used for 5DoF ERGOSURG RAMBOO robot % === OUTPUT RESULTS ====== % B: Groove Geometry % SG: SG of Yannik's TCP plate including Fischertechnik@ tongues % % EXAMPLE: % SGrobotTCPplate; % Default size % SGrobotTCPplate([20 30 10]) % % SGrobotTCPplate([0 50]) % % SGR=SGrobotTCPplate; SGwriteMultipleSTL({SGR,SGrotate(SGR,'x',pi/2),SGrotate(SGR,'y',pi/2),SGrotate(SGR,'y',pi)},'TCPplates'); % Test printing fittings % SGrobotTCPplate('5DoF') % % See also: SGrobotTCPdesign, SGrobotTCPchanger, SGdesignDriveSpindle % % % Copyright 2023 Tim C. Lueth |
SGspringSpiral(r,w,d,h,k,"STL","ccw","CPLu")- returns a spiral spring geometry |
% SGspringSpiral(r,w,d,h,k,"STL","ccw","CPLu") - returns a spiral spring geometry % (by Tim Lueth, VLFL-Lib, 2023-FEB-28 as class: PARAMETRIC DESIGN) % % MAJOR UPDATE IN MAY 2024: For mechanical engineers, it is often easier % to test a mechanism with a mechanical motor before a suitable electric % motor is used. For this purpose, a spiral is winded up and tensioned % via a winch or handwheel. The stored energy can then be transferred to % the mechanism via a shaft. In mechatronics, this reduces the complexity % for the mechanism designer. (Status of: 2024-05-07) % % Introduced first in SolidGeometry 5.3 % % See also: SGspring, SGfreewheel, SGmotorwindup % % [SG,SGC,SGL,CPL0]=SGspringSpiral([r,w,d,h,k,"STL","ccw","CPLu"]) % === INPUT PARAMETERS === % r: Distance between center and 2nd axis; default is 30 % w: number of windings as integer of pi; default is 10 * pi % d: thickness; default is 1.2 mm % h: height; default is 5 mm % k: [wrench-size n-edges diameter n-edges] default is [6.4 4 5 0] % "STL": if used a STL file is written % "ccw": if used for Freewheel and Spring, torque is ccw and windup is cw % "CPLu": if used an optional contour is cut out of the lid (for example % shape of SGfreewheel) % === OUTPUT RESULTS ====== % SG: Solid Geometry of the Spring % SGC: SG of a safety cage % SGL: SG of a safety cage lid with opening for CPLu % CPL0: Contour of the cage % % EXAMPLE: % SGspringSpiral(20,'',0.8,'',[6.4 6 5 0],'CPLu',PLcircle(10)) % With cage and lid & torque cw % SGspringSpiral(20,'',0.8,'',[6.4 6 5 0]) % without lid % SGspringSpiral(20,'',0.8,'',[6.4 6 5 0],'CPLu',PLcircle(10),'ccw') % With cage and lid & torque ccw % % See also: SGspring, SGfreewheel, SGmotorwindup % % % Copyright 2023-2024 Tim C. Lueth |
SGdesignDriveSpindle(d,SGR)- returns the solid geometry of a gripper spindle |
% SGdesignDriveSpindle(d,SGR) - returns the solid geometry of a gripper spindle % (by Tim Lueth, VLFL-Lib, 2023-FEB-25 as class: PARAMETRIC DESIGN) % % This fnctn was written during the Visit of Hajime Asama (Univ. of % Tokyo) in Munich % returns a spindle with right and left thread, plus a knob for turning % the spindle. All Parts have to be assembled after printing. % The frames F1 and F2 can be used to attach fingers and jaws. The Frame % B is used for a gear or a dail. The Frame T0 shows the center of the % spindle (Status of: 2023-03-04) % % Introduced first in SolidGeometry 5.3 % % See also: SGdesignGripperjaw, SGrobotTCPplate % % SG=SGdesignDriveSpindle([d,SGR]) % === INPUT PARAMETERS === % d: % SGR: % === OUTPUT RESULTS ====== % SG: % % EXAMPLE: % SGdesignDriveSpindle(TofR([pi/3,pi/4,pi/5])) % % See also: SGdesignGripperjaw, SGrobotTCPplate % % % Copyright 2023 Tim C. Lueth |
SGcupholderinsert(h)- returns a SG as insert for cup holder in a car |
% SGcupholderinsert(h) - returns a SG as insert for cup holder in a car % (by Tim Lueth, VLFL-Lib, 2023-FEB-23 as class: PARAMETRIC DESIGN) % % Many user interfaces in modern cars such as Audi are much worse using % the touchscreen than the button based version before or a simple % smartphone. This fnctn creates a cup holder insert as smartphone holder % for cars (Status of: 2023-02-24) % % Introduced first in SolidGeometry 5.3 % % See also: SGtube % % SGcupholderinsert([h]) % === INPUT PARAMETERS === % h: [height angle width and length; default is [60 17 50 75] % % EXAMPLE: % SGcupholderinsert([105 17 70 110]) % % See also: SGtube % % % Copyright 2023 Tim C. Lueth |
Videoquickwritelastcommand- writes in a video the line of the last command |
% Videoquickwritelastcommand - writes in a video the line of the last command % (by Tim Lueth, VLFL-Lib, 2023-FEB-23 as class: VISUALIZATION) % % It is also automtically called by Videoquickstart % (Status of: 2023-02-23) % % Introduced first in SolidGeometry 5.3 % % See also: lastcommand, Videoquickstart, Videoquickcloseandopen, % drawnowvid % % Videoquickwritelastcommand % % EXAMPLE: % Videoquickstart; Videoquickcloseandopen; % Just open and close % % See also: lastcommand, Videoquickstart, Videoquickcloseandopen, % drawnowvid % % % Copyright 2023 Tim C. Lueth |
TLconnecting2SG(SG1,SG2)- connects 2 solids by a straigt connecting solid between the center, using feature surfaces |
% TLconnecting2SG(SG1,SG2) - connects 2 solids by a straigt connecting solid between the center, using feature surfaces % (by Tim Lueth, VLFL-Lib, 2023-FEB-22 as class: AUTOMATIC DESIGN) % % NAME WILL BE CHANGED (Status of: 2023-02-23) % % Introduced first in SolidGeometry 5.3 % % See also: SGof2T % % [SGX,SGA]=TLconnecting2SG([SG1,SG2]) % === INPUT PARAMETERS === % SG1: Solid A to connect % SG2: Solid B to connect % === OUTPUT RESULTS ====== % SGX: Connecting Solid % SGA: SGunion(SG1,SG2,SGX) % % EXAMPLE: % TLconnecting2SG(SGbox,SGtransP(SGsphere(20),[40 40 40])) % % See also: SGof2T % % % Copyright 2023 Tim C. Lueth |
SGconvexHullXYZ(SGP,"debug")- creates a convex solid by the intersection of the three projections in X Y Z |
% SGconvexHullXYZ(SGP,"debug") - creates a convex solid by the intersection of the three projections in X Y Z % (by Tim Lueth, VLFL-Lib, 2023-FEB-21 as class: SURFACES) % % ATTENTION: Since 2 boolean operations are used in a sequence, there is % a significant risc of non watertight models % Tim Lueth considers this fnctn as unreliable but helpful % (First Version from 2019-07-17 named SGofSGhull) % SGofBB(SG) Creates the Bounding Box Solid in the world frame % SGBB Creates the Bounding Box Solid in the solids frame % SGconvexHull(SG) Create the Convex Hull in in the solids frame % SGconvexHullXYZ(SG) Create the projected Convex Hull in the world frame % (Status of: 2023-03-27) % % Introduced first in SolidGeometry 5.3 % % See also: SGconvexHull, CPLselectinout, SGofCPLextrude, SGintersect % % SGN=SGconvexHullXYZ([SGP,"debug"]) % === INPUT PARAMETERS === % SGP: Original Solid % "debug": if used; the individual processing steps are shown % === OUTPUT RESULTS ====== % SGN: intersection of the three projections in X Y Z % % EXAMPLE: % SGconvexHullXYZ(SGsample(7)) % SGconvexHullXYZ(SGsample(7),'debug'); SG=ans; % SGcheckmeshlab(SG) % % See also: SGconvexHull, CPLselectinout, SGofCPLextrude, SGintersect % % % Copyright 2023 Tim C. Lueth |
SGdesignGripperjaw(SG,sz,sl,fp,"sub","surf")- returns the geometry of gripper jaws, gripper finger and complete mechanisms for an object to grasp |
% SGdesignGripperjaw(SG,sz,sl,fp,"sub","surf") - returns the geometry of gripper jaws, gripper finger and complete mechanisms for an object to grasp % (by Tim Lueth, VLFL-Lib, 2023-FEB-16 as class: AUTOMATIC DESIGN) % % written in parallel to the explanation of the workflow for Jan Jan % Rodewald and Dr. Yilun Sun. % Fnctn defines and writes the geometry of gripper to disk. Major changes % after the discussion for selceting the Frames (Status of: 2023-02-25) % % Introduced first in SolidGeometry 5.3 % % See also: SGcutT, TofPcam % % [SGB,T0,TB]=SGdesignGripperjaw([SG,sz,sl,fp,"sub","surf"]) % === INPUT PARAMETERS === % SG: Object to be gripped % sz: SG of maximum jaw or maximum dimensions of a cuboid % sl: slot size; default is % fp: Finger end solid; or position of a cuboid % "sub": if used, the gripper jaw is cut by the SG % "surf": if used, the gripper jaw is attached optimally to the surface % orthognal vector % === OUTPUT RESULTS ====== % SGB: {SG1, SG2} Finger geometry with Frames 'B' to attach actuators % T0: Center fram of movement in ez % TB: Attachment Frames at object SG % % EXAMPLE: % Videoquickstart; SGdesignGripperjaw(SGsphere([30,20,10])); Videoquickcloseandopen % % % See also: SGcutT, TofPcam % % % Copyright 2023 Tim C. Lueth |
dbprintflog (argslist)- fnct that logs similar to former frintf(2, |
% dbprintflog (argslist) - fnct that logs similar to former frintf(2, % (by Tim Lueth, VLFL-Lib, 2023-JAN-29 as class: AUXILIARY PROCEDURES) % % The more batch programs rund the more difiult it is to debug those % files that have no output anymore, since the batch files run in the % background without an terminal output. Therefor, this fnctn allows to % log into a logfile; Fnctn name and date time stamp are added % automatically. % It is used in spindumpkill (Status of: 2023-01-29) % % Introduced first in SolidGeometry 5.3 % % See also: dbreturn, dbexit, dbsave, dbprintmode, debugTL, fprintf, % printf, fprintfvec, fprintfvec2, str2codelines, sprintfvec % % dbprintflog([argslist]) % === INPUT PARAMETERS === % argslist: liat of arguments equal to to sprintf % % EXAMPLE: % dbprintflog('This is a test log file line') % openbydoubleclick(desktopdir('Matlablog.txt')) % % See also: dbreturn, dbexit, dbsave, dbprintmode, debugTL, fprintf, % printf, fprintfvec, fprintfvec2, str2codelines, sprintfvec % % % Copyright 2023 Tim C. Lueth |
getjobs- returns the jobs running on the local cluster |
% getjobs - returns the jobs running on the local cluster % (by Tim Lueth, VLFL-Lib, 2023-JAN-09 as class: AUXILIARY PROCEDURES) % % Can be used to test a Toolbox wirhout user interaction % VLFL_Toolbox_test(38:100) (Status of: 2023-01-09) % % Introduced first in SolidGeometry 5.3 % % See also: batch, spindumpkill, VLFL_Toolbox_test % % [jobs,names]=getjobs % === OUTPUT RESULTS ====== % jobs: array of jobs % names: cell list of job names % % EXAMPLE: % batch spindumpkill % getjobs; jobs=ans; % delete(jobs(end)) % getjobs % % % See also: batch, spindumpkill, VLFL_Toolbox_test % % % Copyright 2023 Tim C. Lueth |