TOP>2008年01月

2008年01月31日

大阪府のCADソフト

大阪府のCADソフトカテゴリー:CADソフト 大阪府を更新しました。 URL:h...

2008年01月31日

大阪府のCADソフト

大阪府のCADソフトカテゴリー:CADソフト 大阪府を更新しました。 URL:h...

2008年01月31日

大阪府のCADソフト

大阪府のCADソフトカテゴリー:CADソフト 大阪府を更新しました。 URL:h...

2008年01月29日

script!No.025 点指定での2.5D

書くことがな〜い
という訳で、遊びネタ。
script! で JWWで 2.5D作図して遊ぼう〜

文字を使って2.5D作図する話は既に書きましたので、今度は、線色5の点・補助線種の線・線色6の点を使う事を考えます。まずは単純に、線種5の点と補助線種の線を作図するスクリプトです。
// 線色5の点+線色5補助線種の線の作図
// 2.5D作図補助用

#VAR
 L = 100  ;*線の長さ

#DRAW
 PEN 5,9,0
 TEN 0,0
 LINE 0,0,L,0
レイヤ指定はしていないとデフォルト0になります。作図する際にレイヤ指定するでしょうからそのままにしておきます。次に、線色6の点を作図するスクリプトです。
// 線色6の点
// 2.5D作図補助用

#DRAW
 PEN 6,0,0
 TEN 0,0
簡単すぎて ちょっとばかばかしいかもしれませんけれど、線属性画面を出して指定させるよりは簡単かもしれません。

それでは、次に、点を使った2.5Dの立方体を作図させるスクリプトを作ってみます。まずは正方形を5個描かせてみます。
// 立方体
// 線色5の点+線色5補助線種、線色6の点での2.5D作図例
//
// 底面、側面×4 を作図します

#VAR
 L = 100  ;*1辺の長さ
 D = 20  ;*離す距離

lay
 x
 y
 w1
 w2
 w3
 w4

#DRAW
 CAL lay = SetLineLay1 // 外形線のレイヤ
 PEN SetLineCol1,SetLineLtp1,SetLineWid1 // 外形線

 // 底面
 LAYER lay
 CAL x = 0
 CAL y = 0
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4

 // 側面1(底面の下に描きます)
 CAL lay = lay + 1
 #IF (lay > 15)
   CAL lay = 0
 #END
 LAYER lay
 CAL x = 0
 CAL y = -L-D
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4

 // 側面2(側面1の右に描きます)
 CAL lay = lay + 1
 #IF (lay > 15)
   CAL lay = 0
 #END
 LAYER lay
 CAL x = x + L + D
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4

 // 側面3(側面2の右に描きます)
 CAL lay = lay + 1
 #IF (lay > 15)
   CAL lay = 0
 #END
 LAYER lay
 CAL x = x + L + D
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4

 // 側面4(側面3の右に描きます)
 CAL lay = lay + 1
 #IF (lay > 15)
   CAL lay = 0
 #END
 LAYER lay
 CAL x = x + L + D
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4
外形線で作図し、側面はレイヤを1つずつずらしています。次に、2.5D用の点・線を組み込んでみます。
// 立方体
// 線色5の点+線色5補助線種、線色6の点での2.5D作図例
//
// 底面、側面×4 を作図します

#VAR
 L = 100  ;*1辺の長さ
 D = 20  ;*離す距離

lay
 x
 y
 w1
 w2
 w3
 w4

#DRAW
 CAL lay = SetLineLay1 // 外形線のレイヤ

 // 底面
 LAYER lay
 PEN SetLineCol1,SetLineLtp1,SetLineWid1 // 外形線
 CAL x = 0
 CAL y = 0
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4

 // 側面1(底面の下に描きます)
 CAL lay = lay + 1
 #IF (lay > 15)
   CAL lay = 0
 #END
 LAYER lay
 PEN SetLineCol1,SetLineLtp1,SetLineWid1 // 外形線
 CAL x = 0
 CAL y = -L-D
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4
 // 点
 PEN 6,0,0
 TEN w1,w2
 // 底面に点と線(右)
 PEN 5,9,0
 CAL w1 = L
 CAL w2 = 0
 CAL w3 = w1 + L/2*Cos(90/180*PI)
 CAL w4 = w2 + L/2*Sin(90/180*PI)
 TEN w1,w2
 LINE w1,w2,w3,w4

 // 側面2(側面1の右に描きます)
 CAL lay = lay + 1
 #IF (lay > 15)
   CAL lay = 0
 #END
 LAYER lay
 PEN SetLineCol1,SetLineLtp1,SetLineWid1 // 外形線
 CAL x = x + L + D
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4
 // 点
 PEN 6,0,0
 TEN w1,w2
 // 底面に点と線(上)
 PEN 5,9,0
 CAL w1 = L
 CAL w2 = L
 CAL w3 = w1 + L/2*Cos(180/180*PI)
 CAL w4 = w2 + L/2*Sin(180/180*PI)
 TEN w1,w2
 LINE w1,w2,w3,w4

 // 側面3(側面2の右に描きます)
 CAL lay = lay + 1
 #IF (lay > 15)
   CAL lay = 0
 #END
 LAYER lay
 PEN SetLineCol1,SetLineLtp1,SetLineWid1 // 外形線
 CAL x = x + L + D
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4
 // 点
 PEN 6,0,0
 TEN w1,w2
 // 底面に点と線(左)
 PEN 5,9,0
 CAL w1 = 0
 CAL w2 = L
 CAL w3 = w1 + L/2*Cos(270/180*PI)
 CAL w4 = w2 + L/2*Sin(270/180*PI)
 TEN w1,w2
 LINE w1,w2,w3,w4

 // 側面4(側面3の右に描きます)
 CAL lay = lay + 1
 #IF (lay > 15)
   CAL lay = 0
 #END
 LAYER lay
 PEN SetLineCol1,SetLineLtp1,SetLineWid1 // 外形線
 CAL x = x + L + D
 CAL w1 = x
 CAL w2 = y
 CAL w3 = x + L
 CAL w4 = y + L
 BOX w1,w2,w3,w4
 // 点
 PEN 6,0,0
 TEN w1,w2
 // 底面に点と線(下)
 PEN 5,9,0
 CAL w1 = 0
 CAL w2 = 0
 CAL w3 = w1 + L/2*Cos(0/180*PI)
 CAL w4 = w2 + L/2*Sin(0/180*PI)
 TEN w1,w2
 LINE w1,w2,w3,w4
貼り付けを行う際、[作図属性]で「元レイヤに作図」又は「元グループに作図」にチェックを入れて下さい。


2008年01月26日

script! 14での新命令追加

script!14では、新しく下記の作図命令を追加しました。
正多角形
 POLYGON n,m,x,y,r,ka
  n : 角数 3〜1000
  m : 0:指定円に内接 1:指定円に外接
  x : 中心点x座標[mm]
  y : 中心点y座標[mm]
  r : 半径[mm]
  ka: 傾き角度[rad]
  0°位置に頂点がある状態を 0°とします
  ※PCES,JWW,JWSでは複数線分で出力されます
  ※GX3-DXFでは線分ポリラインで出力されます
クロソイド曲線
 CLOTHOID n,m,x,y,l1,l2,A,ka
  n : 分割数 1〜1000
  m : 向き 0:反時計回り 1:時計回り
  x : 配置基点x座標[mm]
  y : 配置基点y座標[mm]
  l1: 開始曲線長[mm]
  l2: 終了曲線長[mm]
  A : パラメータ 0<A
  ka: 傾き角度[rad]
  ※PCES,JWW,JWSでは複数線分で出力されます
  ※GX3-DXFでは線分ポリラインで出力されます
  ※線分化の際、直前線との角度差が微少と判断
   される場合には線分は1本化されます
  ※計算精度の保証はありません
  ※曲線長が異常に大きい場合には誤差が発生、
   或いは作図されません
ベジェ曲線
 BEZIER n,x1,y1,x2,y2,x3,y3,x4,y4
  n : 区間分割数 1〜1000
  x1 : 開始点 x座標[mm]
  y1 : 開始点 y座標[mm]
  x2 : 制御点1x座標[mm]
  y2 : 制御点1y座標[mm]
  x3 : 制御点2x座標[mm]
  y3 : 制御点2y座標[mm]
  x4 : 終了点 x座標[mm]
  y4 : 終了点 y座標[mm]
  ※PCES,JWW,JWSでは複数線分で出力されます
  ※GX3-DXFでは線分ポリラインで出力されます
  ※線分化の際、直前線との角度差が微少と判断
   される場合には線分は1本化されます
  ※計算精度の保証はありません
  ※制御点は通過点ではありません
2次Bスプライン曲線
 2BSPLINE n,x1,y1,x2,y2,x3,y3
  n : 区間分割数 1〜1000
  x1 : 開始点 x座標[mm]
  y1 : 開始点 y座標[mm]
  x2 : 制御点 x座標[mm]
  y2 : 制御点 y座標[mm]
  x3 : 終了点 x座標[mm]
  y3 : 終了点 y座標[mm]
  ※PCES,JWW,JWSでは複数線分で出力されます
  ※GX3-DXFでは線分ポリラインで出力されます
  ※線分化の際、直前線との角度差が微少と判断
   される場合には線分は1本化されます
  ※計算精度の保証はありません
  ※制御点は通過点ではありません
3次Bスプライン曲線
 3BSPLINE n,m,x1,y1,x2,y2,x3,y3,x4,y4
  n : 区間分割数 1〜1000
  m : 0:p2-p3 1:p1-p3 2:p2-p4 3:p1-p4
  x1 : 開始点 x座標[mm] p1
  y1 : 開始点 y座標[mm]
  x2 : 制御点1x座標[mm] p2
  y2 : 制御点1y座標[mm]
  x3 : 制御点2x座標[mm] p3
  y3 : 制御点2y座標[mm]
  x4 : 終了点 x座標[mm] p4
  y4 : 終了点 y座標[mm]
  p1-の場合は、p(-2)=p1、p(-1)=p1 として計算
  -p4の場合は、p(5)=p4、p(6)=p4 として計算
  ※PCES,JWW,JWSでは複数線分で出力されます
  ※GX3-DXFでは線分ポリラインで出力されます
  ※線分化の際、直前線との角度差が微少と判断
   される場合には線分は1本化されます
  ※計算精度の保証はありません
  ※制御点は通過点ではありません
なお、
クロソイド曲線の作図は、業務上使った事はありませんので本当に正しいか等チェックしていませんので御了承の程を。もし何かあればコメント下さい。SXF Ver.3.1で新しく実装された様子なので、どんな感じなのかを見てみたかった、という程度で対応させてみました。3次Bスプライン曲線で5点以上必要な場合は、mの数値でうまく振り分けて下さい。一般的には、4点で p2(x2,y2)〜p3(x3,y3) 部分だけを連続で描かせていくという感じのようです。

2008年01月26日

script! 14&scriptRunner Ver.1.07

当方のサイトフリーウェアコーナーに、
script! 14 (LHA自己解凍圧縮;544KB) すくりぷと(もどき)を作成しておき、それを解釈させて図形を作成し、BMPやDXF等の出力を行います。テスト版なので注意!EXEのみ。マウスホイール対応、文字列処理命令等追加、音声合成機能追加(2008.01.11) 全角文字幅:半角文字幅の比率を設定出来るよう追加、正多角形・クロソイド曲線・ベジェ曲線・Bスプライン曲線の作図を追加(2008.01.26)
を登録しました。

当方のサイトシェアウェアコーナーに「scriptRunner Ver.1.07」というツールをアップしました。
スクリプトファイルを実行し、BMP形式/EMF形式/DXF形式/PCES形式/JWS形式で保存したり、[→JWW]ボタンをクリックして JWWクリップボードに転送し、JWWで[貼付]を行うと JWWでその図形を作図することが出来ます。同様に、[→AutoCAD]ボタンをクリックして AutoCADのコマンドライン上で[貼付]を行うとUCS原点上に図形を作図します。機能的には「script!」と同様です。
「フォルダ/ファイル」タブでは、選択したフォルダ内のスクリプトファイルをダブルクリックする事によって実行する事が出来ます。「登録リスト」タブでは、自分の好きなようにスクリプトファイルを登録することが出来ます。タブは26種類あり、種類毎に分類する事が出来ます。「各種設定」では、本ソフトを「script!」と同じフォルダに入れておくと「script!」の設定を読み書きする事が出来ます。
※試用版では、タブ内のファイルは最大10ファイル迄、連続使用時間は3分迄に制限されます。それ以外については正規版と同じです。
※試用版です。
Ver.1.07 2008/01/26 追加変更
・設定の文字設定に、「全角文字幅:半角文字幅」を追加
・script! 14 のスクリプト仕様に対応

scriptRunner

今回のスクリプト内容追加についてですが、
まず、設定・文字「全角文字幅:半角文字幅」で、従来のAutoCAD(DXF)の1:1、Jw_cad等の2:1、を選択出来るようにしました。この設定値は、変数 SetMojiWid の値に反映されます。1:1の場合は「0」、2:1の場合は「1」となります。例えば、文字と、文字を囲う四角を作図する際、
#VAR
 s = テスト ;*文字
 mh = 3 ;*文字高
 mw = 3 ;*文字幅
 i
 l
#DRAW
 STRLEN i,s
 CAL l = i * mw
 BOX 0,0,l,mh
 TEXT 0,0,mh,mw,0,7,s
というスクリプトで作図していましたが、AutoCAD/DXFでの場合はこれでいいとしても、JWWの場合には ずれてしまいます。これを、下記のようにして設定と合わせて動作をすることにより回避する事が出来ます。
#VAR
 s = テスト ;*文字
 mh = 3 ;*文字高
 mw = 3 ;*文字幅
 i
 l
#DRAW
 STRLEN i,s
 CAL l = i * mw
 #IF (SetMojiWid == 1)
   CAL i = LENGTH(s)
   CAL l = i * mw/2
 #END
 BOX 0,0,l,mh
 TEXT 0,0,mh,mw,0,7,s
STRLEN命令は、文字数を取得する命令ですが、LENGTH関数はバイト数を取得します。設定値がどうなっているかを判別して計算手法を変えることにより、AutoCAD/DXF、JWW、双方の文字幅比に対応させる事が出来ます。但し、2:1のJWWの設定にしている状態でDXF保存を行わないよう注意して下さい。(その逆も)

2008年01月24日

CAD&CGマガジン 2008/03

エクスナレッジさんから なぜか 「CAD&CGマガジン 2008/03」を送って頂きましたので、書いておきます。今月は原稿とか何も無いですが〜
以下、目次より抜粋です。
特集1 ついに来た!
    3次元CAD実務時代到来ガイド
 ・3次元CADが実務で使えるようになってきた
 ・ArchiCAD事例
  空間検証で確信した3次元設計の可能性
 ・Autodesk Revit Building事例
  プレゼン力の向上でコンペの成功率をアップ
 ・Bentley Architecture事例
  すべての建築情報を3次元モデルに集積
 ・3大建築3次元CADのモデリング操作を体験!
 ・デザインの自由度の高さと膨大な機能を誇る、
  ArchiCAD 11
 ・ファイル共有機能など複数ユーザー間での活用に効果的な
  Revit Architecture
 ・建築的な振る舞いを持つオブジェクトが特徴
  Bentley Architecture
 ・3次元設計の新たな基準を示す
  「3次元モデリングのガイドライン」
特集2 ユーザーツールバーで
    自分好みのJw_cad 6を作る!
  Jw_cad Version 6.00で搭載された[ユーザー]ツールバー
  を使い より使いやすい画面レイアウトを追求した
  ユーザー7人の珠玉のアイデアを紹介
特集3 あなたのCGリフォームします!
    VectorWorks的ビフォー→アフター
 ・CGリフォーム1●NURBSモデリングでデザイナーズ家具
          を作る
 ・CGリフォーム2●テクスチャを設定して素材感を表現する
 ・CGリフォーム3●光源に配慮して空気感を演出する
 ・CGリフォーム4●ラジオシティで写実的な画像に仕上げる
特集4 ユーザー視点で徹底検証
    設備CAD最前線!
  CRAFT-CAD Ver.4/CADEWA Evolution Ver4.0/
  CADWe'll Tf@S207/Brain Gear 2008 PLUS/
  FILDER_PLUS V1.9/Design Draft Version3.1
特集5 プロダクトデザインから建築模型まで
    3次元出力機がアツい!
  切削タイプと積層タイプ/若手建築家が活用する
  3次元出力機
など

SXF Ver3.1の話(p.13)・・・仕様書が分厚い・・・と言っても、分厚いものに関してはファイルそのものの説明なので印刷する必要は無いと思うし、印刷したところで、A4縦にはおさまっていないので印刷しても哀しい思いになるだけ(※印刷した後、参った〜) また、説明書内で「別冊」参照と書いてあるものが同梱されてなかったような気もします〜 そういえばクロソイド曲線って、ISO10303-202にあったかなぁ?

Mac DXFの話(p.15)・・・改行コードはいいとして、ところで Macバイナリの件はどうなったんだろう?記事内に書かれていないので分らない。ソフトを作る側としては、改行コードよりもこのMacバイナリがどうなったのかの方が気になりますが〜

特集1・・・機械系ではもう大分前から3次元が実務で使われてます。機械系の2次元CADはどんどん売れなくなっていって久しいです。データ交換も、DXFとかSXFとかではなくて、IGESやSTEP、カーネルデータ直接、というのが多いって昔聞きました。まぁこれは、遅れてる、進んでる、とかいう事ではなくて、仕事の仕方・流れが機械関係と建築関係では全然違うってことに起因しているようですけど。

2008年01月23日

script!只今考え中

script!の次のバージョンアップを現在考え中です。

まず、文字なのですが、
AutoCAD(DXF)の DTEXT では、全角文字幅と半角文字幅が同じ1:1なのですが、Jw_cad (JWW)の場合は2:1となってしまうので、例えば、引き出し注記などを書く際、JWWクリップ出力した場合には、線の長さが合わなくなってしまう、という事になってしまいます。
それを避けるため、文字幅が1:1か、2:1か、の設定を追加し、スクリプト内では、その変数が 0 か 1 かで判別を行って文字の長さを計算する、という具合にします。
この追加修正は既に終っています。

それだけではちょっと寂しいので、更に、追加機能を考えています。
・正多角形(指定円に内接/外接)
・ベジェ曲線(4点指定)
・クロソイド曲線
まぁ、出力する際には、線分補間されるんですが〜

あと、2次Bスプライン曲線、3次Bスプライン曲線も考えましたが、別に要らないかな?と見送ろうと思ってます。(テストのスクリプトは既に作ってます)元々の仕様から、パラメータの数はそんなに多く出来ないので、スプラインの場合、かなり多くの点を指定したくなってしまいますが出来ませんので・・・。

という訳で、単なる独り言でした。

2008年01月22日

ノートパソコン絶不調〜

先日、ネットサーフィンしている際に、
入れてもいないのに勝手に「JWORD」とやらがインストールされてしまい
ブラウザのアドオンにも勝手に入り込み、
ブラウザの設定をどうも勝手に書き換えてくれたらしくて
ブラウザの挙動が変わったり、
ネットに勝手にアクセスしようとしたり、
ウイルス対策ソフトがエラーしておかしくなってしまいました。

最悪です。

まずは勝手にインストールされた「JWORD」のアドオンを無効にしてアンインストールし、再起動。消されているのを確認してからウイルス対策ソフトを更新しようとしたら途中でフリーズ。仕方が無いので強制終了をして、メールソフト等も動かなくなっているので、再起動。今度は更新出来たのでメールチェックをしたあと、ブラウザの設定をざっと確認して、一時ファイル等を削除して、一部設定しなおし。

やっとマトモに動きました。

はぁ・・・


再起動中、暇なので、健康器具チャリをこいでいたら5分で疲れました。あ〜 運動不足〜

2008年01月21日

AutoCAD スペシャルセミナー

Autodesk社からのDMより〜

【満員必至の大好評セミナー今年も開催!】
  AutoCAD スペシャルセミナー
  〜全国8都市で、2008年2月22日より開催!〜

AutoCAD はこれまで25年間、常に CAD ソフトウェアのデファクトスタンダートとして
全世界の皆様にご愛用いただいてきました。スペシャルセミナーでは、この AutoCAD の最新情報を余すところなくご紹介。これまで使われてきた皆様や、AutoCAD に興味を持たれている皆様に、いち早くご案内いたします。皆様とともに作図環境、生産性を常に高めてきた AutoCAD、その最新情報をいち早く手に入れるチャンスです。ぜひこの機会に下記からご登録ください。
▼今すぐ登録! スペシャルセミナーの登録はこちらから▼

http://www.autodesk.co.jp/special1

http://www.autodesk.co.jp/special2

との事です。