IEEE Spectrum: The Top Programming Languages 2017
もしかしたら、私はもう少しPythonに時間を費やすべきかも知れない。
Ham Radio Blog
あなたは、物体をあなたのマウスで動かすことができます。
画像の中を左クリックして、押し下げたまま、マウスを動かして下さい。他の制御も可能です。
<script src="/js/three.js-dev/build/three.js"></script> <script src="/js/three.js-dev/examples/js/loaders/STLLoader.js"></script> <script> var loader = new THREE.STLLoader(); loader.load( 'SMA.stl', function ( geometry ) { var material = new THREE.MeshLambertMaterial( { ambient: 0xff5533, color: 0x8f55f3} ); mesh = new THREE.Mesh( geometry, material ); APP.scene.add( mesh ); APP.controls = new THREE.TrackballControls( APP.camera ); APP.animate(); });
// dimensions in 0.1mm l=63; r1=23/2; r2=6/2; h2h=8*(50/1000)*25.4*10; echo(h2h); ll=(h2h-l)/2; echo(ll); module pin() { translate([0,0,-r1]) rotate([0,0,0]) cylinder(r=r2,h=r1*3-5, $fn=16); // vertical translate([0,-5,r1*2]) rotate([90,0,0]) cylinder(r=r2,h=ll-5, $fn=16); // horizozntal translate([0,-5,r1*2-5]) rotate([0,-90,0]) rotate_extrude(angle=90, convexity=10) translate([5, 0]) circle(r2, $fn=16); } translate([0,l/2,r1*2]) rotate([90,0,0]) cylinder(r=r1,h=l, $fn=16); // body translate([0, h2h/2, 0]) pin(); translate([0, -h2h/2, 0]) rotate([0,0,180]) pin();
// dimensions in mm a=7.0; b=7.0; c=13.5-(5.8+1.8+3.9); h1=1.8; r1=25.4/4/2; h2=5.8; r2=r1*0.9; xoff=a/2; yoff=b/2; nx=2; ny=2; gx=5.08; gy=gx; k=1.02; k2=1.25/2; h=3.9; xoffset=(a-gx*(nx-1)-k2)/2; yoffset=(b-gy*(ny-1)-k2)/2; cube([a, b, c]); translate([xoff,yoff,c]) cylinder(h1, r1, r1, false,$fn=13); difference() { translate([xoff,yoff,c+h1]) cylinder(h2, r2, r2, false,$fn=18); translate([xoff,yoff,c+h1+h2*0.8]) cylinder(h2*0.3, r2*0.9, r2*0.9, false,$fn=18); } for (x=[0:nx-1]) { for (y=[0:ny-1]) { translate([xoffset+gx*x,yoffset+gy*y,-h]) cube([k, k, h]); } } translate([xoff, yoff, -h]) cylinder(h, k2, k2, false, $fn=20);
これは、トグル・スイッチです。
そんなに正確ではありませんが、私の用途には十分でしょう。
// dimensions in inches a=0.450; b=0.500; c=0.3350+0.060; h1=0.350; h2=0.410; r1=0.25/2; r2=0.115/2; xoff=a/2; yoff=b/2; nx=2; ny=3; gx=0.190; gy=0.185; k=0.073/2; h=0.201; xoffset=(a-gx*(nx-1))/2; yoffset=(b-gy*(ny-1))/2; cube([a, b, c]); translate([xoff,yoff,c]) cylinder(h1, r1, r1, false,$fn=16); translate([xoff,yoff,c+h1*0.9]) { rotate(30,[1,0,0]) cylinder(h2, r2, r2, false,$fn=10); } for (x=[0:nx-1]) { for (y=[0:ny-1]) { translate([xoffset+gx*x,yoffset+gy*y,-h]) cylinder(h, k, k, false); } }
3次元モデルを作るのは、例えば、FreeCADよりも、OpenSCADの方がずっと簡単です。
これが、あなたがモデルを作りたいと思っているTAK-5周波数ミキサです。
物理的なパラメータの幾つかをコピーして、非常に短いプログラムを書くだけです。
そら、出来た!
// dimensions in inches b=0.800;a d=0.210; f=0.400; g=0.200; h=0.20; k=0.031; nx=2; ny=4; xoffset=(f-g*(nx-1))/2; yoffset=(b-g*(ny-1))/2; cube([f,b,d]); for (x=[0:nx-1]) { for (y=[0:ny-1]) { translate([xoffset+g*x,yoffset+g*y,-h]) cylinder(h, k, k, false); } }