3/26メモ

heroku わかりやすい。 Heroku入門 (全12回) – プログラミングならドットインストール heroku 上で Rails アプリが動くところまでざっと見てみました。てか、heroku の前にまともに Rails の勉強しなき... 続きを読む | シェアする

OpenCASCADE 6.9.0 を LMDE でビルド

先日、自宅サーバの Debian GNU/Linux Jessie 32bit 版で OpenCASCADE 6.9.0 と siren をビルドしました。 自宅サーバは、SSH で外部からアクセスして開発ができるので便利である一方、オンボード Atom... 続きを読む | シェアする

OpenCASCADE 6.9.0 を Debian でビルド

先月の12日にリリースされた Open CASCADE の 6.9.0 をビルドしました。公式のロードマップでは 6.x 系列は 6.8 が最後で、次は 7.0 になるとの話だったはずですが、何だかんだで 6.9 がリリースされた模様。 v6.9 のリリ... 続きを読む | シェアする

mruby: C++のクラスをラッピングしてRubyクラスとして使えるようにしてる途中

sirenの改修を行なっています。これはもともと、Open CASCADE の C# アプリケーションサンプルに含まれていた OCCTViewer クラスを参考にして組んだものがベースで、C# アプリケーションのコードとネイティブな DLL の間を取り継... 続きを読む | シェアする

siren のロゴを作ってみました

私個人がオープンソースで開発をしている三次元ベースの簡易 CAD システム「siren」のロゴを作成してみました。 今、自分が勤めている会社は海に関する仕事がメインで、マシンのホスト名やシステムの開発コード名に、海に関する用語をつけるのが慣例となっていま... 続きを読む | シェアする

OpenCASCADE で曲面を作成する

今回はいよいよ曲面を作成していきたいと思います。 平面までなら、なんとか独自に三次元幾何ライブラリーをこしらえて扱うことができるかもしれませんが、自由曲面を扱うシステムを組もうとすると、とても独自開発ではやっていけません。そんな時、OCCが力を発揮するわ... 続きを読む | シェアする

OpenCASCADE で平面を作成する

前回の曲線に引き続き、今度は平面を作成していきたいと思います。 前提 平面を決定するための要素は 任意の3点を通る 任意の1点と法線ベクトル などのいずれかの条件が必要です。 さらに、有限平面を幾何的に決定するには、 外形 uv方向の範囲 などの... 続きを読む | シェアする

OpenCASCADE で NURBS 曲線を作成する

前回の点、線分、ポリライン作成に続いて、今回は曲線を作成したいと思います。 通過点を指定して曲線を作る 曲線の場合、座標値の集合である線分やポリラインと違い曲線を定義する式を組み立て(ジオメトリーレベル)、そこからトポロジーレベルのシェイプを生成する必要... 続きを読む | シェアする

OpenCASCADE で点、線分、ポリラインを作成する。

OpenCASCADE関連の日本語情報がほとんどありませんので、Tipsというか、使い方というか、自分用のメモ的なものを小出しにしてまとめていこうと思います。 OCCで形状を作成する場合、特殊なものでなければ BRepBuilderAPI を用います。点... 続きを読む | シェアする

OpenCASCADE6.7.0でレイトレーシングレンダリングを有効にする

OpenCASCADE 6.7.0 ではレイトレーシング方式のレンダリングをサポートしている事を前回紹介しました。今回は、実際にコーディングをして試してみたものを紹介します。 前提 レイトレーシングレンダリングが何ぞや、というのは、この記事を読んでいる方... 続きを読む | シェアする

OpenCASCADE 6.7.0 のアナウンス

OpenCASCADEの最新バージョン6.7.0が開発者サイトでアナウンスされています。 記事によると、6.7.0では特に visualization が強化されたようで、簡単かつ高速に高品位のレイトレーシング・レンダリングがビューで可能になったとのこと... 続きを読む | シェアする

Draw Test Harness 日本語 Wiki 作りました

OpenCASCADE の Draw Test Harness の(ほぼ自分用の)日本語 Wiki を立ち上げるために、以前自分の個人サイトでも利用していた UseMod Wiki を導入することにしました。 UseMode Wiki は、Perl で書... 続きを読む | シェアする

mrubyがやってきた!

OpenCASCADE の勉強のために、仕事とは関係ないところで、自分なりの簡易三次元 CAD ビューアを作成しています。 形状をパラメトリックに定義したり、対話的に制御したり、一連の処理をモジュール化する上で必要になってくるのがマクロ環境。マクロと言っ... 続きを読む | シェアする

OpenCASCADE の Draw Test Harness を活用する その3

前回までの記事では、OpenCASCADE の Draw Test Harness を利用し、独自コマンドを組み込むところまでを紹介しました。今回は、実例を用いながらコーディングしていきたいと思います。 目的 任意の半径を持つ球体を 1/8 にした形状を... 続きを読む | シェアする

OpenCASCADE の Draw Test Harness を活用する その2

前回の記事で、OpenCASCADE に同梱されているコマンド駆動型の効率的なデバッグ環境 Draw Test Harness の使い方を紹介しました。今回は、いよいよデバッグ&プレビュー環境として活躍させるための、独自コマンドを追加する方法を書きたいと... 続きを読む | シェアする

OpenCASCADE の Draw Test Harness を活用する その1

OpenCASCADE には、コマンド駆動型の効率的なデバッグ環境 Draw Test Harness というものが付属しています。 OpenCASCADE のコードを、単機能ごとに評価できるツールとして開発には外せないものであり、非常に有用なものです。... 続きを読む | シェアする

OpenCASCADE における幾何オブジェクトの管理

OpenCASCADE で、幾何オブジェクトを管理するにはいくつも方法があるようですが、付属のコマンド実行環境 Draw Test Harness では、幾何オブジェクトに対して文字列の名前を与え、それで管理できる仕組みを提供しています。 具体的には、S... 続きを読む | シェアする

OpenCASCADE 6.6.0 をビルドする。

OpenCASCADE 6.6.0 がリリースされて数ヶ月経ちますが、ようやく自宅の環境でもビルドする暇が出来たので手順を書いておきたいと思います。 手順と言っても、ソースコードを落としてきて make するだけなので、すごく簡単です。 OpenCASC... 続きを読む | シェアする

OpenCASCADE のオブジェクトを WebGL で表示する

OpenCASCADE の Python 実装である PythonOCC の人が、2011年の1月のブログ記事で OpenCASCADE のオブジェクトを WebGL 向けに出力する方法を紹介しています。2年以上経った今、ウェブブラウザも WebGL に... 続きを読む | シェアする

OpenCASCADE BRep ファイルの入出力

OpenCASCADE では、標準のファイル形式として OpenCASCADE BRep ファイルというものを用いています。一般的に BREP というと、Boundary REPresentation (境界表現) 自体のことを差しますが、ここでは、「O... 続きを読む | シェアする

OpenCASCADE のトポロジーオブジェクト

トポロジーオブジェクトの種類 OpenCASCADE には、次のようなトポロジカルな形状があります。※トポロジーとジオメトリーに関しては、別記事をご覧ください。 Vertex バーテックス ジオメトリの Point に相当する0次元の形状。 Edge... 続きを読む | シェアする

OpenCASCADE でソリッドのブーリアン演算(とボリューム計算)を行う

OpenCASCADE でソリッドモデル同士のブーリアン演算とボリューム計算を行うサンプルコードを書いてみました。 コードは次のとおり。 #include <stdio.h> #include <TopoDS.hxx> #inc... 続きを読む | シェアする

OpenCASCADE 6.5.4 を Microsoft Visual Studio でビルドする

2012年11月13日にリリースされた OpenCASCADE 6.5.4 を Microsoft Visual Studio でビルドする方法を忘れないうちにメモしておきます。 OpenCASCADE で単純に開発したいだけなら、バイナリパッケージのイ... 続きを読む | シェアする

OpenCASCADEで曲線同士の交点計算

Open Cascadeを用いて三次元曲線同士の交点を求めるには、GeomAPIのExtremaCurveCurveを利用します。このエクストリーマクラスは、交点を求める為のクラスではなく、曲線同士の、それぞれ相手との最寄りの点を求める為のクラスです。お... 続きを読む | シェアする

OpenCASCADEの最低限のサンプル

OpenCASCADE を用いた最低限のサンプルを書いてみます。下記は、2つのベクトルが平行か否かを検証するコードです。Standard_Macro.hxx は不要かも。 include <stdio.h> include <Stan... 続きを読む | シェアする

bsplinecurve コマンド引数( knot 値)を相互変換

NURBS 曲線の knot 値( Bスプライン基底関数を決定する為の値 )は、一般的に下記のように ( 階数 + 制御点数 ) 個の単調増加する配列として表されます。 T = 一方、OpenCASCADE Draw Test Harness の bs... 続きを読む | シェアする

OpenCASCADE 6.4.0 を Microsoft Visual Studio 2008 (vc9) 32bit 環境でビルドする

OpenCASCADE の最新版 6.4.0 からは、それまでの 6.3.* が VisualStudio 2003 ベースで開発されていたのに対し、 2005 ベースで開発されている。 公式マニュアルによると 6.4.0 がサポートしている Visu... 続きを読む | シェアする

Debian GNU/Linux 5.0 lenny に OpenCASCADE をインストールした。

昨晩、兼ねてから放置気味であった、去年組んだ Core i7 マシンに、Debian lenny をインストールした。 新しいシステムをセットアップする度に、パッケージマネージャの恩恵を受ける。*1 OpenCASCADE のインストール 仕事で、O... 続きを読む | シェアする