2016年11月28日月曜日

ステーによって支えられる板

ボイラ構造規格
「ステー及びステーによって支えられる板」
上図で示されている赤矢印の円
・曲がりの始まる線,円からステーの中心の円
・曲がりの始まる線,円からステーの中心に接する円の中心の軌跡
を lisp化してみた。

ns-menu では コマンド(ns_hsb0)または(ns_hsb)
------------------------------------------------- 
(ns_hsb0)起動
1.曲がりの始まる線を選択(下図で緑の要素)
2.ステー管の位置(下図で紫の点)を順番に指定→決定
3.中心の円と円の中心の軌跡(下図で黄色)
が、自動で出来ます。
●例A.曲がりの始まる線の時

●例B.曲がりの始まる円の時 
---------------------------------------------
これを手作業ですると大変な時間が掛かる作業です。
煩雑なので自動化して作業効率UPです。
この業界に携わってない人は、全く使い道が無いかも。

2016年8月17日水曜日

スピログラフ

スピログラフ


昔、歯車がついた定規がありました。
その定規で、下の紙が破れるまでグルグル回した記憶があります。

これをAutolispで作成。意外と簡単な命令なんですね。
ノーマルな命令しか使っていないので、自由に改造、
例えば色を付けるとか、挑戦してみて下さい。

------------この下から---------
(defun c:sg (/ CH KA P0 P2 P3 P4 P5 PP R1 R2 R3 R4 R5 ST TB)
 ;spirograph スピログラフ by nsmaster 2016/08/17
 (setq p0 (getpoint "\n[スピログラフ] 作図点:"))
 (setq r1 (getreal  "\n[スピログラフ] 大半径:"))
 (setq r2 (getreal  "\n[スピログラフ] 小半径:"))
 (setq r3 (getreal  "\n[スピログラフ] 変芯量:"))
 ;////諸計算////
 (setq pp 1.0 st (* pi (/ pp 180.0)));作図精度(deg,rad)
 (setq r4 (- r1 r2));大半径-小半径の差
 (setq tb (/ r1 r2));大半径/小半径の比率
 ;////情報表示/////
 (command ".undo" "be")
 (entmake (list '(0 . "POINT")(append '(10) p0)))
 (setq r5  (+ (- r1 r2) r3));最大半径の計算
 (setq p5 (polar p0 (* pi 1.25) (* r5 (sqrt 2.0))));左下の角点
 (entmake (list '(0 . "TEXT")(append '(10) p5)(append '(11) p5)
   (cons 1 (strcat "R1:" (rtos r1 2 3) " R2:" (rtos r2 2 3) " R3:" (rtos r3 2 3)))
   (cons 71 0)(cons 72 0)(cons 73 1)(cons 41 0.8)(cons 40 (/ r1 50.0))
   );入力値作図
  )
 ;////作図計算////
 (setq ka 0.0);作図開始角度(rad)
 (setq p2 (polar (polar p0 ka r4) (* ka tb) r3) p4 p2);最初の位置計算
 (setq ch 0)
 (while (= ch 0)
  (setq ka (+ ka st));角度増値
  (setq p3 (polar (polar p0 ka r4) (* ka tb) r3));座標計算
  (entmake (list '(0 . "LINE") (append '(10) p2)(append '(11) p3)));作図
  (if (< (distance p4 p3) 0.0001)(setq ch 1)(setq p2 p3));最初の位置になったか?
  )
 (command ".undo" "e")
 (princ)
 )
------------この上までをコピーして、sg.lsp の名前で保存

ツール→Autolisp→アプリケーションのロード→
先ほどの sg.lsp を読み込み
コマンドラインで sg リターン


線の容量は半端なく増えますが、仕事の息抜きにどうぞ。