aka) Author: Christian Davén Version: 2.0 Author URI: http://www.daven.se/usefulstuff/ */ # adds an options page to the options menu function SUP_add_options_page() { if(function_exists("add_options_page")) add_options_page("Smart Update Pinger", "Smart Update Pinger", 5, basename(__FILE__), "SUP_show_options_page"); } # shows the options page function SUP_show_options_page() { $ping = get_option("SUP_ping"); $uris = get_option("ping_sites"); $pingservicesnow = "今すぐ ping を送信!"; if(isset($_POST["ping"]) && $_POST["ping"] == $pingservicesnow) { SUP_log("手動で ping を送信中 ..."); SUP_ping_services(); } elseif(isset($_POST["submit"])) { $uris = $_POST["uris"]; $ping = 0; if($_POST["ping"] == 1) $ping = 1; update_option("SUP_ping", $ping); update_option("ping_sites", $uris); echo '

設定を保存しました.

'; } $checked = ''; if($ping == 1) $checked = 'checked="checked"'; echo '

ping 送信先のサーバ

以下に登録されている ping サーバへは記事を投稿する際,自動的に ping 送信や更新通知がなされます。WordPress が通常行うような,以前書いた記事の編集時ではありません

注意: このリストは オリジナルのアップデートサービスリストと同期します。.

複数サーバを登録する際は改行で URI を分けて下さい

Ping 送信ログ

このプラグインのログです(下に行くほど新しいログです)

'.SUP_get_last_log_entries(20).'

'; } # telling WordPress to ping if the post is new, but not if it's just been edited function SUP_ping_if_new($id) { global $wpdb, $post_title; if(get_option('SUP_ping') == 1 and get_option('ping_sites') != "") { # fetches data directly from database; the function "get_post" is cached, # and using it here will get the post as is was before the last save $row = mysql_fetch_array(mysql_query( "SELECT post_date,post_modified FROM $wpdb->posts WHERE id=$id")); # if time when created equals time when modified it is a new post, # otherwise the author has edited/modified it if($row["post_date"] == $row["post_modified"]) { if($post_title) SUP_log("Pinging services (new post: “".$post_title."”) ..."); else SUP_log("Pinging services (新規の記事の投稿) ..."); SUP_ping_services(); # Try commenting the line above, and uncommenting this line below # if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); } else { if($post_title) SUP_log("NOT pinging services (“".$post_title."” の設定が変更されました)"); else SUP_log("NOT pinging services (記事が編集されました)"); } } else SUP_log("NOT pinging services (管理者が ping 送信を無効にしています)"); } # More or less a copy of WP's "generic_ping" from functions.php, # but uses another function to send the actual XML-RPC messages. function SUP_ping_services() { $services = get_settings('ping_sites'); $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines $services = trim($services); if ( '' != $services ) { $services = explode("\n", $services); foreach ($services as $service) SUP_send_xmlrpc($service); } } # A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php). # This one uses correct extendedPing format (WP does not), and logs response from service. function SUP_send_xmlrpc($server = '', $path = '') { global $wp_version; include_once (ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 3 seconds should be enough to cover slow servers $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 3; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); # the extendedPing format should be "blog name", "blog url", "check url" (whatever that is), and "feed url", # but it would seem as if the standard has been mixed up. it's therefore best to repeat the feed url. if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url'))) { SUP_log("- ".$server." への ping 送信が成功しました (拡張フォーマット)"); } else { # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_settings('blogname'), $home)) { SUP_log("- ".$server." への ping 送信が成功しました"); } else { SUP_log("- ".$server." への ping 送信が失敗しました。 以下のエラーメッセージが返されました: “".$client->error->message."”"); } } } $post_title = ""; # Receives the title of the post from a filter below function SUP_post_title($title) { global $post_title; $post_title = $title; return $title; } # ----- # Log stuff $logfile = ABSPATH."wp-content/smart-update-pinger.log"; # for debugging function SUP_log($line) { global $logfile; $fh = @fopen($logfile, "a"); @fwrite($fh, strftime("%D %T")."\t$line\n"); @fclose($fh); } function SUP_get_last_log_entries($num) { global $logfile; $lines = @file($logfile); if($lines === false) return "Error reading log file (".$logfile."). This could mean that the wp-content directory is write-protected and no log data can be saved, that you have manually removed the log file, or that you have recently upgraded the plugin."; else { $lines = array_slice($lines, count($lines) - $num); $msg = ""; foreach($lines as $line) $msg .= trim($line)."
"; return $msg; } } # ----- # adds a filter to receive the title of the post before publishing add_filter("title_save_pre", "SUP_post_title"); # adds some hooks # shows the options in the administration panel add_action("admin_menu", "SUP_add_options_page"); # calls SUP_ping whenever a post is published add_action("publish_post", "SUP_ping_if_new"); # calls SUP_ping_draft when changing the status from private/draft to published # add_action("private_to_published', 'SUP_ping_draft'); # removes the "WordPress official" pinging hook remove_action("publish_post", "generic_ping"); # activates pinging if setting doesn't exist in database yet # (before the user has changed the settings the first time) if(get_option("SUP_ping") === false) { update_option("SUP_ping", 1); } ?> M-V-5 ロケット はやぶさ | 空IKE飛行機! Blog - Part 2

アーカイブ

‘M-V-5 ロケット はやぶさ’ カテゴリーのアーカイブ

MVロケット 1/144 〜魔法の3Dプリント出力w

2014 年 3 月 5 日 コメント 2 件

実は今は仕事がとても忙しい・・・忙しくてロクに寝てないんだけど制作は何故か捗る不思議、ストレスは創作意欲の源だぬ〜(笑)
あと、最近はペーパーやプラ板よりもハンダゴテとマイコンに浸っていたので造形やりたいやん!と言うのもありますな。

さて、はやぶさブームも過ぎて久しいですが、そろそろ作り頃かな?と思ってMVロケットを始めました。
コイツの中央トラス部分はず〜っと制作上の懸案で、プラ細切りとかエッチング、レーザーカット等と悩みましたが・・・どれも再現性や強度の面で今ひとつでした。
いっぽう、今すぐじゃないけどいずれそのうちやる気が出たら・と考えていた3Dプリントも、国内のサービスセンターがかなり増えている様で、既にWFその他のガレキでも原型含めて普通に利用されている様です。

どうせスクラッチするなら図面は描かなきゃならないし、Illustratorのデータを作ればshadeでモデリングするのも簡単だし、shadeもなんだか3Dプリント用で使われているstl形式にチカラ入れてるみたいだし(^^)
静岡まで時間も有るしやるなら今でしょ、なタイミングと思って制作開始しました。
最初はトラスだけプリントしてあとはプラ板+丸棒で作ろうと考えていましたが・・・

昔使ってたshade R7はintel Macに対応してないので一番安いBasic購入、今はver14だと?(T_T)
モデリングに関してはフリーでもかなり機能充実のアプリも有るみたいですが、まぁ多くはWindowsの話で私にゃ関係ないw
3Dプリントで要求されるstl形式のデータはポリゴンベースの様ですが、shadeでもポリゴンってほとんど使ったこと無いからよく解りまへん。
まぁグダグダ悩んでないで、モデルを作ったらとにかくポリゴン変換してstl形式で保存し、プリントサービスのサイトにアップロードしてお金払えば、およそ2週間後に立体パーツが手元に届く魔法が使えます。

MV5_parts_image
これがモデルのレンダリング画像。
トラスとノズル、あとはカウリングくらいかと思ってたモデリングですが、どんどん増えて円筒部以外はパーツ化してしまいました。今まで使っていたブーリアン記号で演算する方法が使えず戸惑いましたが、ポリゴンでもブール演算と言う機能が有るので慣れれば問題ないですね。
ただ、ブール演算すると演算元のポリゴンが非表示になって残される仕様でして、stlで書き出す前に非表示のポリゴンを削除しておかないと、穴を開けた所が塞がっていたりしてアレコレ悩む羽目になります。

SS 2014-02-26 16.18.40
普通にstl形式で出力しても、そのまま3Dプリントセンターにアップするとデータが不正とか言われてまず間違いなく出力出来ませんw
法線がナニとか頂点がアレとか詳しいことは分かりませんが、不具合のあるデータをフリーで修正出来るnetfabbてなアプリが有るので有難く使わせて貰います。
shadeにもプリントデータを修正してくれる機能が付きましたが、それでも修正しきれないデータが有るのと、使い方がまだ良くわかってないので、本番用プリントデータの保存には専らnetfabbの方を使っています。

さて、データが出来たらいよいよサイトにアップして注文です(笑)
3Dプリント出力と言うとオランダのshapewaysが有名ドコロでしたが、昨年から日本のDMMでも3Dプリントサービスが始まりまして、日頃から艦これでも楽しませて貰ってるしここはいっちょDMMにお願いする事にしました。
どちらのサービスもアカウントを作ってデータをアップロードすると自動でデータがチェックされ、レンダリング画像と共にプリントの見積りが提示されます。
これが面白くて試しにデータ作ってはアップして見積って遊んでました。
金額の算出は基本的に体積ベースの様ですが、小さくて高さ(z軸方向)が大きい形状ほど割高になるので、安く上げる為にはなるべく多数のパーツを平らに並べて出力した方が良いです。当初トラスのみと思っていたのにパーツが増えたのはこれも原因の一つ・・・トラスだけ出力すると1800円程度かかりますが(これでも充分安いと思うけど)、上記7パーツ全部で5000円弱ですから。
shapewaysの方がプリント価格は安い様ですが送料が結構掛かりますね。DMMのプリンタはshapewaysより新型で少し出力解像度が上がっているらしくのでお勧めです。何と言っても日本語が通じてyenで支払いが出来ますしね(笑)
あ、でもプリントデータの制作ノウハウや注意点などはshapewaysのFAQが詳しくて参考になります・・・DMMは現状このあたりの解説が足りない様で、まずは頑張ってshapewaysの英文FAQに目を通すことをお勧めいたします。

Exif_JPEG_PICTURE
そして届いたパーツがコレ! 1パーツづつ丁寧に梱包されていてさすがです。
製作期間について、ちょうど今回はワンフェスの影響で出力がメチャ混みらしく、時間がかかることは覚悟していましたが2/8注文で造形開始のメールが2/14、発送のメールが2/24だったので16日で発送されたことになりますね。通常2週間程度とされているので思ったほどは遅くなかったです。

Exif_JPEG_PICTURE
ワクワクしながら開けてみると・・・おぉ、ちゃんとデータ通りの形状に出力されている!
薄い! まん丸い! 細かい!・・・3Dプリントに特徴的な積層跡は覚悟の上だから気にしない!
当たり前ですがやはり感動モノですよコレは(笑)
プラ板もカッターもペーパーも無しにこれが出来ちゃうってのは、これからは模型趣味も変わりますよ絶対・・・今までは3Dモデリングなんて所詮バーチャルだしスケール関係ないじゃん・・・と思い、あまり興味有りませんでしたが、これからはモデリングもキリっと勉強せんとな〜と感じます。
今までメカ物ガレキの原型師さん御用達だったMODERAの場合、奮発して機械を買ってもセッティングやメンテナンス、諸々のノウハウ取得にかなり根性と時間が必要で切削も時間がかかって場所も取ると・・・w
それに比べたらデータさえ投げたら確実に立体物が帰ってくるサービスは有難いです。
1/144スケールならそれほど大きいパーツも必要ないですし、送料込みで1パーツ2000円と考えると・・・ちょっとしたパーツでも自作するかプリント出力するかは大いに悩みどころだと感じます(^^)

Exif_JPEG_PICTURE
取り敢えず洗浄してサフ薄塗りして重ねてみたの図・・・カワイイ
これは”MVちゃん”とかってコミカルな短胴バージョン作っても面白いかも〜(笑)

Exif_JPEG_PICTURE
プラペーパー丸めて胴体を繋げたの図
後ろにあるのは、たかはしさん作の1/144イプシロンロケット。冬フェスでめでたく売り切れだったそうです
現在改修中らしいので月末の東京とびもの学会で経過が見られると思います。

Exif_JPEG_PICTURE
全部繋げたの図
結構デカイです・・・これだけでも存在感あります(^^)

0303 MV ver2_image
今回のはテストプリントなのでデータに修正を加えつつ細部を作りこみました。
結局丸ごとプリントしてペーパーで整形した方が楽かなと思い、全体のデータを作りました。

0303 MV ver2_image2
資料写真を見ながらディテール作り込む作業、気分的には模型作りと変わりませんね。
とても面倒くさくて楽しいです。
PCモデリングだと机の上が散らからないし、やりたい時に始めて止めたい時に離れられるのはかなり効率良いです。
あとプラモみたいに、いざ始めたら瞬着固まってる〜!とか、パーツ落として見つかんねぇ〜!とか、老眼で良く見えねぇ・・・などが皆無ですから(笑)
DMMには既に第二弾パーツを発注しましたが、とびもの学会で展示出来ると思います。
間に合えば極少数の販売も・・・あるかもです。
そして現在、ロケット本体はほぼ完成したのでランチャーのモデリングに入ってます。
こっちは金額的にも大きさ的にも完全に自分用ですが、夏のWFでレジンパーツと組み合わせて販売も・・・出来なくは無いでしょうけどメンドイのでやらない感じです(^^)
あと、言うまでもないですが最終的には整備等も作りますからね〜、LED電飾&扉開閉ギミック付きね〜(^^)
MV5_partsV2_image

Get Adobe Flash player Plugin by wpburn.com wordpress themes