本当に無料で使って良いんでしょうか?〜AutoCAD LT互換アプリ(DraftSight)

ダッソー・システムズ一時期はAutoDesk社のAutoCAD LTを良く使ったものです。朝から晩まで嫌になるほど使った時期もありました。大きなプロジェクトが入って、CADを使わないと図面の管理が出来ない状況になり、会社が費用を出してくれて数名で3日程受講しに行った記憶があります。同僚3名か4名でレッスンを受講しに行ったのですが、勤めていた会社が支払ってくれたレッスン費用は結構な額だったと思います。

その御蔭で、AutoCAD LTの基本的な操作は覚えられました。もちろん数日のレッスンなので覚えたのは概念的なもの、機能の説明とそのチュートリアル程度だったので、実業務でどういう手順で図面を描いて、どう修正するかは実践で鍛えていくしかありませんでした。実際、我流で覚えたという先輩の図面の描き方の方が断然効率が良かったりしました。もっともその先輩は学校でドラフターを使って図面を描く授業を受けたといってましたが。

また、後に分かるのですがプリントアウト(印刷)については説明がほとんど無かったので、会社の先輩から教わりました。ペーパー空間とモデル空間の概念についてはもちろん説明がありましたが、概念的なところに留まり、実務でプリントアウトの面倒臭さに躓くのはお約束でした。

そういう感じで、実践的な部分は会社の先輩からテクニックを盗み取ったりして自分流の図面の描き方を養ってきた訳ですが、図面と言ってもジャンルによって色々特徴があるので、図面を描く正しい手順ってのは無いとも言えます。この方が早く描ける、効率良く描ける、楽に描ける。でも俺はこうするのが楽だと思う。CADで描くコツなんてそんな感じでしょう。

AutoDeskのAutoCAD LTは色々なジャンルで使用されている2D(平面図)用のCADアプリケーションです。私の知る範囲では、建築業界でも2D図面はAutoCAD LTの標準フォーマット(dwg)形式か(dxf)形式ですし、電気施工のアルバイトに行った時もAutoCAD LTが標準だと聞きました。建築図面に照明器具の配置や配線ルートなどを描いていくのもAutoCAD LTでした。

追記
後に知りましたが、建設業界では.sxfや.p21という拡張子の形式が標準らしいです。また電気関係はJw_cad(フリーウェア)による.jwwも良く使われるそうです。Jw_cadは操作性がかなり特殊だと感じますが慣れると効率が良いのだとか。業種によってCADって色々バリエーションがあって標準が違うみたいですね。

という訳で、私が使い慣れているAutoCAD LTですが、泣き所は半端無く高価なところです。LT版でも個人で気楽に購入出来る金額ではありません。よってJw_cad等の無償で使用出来るCADを使っている人も結構いらっしゃる訳ですが、AutoCADに慣れた自分にとって、また新たな操作を覚えるのはかなりの苦痛です。

Jw_cadはこれはこれで便利な機能があるので描く図面によってはAutoCADとか不便すぎるって位に工夫されている部分も多々あります。

AutoCAD LT程の高機能は要らないけど、基本機能と操作性はAutoCAD LTに準拠している安価なCADアプリって無いのかな?そう思って調べてみたところ、3D CAD のCATIA、SolidWorksで有名なダッソー・システムズの「DraftSight」という2D CADアプリがなんと無償で利用させていただける事を知りました。実際使ってみたら操作性はかなりAutoCAD LTと共通していますので違和感はほとんどありません。

DWG ファイル用の無償CADソフトウエア*: DraftSight – ダッソー・システムズ

続きを読む

Arduinoがジワジワ流行の兆し

どうやらブームの兆しが出てきた様です。あちこちで「Arduino(アルドゥイーノ)」という言葉をみかける様になってきました。Lチカから始まって、もっと独創的なアイディアも考えられている様ですが、必ずしもハードウェアエンジニア的な知識がある人だけが手にとっている訳ではなさそうです。Arduinoが非常に購入しやすい価格で売られている&わかりやすい解説が多く出まわっている成果でしょう。

Arduino UNO R3

Arduino UNO R3

こういう機器は、いわゆるデジタル制御なのでデジタル機器と一括りにされがちですが、接続するセンサー類は、ほぼ間違いなく「アナログ」な素子だったりする訳です。例えば温度センサー(サーミスタ)にしても、温度変化によって抵抗値が激しく変化するアナログ素子です。その変化をデジタル値に変換する機能がArduinoには備わっているので、適切な電流値になる様、抵抗器と合わせて接続するだけで良いのです。

厳密に言えば本当はアナログ回路的な知識が必要です。電流を適正値に制御してやらないと最悪破損してしまいます。しかしちょっとしたコツというかルールを覚えてしまえば、Arduinoに色々なセンサー素子を接続して、それをデジタル値に変換して使用することが簡単にできちゃいます。

しかし課題もあります。絶対的な値(例えば摂氏15.6度)と言う値を正確に検出しようとすると、センサー素子と、Arduinoのアナログ値->デジタル値変換の部分でチューニングが必要です。校正と言った方が良いかも知れませんが、信頼出来る温度計で計測しながら、個体差による誤差を調整する手間が発生する訳です。素子によってばらつきもあります。過去に多くの計測器を扱う仕事をしてきましたが、絶対値を正確に計測しなくてはならない用途では、この校正が欠かせないものです。法令点検に使用する計測器は年に一度、認可を受けた機関で校正しなくてはならないなんていう決まりがあったりもします。

しかし、ざっくりとした値がわかれば良い。また絶対値ではなく、相対値であれば校正など必要ありません。基準となる値からどれだけ変化したか?という事がわかれば良いのですから、それはプログラミング次第といったところでしょう。強いて言えば、サーミスタの場合なら、1度の変化で何ステップ値が変化するか?といった情報は把握していないと温度センサーとしてのプログラミングは出来ないかも知れません。これがピンと来なくても実際にやってみると何を言っているのかご理解いただけると思います。

続きを読む

Arduino Uno R3で今時の電子工作

今日、プログラミングレッスン動画サイト、「ドットインストール」に、Arduinoを使った電子工作&プログラミングのレッスン動画が追加されたという情報をみつけました。早速視聴してみたのですが、今時の電子工作だなぁという印象はありますが、非常にシンプルにまとめられているので見やすくてイメージもしやすいですね。

Arduino UNO R3

Arduino UNO R3

元ハード屋の私としましては、プログラミングうんぬんの前に、Arduinoに接続するセンサー類(アナログデバイス)が肝かなと感じています。嬉しい事にArduinoはアナログデバイスの接続に対応してくれているのです。

もっとも値的に2進数ベースになっていると思われるので、厳密にはアナログでは無いのかも知れませんが、例えば段階的であれLEDの明るさを変化させる調整が出来たり、逆にセンサーで感知したアナログ的な変化を数値に変換してプログラム側で得られる点はA/Dコンバーターとしても面白さを提供してくれる要素だと思います。今時スイッチON/OFF程度の制御では、子供だって面白くもなんとも無いと感じますよね(w

とにかくレッスン動画を見ていただければ、Arduinoを使った電子工作のサンプルが理解出来ると思います。このレッスンでは、プログラミング部分はC言語の一番初歩的なレベルのスキルしか使っていないので、ちょっと詳しい人に解説してもらえばプログラミングに全く興味が無い人にも雰囲気は掴めると思います。

Arduino入門 3分動画レッスン(全12回) – プログラミングならドットインストール

続きを読む

New Relicを使ってみる

インフラ系エンジニアとして食っている立場上、押さえておくべきだろうなと思ったので実際に自分の管理サーバーでパフォーマンス監視ツールを使ってみる事にしました。

ちょっと調べれば分かる事なので記しちゃいますが、当サイトは現時点VPS上のLinuxサーバーで稼働させています。普通にこうやって記事をPOSTしたり、実験的なWebサービスを公開したりする分には特に不自由もなく、レスポンスも許容範囲内に収まっていると感じているのですが、実際の数値を見てみたくなった為です。

色々有ると思いますが、サーバーパフォーマンス監視サービスとして定評のある「New Relic」の無料版を使ってみる事にしました。無料版の範囲でも充分参考になるデータが取れます。

New Relic対応OS

New Relic対応OS

上図の画面キャプチャの通り、Linux(deb系、rpm系、その他)と、Windows 2003 / 2008 Serverに対応しています。インストールはオフィシャルの手順に従って行いましたが、さほど難しくありませんでした。ネット上に日本語のインストール手順が無いのは、まぁそういうもんだなって感じです。(公式の手順は簡単な英語だし、特殊なインストール手順では無いので頑張りましょう)

当サイトでは、Web系は主にPHPとMySQLを使っているので、PHPしか監視していません。Pythonは今後積極的に使っていきたいと思っていますが現時点は計測する程の事も無いのでパスです。Rubyは個人的にはあんまり好きじゃないので後回しです。

現時点、このサービスの対象プラットフォームは下記の通り。

  • Ruby
  • PHP
  • .Net
  • Java
  • Python
  • iOS
  • Android Apps

これだけ対応していますので、ほとんどのサーバーアプリケーションの処理速度とか、ページ毎の処理の遅さとかを追跡するには充分ではないかと思われます。レスポンスが遅いページはソースコードを要見直しですね。

Raspbian wheezy 2013-02-09リリース

Raspberry Pi用の一番スタンダードなOS、Raspbian “wheezy”の最新版、2013-02-09がリリースされました。

Downloads | Raspberry Pi

既に使用している人は、apt-get update、apt-get upgradeでパッケージ更新、最新バージョンへはapt-get dist-upgradeで移行出来ます。どうやらQTとGNOME関係が大きな違いの様です。

pi@raspberrypi ~ $ sudo apt-get update
pi@raspberrypi ~ $ sudo apt-get upgrade
pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l GNU/Linux
pi@raspberrypi ~ $ sudo apt-get dist-upgrade
The following packages will be upgraded:
gnome-themes-standard libqt4-dbus libqt4-network libqt4-svg libqt4-xml libqtcore4 libqtgui4 qdbus
8 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
pi@raspberrypi ~ $ uname -a
Linux raspberrypi 3.6.11+ #371 PREEMPT Thu Feb 7 16:31:35 GMT 2013 armv6l GNU/Linux

RaspberryPiRaspberry Piの魅力は、非常に安価でコンパクトな省電力PCが手に入ることです。スペック的にもアーキテクチャ的にも制限はありますが、メリットを考えるとそれらの制限は努力でなんとかする価値が充分にあると思います。そして嬉しい事にdebianベースのRaspbianというLinuxディストリビューションがRaspberry Pi専用に開発されているので、ユーザーとしてはこれをありがたく利用させていただくことによって非常に少ない労力でメリットを享受出来るのです。

続きを読む