スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ArchiCADのGDLに挑戦!【1】

なんか寒くなってきました。
風邪引きそうです。虚弱なのでw

さて、GDLについて!
ん、まぁ色々説明する前にサクっと何か作って見ましょうか。

まずは2Dのオブジェクトを作ってみましょう。
そうですね…。図面に配置する記号なんかいいかもしれませんね。

まず…ArchiCADの画面の上のメニューから「ファイル」>「ライブラリとオブジェクト」>「新規オブジェクト」をクリックしてみましょう。

「名称未設定ー1」とダイアログが開きます。
130924001.jpg


とりあえず、各項目の説明は省きますw
だって私もよく知らんのですw
いやわかるけどうまく説明出来なそうw

とりあえずわかるところから追い追い…ってことでw


まず左のボタン群上の方、「パラメータ」。
130924002.jpg

ここで変数を定義します。
「へんすう?」

変数とは文字の通り状況に応じて変更される数字(値)です。つまり今から作ろうとしているものは大きさが変わったりするわけですよね?
「1」だった大きさが「5」とかになるわけです。

で、その「1」とか「5」とか入れとく箱(イメージね)が変数なんです。

一番上に「A」とか「B」とか「ZZYZX」ってありますよね?

スクリプトを書いて行く時に「1」とか「5」とか書かないで、代わりに「A」とか「B」とか書いて行くわけですね。
そうすることによりユーザーさんはパラメータの値をいじるだけでオブジェクトの形状が変えられる…ってわけです。
普通のプログラミングの場合、
A = 5
とか書いて定義します。GDLの場合でもそういう書き方もしますが、ユーザーさんがその値を変更する必要のない場合にしておきましょう。
あ、それと、変数が変えることができるのは数値だけじゃなく文字とかもできます。この辺はその都度書いて行きますね。

…初歩過ぎでしょうか?
まぁいいやw

さてさてまず「ZZYZX」に×を入れましょう。「表示」のとこですね。
一回クリックして項目選んで「×」をクリックしましょう。
今回これは入りません。
そう、ユーザーさんに変更させたくない、見せたくないパラメータは表示に「×」をいれておくと見えなくなります。

次に一番下の段、「 ac_toplevel」とか書いてある行を選らんどいて、上にある「新規」ボタンを押してみましょう。
一行増えて「_A」ができましたね。「_A」を「no」としましょうか。
同じように「font_size」も作っておきますかw

「no」のタイプはabcアイコンの「テキスト」。 値は「1」。
「font_size」のタイプは矢印アイコンの「実数」。値は「4」にしておきましょう。



それでは次の画面…。左側の「2D」のボタンをクリックします。
(ボタンは左右どちらでもいいです。)
130924008.jpg
おお、白い世界w
ここにスクリプト…と言うと難しく感じますので、文字とかを書いていきます。

注意点としては半角英数のみ!
(全角も使うことはありますが基本は半角英数ですね。)
スペースとか全角で入れるとエラーになりますし、探すのが面倒です。

とりあえず書いてみましょうかね。

rect2 0, 0, A, B

はい。これで四角形を書きました。

説明しましょう。
『rect2』は2D要素で2点を指定して作る矩形です。2点しか指定できないので当然四角形になります。
『rect2』の後は半角スペースを入れます。「tab」でもいいです。
その後に2点の座標を記入しましょう。
内容は…
X1,Y1,X2,Y2の順です。
一点目のXY座標、二点目のXY座標ってことですね。
値は「,」カンマで区切ります。
ここはスペースなくても大丈夫ですが見やすくするためにtabいれておくといいですよ。

で、さっき書いたのに直してみると0,0の座標とA,B座標ってことだけど…この「A,B座標」ってなんだー?となりますね。

この「A」と「B」が前の画面で先ほど出てきた変数というやつです。

GDLでは…(と言っていいのかな?)
「A」「B」「ZZYZX」という変数は特別で、どのオブジェクトにもデフォルトで定義されています。
「A」はオブジェクトの横寸法。
「B」は オブジェクトの縦寸法。
(平面で見た時ですね)
「ZZYZX」は3Dで配置された時のオブジェクトの高さを指定するのに使います。(すみません記事訂正しました)


なのでこの四角形の大きさはオブジェクトの値の大きさと連動することになりました。はい。

で、これだけではつまらないので四角形の中に何か文字を入れておきましょうか。
そういえば先ほど「no」という変数を定義しましたよね。
これ使いましょうw

では次の段にテキストを配置するステートメント(文)を書きます。

text2 A/2, B/2, no

座標0、0の位置からxyの距離は「A」「B」ともに半分の位置に文字を置きます。なので「/2」と書きます。
text2 X座標,Y座標, テキストの文字
の順。言い忘れましたが最後は「,」無しです。

さあ左下の「2Dビュー」のボタンをクリックします。
プレビューみたいなもんです。
130924007.jpg

するとあれれ?ちょっとアンバランスですね…。
130924004.jpg

とりあえず簡単に説明すると、テキストの起点は左上になります。
で、起点は変えることができます。起点だけじゃなくて、フォントやサイズ等を定義しておくことができるんです。つまり文字スタイルを作るんです。
そんで、文字スタイルを定義しただけでなく「これから書く文は”定義1”のスタイルですよー」と書いておくのも忘れてはいけません。

なので textの前に次の2行を書いておきます。

define style "TEXT_STYLE_5" "HG_丸ゴシックM-PRO", font_size, 5, 0
set style "TEXT_STYLE_5"


130924003.jpg
ここでもちょっと簡単な説明です。
define styleの後ろから2番目の「5」が起点の位置を中央にするオマジナイですw
私は起点の位置をスタイル名に入れるようにしています。参考までに。
set styleは次のset styleが出てくるまで有効です。

すると、こんなんなります。
130924005.jpg

これで保存して平面に配置してみましょう。
130924006.jpg
名前はテキトーにつけて下さいw

保存先は「埋め込みライブラリ」にすると、ディスクのライブラリを読込みにいかないので楽です。(でもこのファイルでしか使えないオブジェクトになります。つまりプロジェクトを保存し忘れると…www)

どうでしょう。「オブジェクトの設定」のツリーの中、埋め込みライブラリに今作ったオブジェクトが保存されていると思います。
パラメータは少ないですがいじくってどう変化するか試してください。
ちなみに形状や文字幅に制限かけてないので四角や文字の大きさはめちゃくちゃになったりしますw
で、「あー、こういう形になってはマズイな」というパターンを知ってください。

次回は簡単な3Dに挑戦してみましょう。とりあえず何をどうするってのを知らないと説明しにくいのでw


ちょっと途中の画像がなくなってしまったのでw後で貼りますねw
スポンサーサイト

ArchiCADのGDLに挑戦!【0】

ちょいちょいペースは不定期になると思いますがArchiCADのGDL習得についてまとめていきます。

GDLは3次元オブジェクトCADであるArchiCAD上で配置されるオブジェクト(部品)になります。
これは他のCADにもあるセルのようなもので登録しておけば簡単にわんさか配置できるようになります。
しかし作成が難しい(面倒)です。
ArchiCADから柱ツールや壁ツールなんかを使って登録することもできますがパラメトリックな変更はできません。
(全体的な縦横のサイズくらいは可変可能です)
で、アレコレ融通がきく自作のオブジェクトが欲しいな〜って事になるのです。
でもこのオブジェクトの作成方法がスクリプトっていう…(ガーン!)
ここではなるだけ優しいとこから勉強できるように簡単なところから始めていきます。皆様の習得の手助けになれば、と思います。
まぁ私自身もまだまだ勉強中です。
間違いとかあったらウェルカムです。

次回からどうぞよろしくー。

合格物語 紹介割引キャンペーンで10%割引!!

なんと!合格物語が既存ユーザーからの紹介で10%割引で買えるんだって!!

http://www.19get.com/user_19get/news/detail.jsp?intSuccSeq=712

是非私にあなた様を紹介させて下さいましw

あなたもニコニコ、私もうはうはー。

「しょうがないなー」という心優しい方は下記のメールアドレスよりご連絡ください!!
yomotaro2000☆yahoo.co.jp(☆を@に変えて下さい)

よろしくお願いします。

Objective-C csvファイルの取り込み

先日のアプリはエクセルからcsvファイルを作成して取り込めるようにすれば汎用性が高くなるし、中身は自由に変えられるなと思い、機能を追加しています、が!
また早くも詰まりました・・・。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask,YES);
NSBundle *bundle = [NSBundle bundleWithPath:paths[0]];
NSArray *files = [bundle pathsForResourcesOfType:@"csv" inDirectory:nil];
NSLog(@"%@",files);//保存ファイル確認

// CSVファイルを取得する
NSString *csvFile = [files objectAtIndex:0];

//ファイルの有無を確認
if ([[NSFileManager defaultManager] fileExistsAtPath:csvFile]) {
NSError* error = nil;
NSString *csv = [NSString stringWithContentsOfFile:csvFile encoding:NSUTF8StringEncoding error:&error];

色んなサンプル見てこんな感じにした物をscannerWithStringしようと思ったんですがnullが返ってきてしまいます。
半角オンリーならいけるのですが、全角が入るとなぜかだめでした。おかしいなあ。

で、結局色々試した結果、エンコードをNSShiftJISStringEncodingにしたらちゃんと表示されました。

問題を作るという勉強法

簡単なiOSのアプリを開発してどこでも復習ができるようにしてみました。





赤と青のタグを付けとけばさらにもう一回復習ができますね。…というか合格物語さんの付箋機能のパクリ…を参考にしましたw





こんな感じでボタンで絞り込みができます。




キーワード検索も無駄に付けてますw


勉強しつつも最終的にアプリを完成させて一儲けすることができる!と思ったけど、どーも問題文の改変ってことで著作権に引っかかるみたいです。
…なので個人利用にしておきます…残念!

追記;
すみません。iPhoneから更新したのですがタイトルの記事が抜け落ちてましたw
これじゃアプリの紹介だけですよね。

問題を作る勉強法、意外に難しいです。
・まずどこを答えにするか。
・それを導く文章を考える。
・選択問題にするとなると自分で引っ掛け対象を想定する。
・過去問と解説と作った問題の3つを見比べて矛盾点は無いか考える。

と、これが一連の流れになりますが問題はお昼休みに作ったりしてますね。
iPhoneのメモアプリで入力してiCloudでパソコンで同期し、自宅でコピペ。
入力用のiPhoneにはキーボードつけてますw

もちろんひたすら問題解くのもいいでしょうけど、一つの問題に向き合う時間も長いと身に付きますね。
そして簡単な過去問というのはすぐ問題が出来上がるので、それも一つの目安にしています。

久しぶりに復帰

なんか久しぶりの更新ですw

え、えーと、建築士試験ですが・・・今年は受験しませんでした。

本業と家庭が忙しくなったためですね。(そういう事にしておこう)

なので、2年ほど間を飛ばした事になります。

もう頭の中すっからかんですよ。(あーあー)


んで!ちょっと時間が出来そうになったのでブログを再開!します。

まぁ誰も見ちゃいないかもしれませんがね。



もっとブログらしくwお勉強だけじゃなく色々書いていこうかと。

ボクは仕事でArchiCADとかやってるんでGDLネタとか、あと趣味ですがロックバンドやってるんでギターネタとか?

まあ好き勝手気ままに更新していこうと思いますw

どうぞよろしく。
広告
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
広告
検索フォーム
楽天
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。