Kregポケットホールjig

評判の高いKreg社のポケットホールjigを購入しました

よく考えられたツールでしっかりしています

また、簡単に強固に結合できますね 素晴らしい

しっかりした作りで頑丈です しかも簡単
強固に結合できます

丸ノコスライド台の作成(2号機)

1号機が完成したものの精度が上がりませんので、修正を加えました。

レール台が安価な材料で精度が悪かったため、材料を入れ替えました。

精度は少しあがりましたが、さらに向上させるには、レールなどで作成したほうがいいようです。

2号機

木工実習 フローティング棚作り2

先日作成したフローティング棚ですが、何だか固定がしっくりこないということで、再作成です。

壁の下地探しで下地を探して、固定することにした。
下地探しで探すも、なんだか不安。だが、ここだろうということで、固定。

前回よりは、格段に良くなった。

ホームセンターで買ったオイルフィニッシュでウォルナット調にしてみました。


木工実習 フローティング棚作り

YouTubeを参考にフローティング棚を作ってみます

こちらに作ります
板材を2つに分割し、丸棒で接続します 一方を壁に固定
完成です

強度が出ませんね ひとつは、壁への固定が弱いのと もう一つは、丸棒が柔らか過ぎたみたいです
次回は、金属製にしたいと思います

木工実習 桐修正材で棚作り

久しぶりに木工作業

こちらなどを参考に桐修正材を使った押し入れ用棚の作成です。

その他は、パイン材を利用。

なんとか完成
桐材で香りも良い あとは精度がね

きちんとした寸法など考えずにやったところ、横板(棒)のカット寸法をいきなり間違いました。棚板より若干大きくするところをなぜか小さくしてしまいました。また、カット用器具を使って、手ノコで切断しましたが、切断面の精度があまいものとなりました。

カット寸法は、鉋がけで適当に対応し、何とか完成しました。

棚板は、ちょうどいいビスがなかったので、細釘で留めました。

やはり丁寧な作業が必須ですね。

次回からはこちらを参考にやってみよう。

【紙1枚も入らない】隙間ゼロの組立は超かんたん!しかもお金の節約につながる方法とは!?

MindARを利用した動画配置

動画配置の最小テンプレート

<!doctype html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="https://cdn.jsdelivr.net/gh/hiukim/mind-ar-js@1.1.5/dist/mindar-image.prod.js"></script>
<script src="https://aframe.io/releases/1.2.0/aframe.min.js"></script>
<script src="https://cdn.jsdelivr.net/gh/hiukim/mind-ar-js@1.1.5/dist/mindar-image-aframe.prod.js"></script>
<script>        
const showPortfolio = (done) => {
      const portfolio = document.querySelector("#panel");
      const portfolio2 = document.querySelector("#panel2");
      const PreviewButton = document.querySelector("#preview-button");
      const PreviewButton2 = document.querySelector("#preview-button2");
      portfolio.setAttribute("visible", true);
      portfolio2.setAttribute("visible", true);
     let y = 0;

const id = setInterval(() => {
        y += 0.008;
        if (y >= 0.6) {
          clearInterval(id);
     
          PreviewButton.addEventListener('click', () => {
            PreviewButton.setAttribute("visible", false);
            const testVideo = document.createElement( "video" );
            const canplayWebm = testVideo.canPlayType( 'video/webm; codecs="vp8, vorbis"' );
            if (canplayWebm == "") {
              document.querySelector("#video-link").setAttribute("src", "#video-mp4");
              document.querySelector("#video-mp4").play();
            } else {
              document.querySelector("#video-link").setAttribute("src", "#video-webm");
              document.querySelector("#video-webm").play();
            }
          });
          
          
          PreviewButton2.addEventListener('click', () => {
            PreviewButton2.setAttribute("visible", false);
            const testVideo = document.createElement( "video" );
            const canplayWebm = testVideo.canPlayType( 'video/webm; codecs="vp8, vorbis"' );
            if (canplayWebm == "") {
              document.querySelector("#video-link2").setAttribute("src", "#video-mp41");
              document.querySelector("#video-mp41").play();
            } else {
              document.querySelector("#video-link2").setAttribute("src", "#video-webm1");
              document.querySelector("#video-webm1").play();
            }
          });
        }
        portfolio.setAttribute("position", "0 " + 0 + " -0.01");
      }, 10);
    }
//  Aframeでターゲット0を摘出 
AFRAME.registerComponent('mytarget', {
      init: function () {
        this.el.addEventListener('targetFound', event => {
              showPortfolio(() => {
              });
           });
        this.el.addEventListener('targetLost', event => {
        });
      }
    });
</script>

<link rel="stylesheet" href="https://jirochanf.github.io/card/assets/webar.css">
</head>

<body>	
<div class="example-container">
<div id="example-scanning-overlay" class="hidden">
<div class="inner">
<img src="https://jirochanf.github.io/card/assets/overlay_mind3.jpg"/>  <!-- オーバーレイ画像定義 -->
<div class="scanline"></div>
</div>
</div>

<a-scene mindar-image="imageTargetSrc: https://jirochanf.github.io/card/assets/targets3.mind; showStats: false; uiScanning: #example-scanning-overlay;" embedded color-space="sRGB" renderer="colorManagement: true, physicallyCorrectLights" vr-mode-ui="enabled: false" device-orientation-permission-ui="enabled: false">

<a-assets>
  <img id="preview" src="https://jirochanf.github.io/card/assets/mind3_prev01.jpg" />
  <img id="preview2" src="https://jirochanf.github.io/card/assets/preview2.png" />

  <video id="video-mp4" autoplay="false" loop="false" src="https://jirochanf.github.io/card/assets/video31.mp4"></video>
  <video id="video-webm" autoplay="false" loop="false" src="https://jirochanf.github.io/card/assets/video31.webm"></video>
  <video id="video-mp41" autoplay="false" loop="false" src="https://jirochanf.github.io/card/assets/video3.mp4"></video>
  <video id="video-webm1" autoplay="false" loop="false" src="https://jirochanf.github.io/card/assets/video3.webm"></video>
</a-assets>	
<a-camera position="0 0 0" look-controls="enabled: false" cursor="fuse: false; rayOrigin: mouse;" 
          raycaster="far: 10000; objects: .clickable">
</a-camera>
<!-- target0 確認後-->
<a-entity id="mytarget" mytarget mindar-image-target="targetIndex: 0">
<!--  panel1 表示  -->  
<a-entity visible="false" id="panel" position="0 0 0">
<!--  動画表示  -->
<a-entity id="panel-item0">
<a-video id="video-link" webkit-playsinline playsinline width="1" height="0.552" position="0 0 0"></a-video>
<a-image id="preview-button" class="clickable" src="#preview" alpha-test="0.5" position="0 0 0" height="0.552" width="1">
</a-image>
</a-entity> 
</a-entity>
<!--  panel2 表示  -->  
<a-entity visible="false" id="panel2" position="0.3 0.3 0" rotation="10 0 0">
<!--  動画表示  -->
<a-entity id="panel2-item0">
<a-video id="video-link2" webkit-playsinline playsinline width="0.8" height="0.45" position="0.3 0.3 0"></a-video>
<a-image id="preview-button2" class="clickable" src="#preview2" alpha-test="0.5" 
         position="0.3 0.3 0" height="0.45" width="0.8">
</a-image>
</a-entity>  
</a-entity>  
</a-entity>   
</a-scene>
</div>	
</body>
</html>