現在地 HOME > 掲示板 > 昼休み3 > 919.html ★阿修羅♪ |
|
Tweet |
http://hpcgi1.nifty.com/tes/textconv/ac2ex.cgi
AC2EX[AutoCadからExcelへ] 入力 説明は下に↓
■AC2EXはこんなツールです
Autocad LTの文字や線データを活用するのに「aclt.log」ファイルは貴重な存在ですが、エクセルで利用するには整形する必要があります。それを実現したのがAC2EXです。
1.入力するテキスト形式(説明)→
オートキャドログファイル形式
2.出力するテキスト形式(説明)→
タブ区切り(エクセルに直接貼り付け可能)
CSV(カンマ区切り)
3.出力するオブジェクトの種類を選択(説明)→
文字(マルチテキストは未対応)
文字+面積(LWPOLYLINE)−データが文字・LWPOLYLINE・文字・LWPOLYLINE・・・の順になっていること
文字+長さ(LWPOLYLINE)−データが文字・LWPOLYLINE・文字・LWPOLYLINE・・・の順になっていること
今後はいろいろサポート
2000行まで処理します。
説明
1.入力するテキスト形式
[つくりかた]
ログファイルがどこに生成されるのか探す。(コマンド:preferencesで基本設定のダイヤログボックスがでたら、ログファイルのありかを探しましょう。)
ファイルがあるか調べる。はじめてならば生成されていません。既に生成されていれば、テキストエディタでファイルを開いて中身を消去しておきましょう。
もし消去後更新が出来ない場合は、オートキャドは記録を続けています。コマンド:logfileoffで記録をやめましょう。
属性を取得したい図面ファイルを開きましょう。
コマンド:logfileonを実行すると記録開始(見た目は何も変化なし)
コマンド:listを実行しオブジェクトを選択すると属性が記録されます。
選択した順番で記録されます。順番は関係ないものについては一括して選択してかまいません。
最後にコマンド:logfileoffで記録を終了します。
テキストエディタでログファイルを開いてコピーしたら、このツールのテキストボックスに貼り付けます。
□AutoCadログファイル形式の例
よけいな部分(例えば文字を抽出したいのに、その前に実行したコマンドが記録されているなど)を一緒にテキストボックスにいれても、目的の属性のみ抽出するようにしています。
行数の制限について−Perlにおいて処理できる文字数に制限がありますので、それを下回る行数しか処理できないことがあります。
[ AutoCAD LT - Thu May 03 15:40:47 2001 ]----------------------------------------
コマンド: list
オブジェクトを選択: 認識された数 : 1
LWPOLYLINE 画層: 0
空間: モデル空間
ハンドル = 98
閉じる
一定幅 0.000
点の位置 X= 23.952 Y= 257.262 Z= 0.000
点の位置 X= 155.900 Y= 256.423 Z= 0.000
点の位置 X= 163.464 Y= 198.508 Z= 0.000
続行するには[Enter]を押してください:
点の位置 X= 98.751 Y= 168.291 Z= 0.000
面積 7826.642
円周 378.014
入力に戻る
2.出力するテキスト形式
■タブ区切り(エクセルに直接貼り付け可能)
[取り出し方]
テキストボックス内のデータをすべて選択します。(右クリックを活用して下さい)
エクセルの新規ワークシートを開いて、貼り付けます。
エクセルのワークシートに名前をつけて保存します。
もし文字列が自動的に変換されてしまう場合(例えば2-2が2月2日になる場合)
テキストボックス内のデータをすべて選択します。(ここは上と同じです)
テキストエディタを開いて、貼り付けます。
拡張子を「.txt」にして保存します。(例えばdata.txt)
エクセルを開き、保存したファイル(例えばdata.txt)を読み込みます。
テキストファイルウィザードが開きます。
カンマやタブなどの区切り文字によってフィールドごとに区切られたデータを選択します。(次ページへ)
区切り文字としてタブを選択します。(次ページへ)
文字列にしたい列(たとえばLAYER、TEXTなど)を「G/標準」でなく「文字列」とする。
□タブ区切りの例
各属性の要素はカンマ「,」で区切られます。
LAYERとTEXTは、文字列とするため「""」で囲まれます。
先頭行の項目名は次の項目である「3.出力するオブジェクトの種類」を参考にして下さい。
"LINE_No" "LAYER" "X" "Y" "H" "D" "TEXT"
52 "0" 50.006 196.829 31.102 0.0 "宅地1"
81 "1-1" 160.102 242.154 31.102 0.0 "宅地2"
■CSV(カンマ区切り)
[取り出し方]
ブラウザに表示されたカンマ区切りのデータを選択しコピーします。
テキストエディタを開いて、貼り付けます。
拡張子を「.csv」にして保存します。
□CSV(カンマ区切り)の例
各属性の要素はカンマ「,」で区切られます。
LAYERとTEXTは、文字列とするため「""」で囲まれます。
先頭行の項目名は次の項目である「3.出力するオブジェクトの種類」を参考にして下さい。
"LINE_No","LAYER","X","Y","H","D","TEXT"
52,"0",50.006,196.829,31.102,0.0,"宅地1"
81,"0",160.102,242.154,31.102,0.0,"宅地2"
入力に戻る
3.出力するオブジェクトの種類
次のような項目が出力されます。
1行目は項目名です。
□文字(text)
LINE_NO(入力したデータの行番号)
LAYER(レイヤー名)
X(基点のX座標)
Y(基点のY座標)
H(文字の高さ)
D(文字の回転)
TEXT(文字列)
入力に戻る