当掲示板は、AuroCADマクロ屋本舗 の掲示板です。
AutoCADのマクロ に関する質問の前に 【 マクロ使用前の注意事項 】 を、必ずお読みください。

尚、新規投稿フォーム下の【 新規投稿時のお願い 】を確認の上、新規投稿をお願い致します。
データ書き出しについて
はじめまして

いつもここのサイトで勉強させて頂いてます。

データ書き出しの機能を使って図面のある部分だけを集計しています。

集計する時期が違うので、どれを昔集計したか分かるようにしたいです。

現状はデータ書き出し後にマクロ講座の初級6にあるマクロを使い、最後に

選択したブロックを赤色などに変えています。

^C^C_dataextraction;_chprop;p;;c;RED;;

こんなかなと思っているのですが、途中で(オブジェクトを選択する所で)後半のコマンドが先行してしまいます。

マクロで一つのコマンドに出来ないでしょうか?

宜しくお願い致します。

オートキャド2015使用  TdMacrosも使用させて頂いております。 

  • ぼす
  • 2015/07/07 (Tue) 20:59:08
Re: データ書き出しについて
当方まだ2013を使用していまして
dataextractionコマンドが無いので確認できませんでした。

なので
^C^C_dataextraction;_chprop;p;;c;RED;;
このマクロ実行後
キーボードF2を押し
テキストウィンドウ内のマクロの流れをコピーし
こちらに貼り付けて下さい。


なんとなくな予想では

*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;to;1;_dataextraction,_chprop;p;;c;RED;;^Cid;^Z)^M

こうかな?
  • とってぃ
  • 2015/07/08 (Wed) 09:10:27
Re: データ書き出しについて
先に選択して色変更→dataextractionでp選択と入れ替えてみるのはダメ?
  • LUNE
  • 2015/07/08 (Wed) 13:33:39
Re: データ書き出しについて
とってぃさん

返信頂きありがとうございます。

なんとなくな予想の物で出来ました(驚)

ありがとうございます。

ちなみにマクロの流れをあげますと、

コマンド: _dataextraction
オブジェクトを選択: _chprop
*選択無効*
点を指定 または 窓(W)/最後(L)/交差(C)/ボックス(BOX)/すべて(ALL)/フェンス(F)/ポリゴン窓(WP)/ポリゴン交差(CP)/グループ(G)/追加モード(A)/除外(R)/一括モード(M)/直前(P)/元に戻す(U)/自動モード(AU)/単一モード(SI)
オブジェクトを選択: 認識された数: 1
オブジェクトを選択: 認識された数: 1, 総数 2
オブジェクトを選択:
外部ファイル "C:\Users\ああああ\Desktop\ああああ.xls" は正常に作成されました。


この2行目が先行しているという部分です。

一番下の外部ファイル作成されました。の後に出来れば良かったのですが・・・

dataextractionコマンド途中で添付画像のボタン?をクリックすると

モデル空間に移動し、次のコマンドが先行してしまうという現象が起こっていました。

何回か試してみましたが、問題ない様でした。

ありがとうございました。本当に助かりました。
  • ぼす
  • 2015/07/08 (Wed) 19:26:09
Re: データ書き出しについて
LUNEさん返信ありがとうございます。

その案も検討したのですが、dataextractionコマンド内に

選択コマンドがあるので詰まっていました。

コマンドが先行するなら利用するその発想はなかったので

勉強になりました。

ありがとうございます。
  • ぼす
  • 2015/07/08 (Wed) 19:41:55
Re: データ書き出しについて
以前、データ書き出しのマクロを教えて頂きましたが、
色を変更するのではなく集計した複数のデータ(属性定義のブロック)に
ブロックで作成したチェックマークみたいなものを横に貼り付けたいのですが可能でしょうか?
(チェックマークのブロック名はまだ未定です)

オートキャド2015使用です

宜しくお願いします。
  • ぼす
  • 2017/02/01 (Wed) 13:47:50
Re: データ書き出しについて
データ書き出しに含めるには
こちらで検証できないので(2015未所持の為)難しいです。

ただし、複数のブロックの横ではなく
複数のブロックの基点位置への配置であれば
可能かなー…?

ちょっとご要望とは違いますが
いかがでしょ?
  • とってぃ
  • 2017/02/01 (Wed) 21:32:50
Re: データ書き出しについて
とってぃさま
返信ありがとうございます。

基点への配置でも構いません。
(チェックマークのブロックの基点を調整するか、後で移動します)

宜しくお願いします。
  • ぼす
  • 2017/02/02 (Thu) 09:30:46
Re: データ書き出しについて
とりあえず作ってみました。
お試しください。

♪オブジェクト基点ブロック挿入マクロ
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;cv;$(getenv,CreateViewports);select;\zoom;e;copybase;non;0<0;p;;setenv;to;1,,,,)$(nth,$(getenv,to),,;to;2;;CreateViewports;0;-layout;n;bk-1;;s;bk-1;pasteblock;non;0<0;zoom;a;explode;l,,,)$(nth,$(getenv,to),,,;to;4;select;l;;ucs;ob;l;erase;l;;-insert;≪ブロック名≫;non;0<0;;;;ucs;p;id;non;@;setenv;p0;$M="""$(getvar,lastpoint)""";;to;3,,)$(nth,$(getenv,to),,,,;to;2;copybase;non;$(getenv,p0);l;;erase;l;;-layout;s;Model;pasteclip;non;$(getenv,p0);-layout;s;bk-1,)$(nth,$(getenv,to),,,,,-layout;s;Model;;d;bk-1;setenv;CreateViewports;$(getenv,cv))^M


●使い方
1.オブジェクトを選択(複数加)

▲注意
1.マクロ中の≪ブロック名≫に挿入するブロック名を記入して下さい。
2.マクロ処理にレイアウト名「bk-1」を使用しています。
  同じ名前のレイアウトを利用している場合は、マクロ中の全ての「bk-1」を変更してお使いください。


2013動作確認済み。
  • とってぃ
  • 2017/02/02 (Thu) 10:30:30
Re: データ書き出しについて
とってぃ様
すぐに作成して頂きありがとうございます。

ブロック挿入できました。使用させて頂きます。


もし、可能であればなのですが、1個目のブロック挿入時に尺度を設定して、
それ以降はその尺度のブロックを挿入するといった事は可能でしょうか?

属性文字を集計しているので、文字の大きさが図面によって違うので・・・
これはブロックを集計する文字の大きさごとに複数作れば良いので、もし気が向いたらお願いします。



ちなみに2013のキャドで集計するのはEATTEXTになるそうです。(他にも昔のコマンドが残っているようです)
2015で使用するとdataextractionのコマンドと同じでした。
これはご参考までに・・・

  • ぼす
  • 2017/02/02 (Thu) 22:17:56
Re: データ書き出しについて
1つのファイルに1つの図面で
寸法スタイル管理の「全体の尺度」で決めているのであれば
自動で尺度変更も行えます。

それとも
1つのファイルに複数の図面を作図されているのであれば
手記入となります。


どの様な尺度で作図されていますでしょうか?
  • とってぃ
  • 2017/02/03 (Fri) 08:10:47
Re: データ書き出しについて
いつもお世話になっております

1つのファイルに複数の図面を使っています

尺度というのは属性文字(ブロック)のものです。

属性文字の元々の大きさを1にして、そこから作成する図面の尺度に応じてブロックの尺度を調整しています。

(1:100の図面で印刷時に3cmにしたい場合はブロックの尺度を300にしています)

ちなみにモデル空間では1:1で、尺度を変えて作図はしていません。

なので、1の大きさでチェックマークをブロック作成しておき、マクロ実行時に集計する属性文字(ブロック)の
尺度に応じて変更出来ないかな?かつ、入力は1回にしてほしいな・・・
というわがままな質問です。

とってぃさんの知りたい事と違っていたらすみません。
もし宜しければ検討お願いします。

  • ぼす
  • 2017/02/03 (Fri) 18:36:01
Re: データ書き出しについて
おはようございます。

作り直してみました。
お試しください。

♪オブジェクト基点ブロック挿入マクロ(尺度記入版)
*^C^C$M=setenv;to;0;$(nth,$(getenv,to),;s1;尺度記入^x\;cv;$(getenv,CreateViewports);select;\zoom;e;copybase;non;0<0;p;;setenv;to;1,,,,)$(nth,$(getenv,to),,;to;2;;CreateViewports;0;-layout;n;bk-1;;s;bk-1;pasteblock;non;0<0;zoom;a;explode;l,,,)$(nth,$(getenv,to),,,;to;4;select;l;;ucs;ob;l;erase;l;;-insert;≪ブロック名≫;non;0<0;$(getenv,s1);;;ucs;p;id;non;@;setenv;p0;$M="""$(getvar,lastpoint)""";;to;3,,)$(nth,$(getenv,to),,,,;to;2;copybase;non;$(getenv,p0);l;;erase;l;;-layout;s;Model;pasteclip;non;$(getenv,p0);-layout;s;bk-1,)$(nth,$(getenv,to),,,,,-layout;s;Model;;d;bk-1;setenv;CreateViewports;$(getenv,cv))^M
  • とってぃ
  • 2017/02/06 (Mon) 08:23:37
Re: データ書き出しについて
とってぃさん

ばっちりです。
ありがとうございます。
これでいつ入ってくるかなどの管理が
簡単に出来るようになりました。

本当にありがとうございました。
  • ぼす
  • 2017/02/06 (Mon) 18:44:13

返信フォーム






プレビュー (投稿前に内容を確認)