Autocad LTの標準機能だけで座標は扱えるのです。
仕事ではAutocad LTとMicrosoft Excelを使うことが多いのですが、キャドとエクセル間のデータのやり取りにはコツが必要になります。そのために各種アドインソフトが有償、無償を含めて数多くありますが、揃えるのは大変ですし、そのアドインソフトが入ったソフトしか利用できないのは不便なことです。キャドとエクセルの基本機能だけでなんとかならないか、試行錯誤してみました。
座標を使用して正確に線を引くときは、まずコマンドラインに「line」とタイプ(文字を入力)し、[ENTER]を押します。すると「次の点を指定」と指示が出てきますので、X座標とY座標の間に「,」を入れて「23,35」とタイプします。また「次の点を指定」と指示がでてきますので、次の点として「43.23,63.2」をタイプします(小数でも良い)。これで線分が引けました。
「line」の代わりに「l」1文字だけでも大丈夫です。ポリラインとしたいなら、「pline」です。
コマンドラインに入力
座標データがあるのなら、自動化したくなります。自動化といっても特別な言語を使ったりするわけではありません。手入力で使用した「line」とか「23,35」といった文字列をコマンドラインに連続して貼り付ければよいのです。
連続する線分の場合、一番上のセルに「line」といれ、次の行からX座標とY座標の組(「23,35」のような)を1行に1組づつ並べていくと準備完了です。
連続する線分の例
セルA2、セルB2 はそれぞれX座標、Y座標を入れます。セルC2は文字を結合する式を入力して「23,35」が表示されればよいのです。
ちなみにセルC2には「=A2&","&B2」という文字列が入っています。
入力が終わったら、C1からC4を選択してコピーし、キャドのコマンドラインに貼り付けます。C1の文字列とC2の文字列の間には改行が挿入されていて、手入力で[ENTER]を実行するような効果があります。C4を含めるということで終了の合図としての[ENTER]を挿入することとなります。
ばらばらの線分をちりばめるときは、1行に1つずつコマンドを並べる方法となります。「line」「23,35」「43.23,63.2」を合体させた文字列を一番右側のセルに表示させることになります。
ただ[ENTER]の入力でつまずくかもしれません。「line」の次と「23,35」の次は、[ENTER]を挿入する必要がありますが、セルの中の文字は簡単に[ENTER]になってくれません。いくつかの方法がありますが、まず簡単なのが半角スペースを代わりにすることです。これは手で入力する際も利用できる技で、「line」半角スペース「23,35」・・・と、入力してやればよいのです。
ばらばらの線分の例
E1には「="line "&A1&","&B1&" "&C1&","&D1&" "」が入っています。最後の半角スペースは2行以上一括で実行するときに必要になります。
コマンドの技は、線を引くだけのものではありません。オートキャドコマンドのほとんど(すべて?)はメニューやボタンのほかにコマンドラインからタイプすることで実行できます。
重宝するのが文字の入力です。各座標に対して別々の文字列配置するのに威力を発揮します。どのようなコマンドになるのかは実際に自分でコマンドをタイプして研究してみてください。
ここでまたも問題となるのが、改行の問題です。半角スペースでは単に文字列の一部と認識されてしまい、「実行」と解釈されないことがあるのです。次の方法としてエクセルのセル内に改行記号を入力する方法があります。「CHAR(10)」とセル内で入力すると改行になるのです。ただし、もうひとつ難問があります。改行を含むセルをコピーすると文字列の前後に「"」が付加されてしまうのです。「text・・・」と入力するつもりが「"text・・・」となるわけですからだめです。解決策としては一度テキストエディターに貼り付けて、置換コマンドですべての「"」を除去する方法があります。
文字の例
この場合、セルD1には「="text j bl "&A1&","&B1&" 8 0"&CHAR(10)&C1&CHAR(10)」が入ります。「CHAR(10)」の部分が改行となります。ちなみにこのコマンドは高さ8、回転角度0、左下基点で、内容が「文字列1」となります。
どうせ、テキストエディターに貼り付けて前処理をするのでしたら、「CHAR(10)」なんて面倒な式を入れる代わりに、「●」みたいな簡単な目印を入力しておいて、置換コマンド実行の際に「●」を改行に変換するというのも手です。私が愛用している秀丸エディター(シェアウェア)では正規表現オプションをオンにして、置換後を「\n」とすれば、改行に置き換わります。
秀丸の例
(09.06.15)
この話題に関する情報、ご意見などがありましたら是非お寄せください。
目次