最新のAutoCAD VBA のメモ
-
VBAの自動実行(つづく)
オンラインヘルプには、「マクロに AcadStartup という名前を付けることにより、VBA のロード時にマクロが自動的に実行されるようにできます。 acad.dvb ファイル内にある AcadStartup という名前のマクロは、VBA のロード時に自動的に実行されます。 」と、あるのに、AcadStartupが自動的に実行されるのは「acad.dvb」だけのようです。 まあ、ウイルス対策上その方が好ましいのかもしれないのですけど、面倒なときもあります。そこで、dvbファイルを画面にドラッグした場合だけAcadStartupを自動実行するVBAを作成する事に。これでVBAをドラッグすると、その中に定義したツールバーが自動的に作成されるというVBAの環境が整います ...
投稿: 2010/06/11 19:17、mura
-
ポリラインの面積 選択セットに対応
ポリラインの面積を調べる部分を 選択セットに対応させることに。SelectOnScreenメソッドとフィルタを使うと、処理が一気に楽になります。エラー処理が必要な気がするけど・・・。使用した選択セットの削除を確実にする例外処理は、何が良いんだろう?'------------------------'ポリラインの面積を調べる(選択セット対応)'------------------------Public Sub AreasToText() Dim ssPline As AcadSelectionSet Dim FilterType(0) As Integer Dim FilterData(0) As Variant ...
投稿: 2010/06/11 19:18、mura
-
VBAでコマンドとツールバーを追加するサンプル
ポリラインの面積サンプルプログラムを使って、LispでVBAのコマンドを追加するサンプルとツールバーを追加、削除するコードを書いておきます。VBAコマンドの追加には、「Sub AddAcCommand」を使い ポイントはLISPのコマンドからVBAを呼び出すところ。「(defun C:mura_[AutoCADコマンド名]() (command "-vbarun" "[プロジェクト名].ThisDrawing.[VBAサブプロージャ名]")(princ))」 ツールバーの追加・削除は 「Sub DeleteVBAToolBar()」と「Function AddAcToolBar」「Sub CreateVBAToolBar ...
投稿: 2010/06/11 19:19、mura
-
文字を処理するVBA
必要だなと思いついたときに作ったものを、寄せ集めたものです。従って、一貫性は無いのですが・・・。役に立つときがあるかも。文字をくっつけたり、マルチテキストに変更します。あとは文字の幅をスライダで変えます。複数の文字が一度の伸び縮みする様は見ていて面白いです。入っているコマンド一覧。・複数の1行文字を 連結する・複数の1行文字を 連結してマルチテキストに変換する・位置あわせが フィット(F)になっている文字を 中心(C)に変更する・文字の縦横比変更※ボタンのイメージは入っていないので、適当に書き換えてください。(2005年1月26日)
投稿: 2010/06/11 19:19、mura
-
フィールドコード VBAサンプル
掲示板でフィールドコードで調べた面積を、mm2単位から100万分の1にしてm2にする方法をさがしていました。以前、どっかでプログラムを組んだような気がして、やってみましたけどそのときは別の方法を使っていました。というわけで、結論はやっぱり無理で・・・検証のための作りかけのVBAだけが残りました。もったいないのでここに書いて、後から使い回ししよう。
'-------------------------------------------------------------
' -フィールドコード追加サンプルプログラム
' - http://www.mura.sh/
' - (c) mura. 2004 All rights ...
投稿: 2010/06/11 15:34、mura
最新のカスタマイズのメモ
-
図面の設定-レイアウト編
「Sample.scr」では、単位や座標系、グリッドやスナップ、文字スタイル、画層など様々な図面設定を行っている。
最初に大技で目立つ、レイアウトの設定について説明してみたい。
レイアウトは「Sample.dwg」にレイアウト名「レイアウト(Sample)」で保存してあるものをインポートしている。
その部分はこんなコードになっている。
;-----------------------------------------------------------------
;「Sample.dwg」のレイアウト「レイアウト(Sample)」を追加。
_layout
;[複写(C)/削除(D)/新規作成(N ...
投稿: 2010/06/11 20:11、mura
-
図面の設定変更をする
手作業だと面倒だし、VBAやマクロなどだと作成に時間がかかったり、臨機応変さに欠ける。そんなとき、利用しているのがスクリプト。デスクトップに「Sample.dwg」「Sample.scr」をコピーしたら、何でも良いので新しい図面もデスクトップに保存する。(デスクトップじゃなくても3つのファイルを同じフォルダに保存)あとは、新しい図面の画面上に、デスクトップの「Sample.scr」をドラッグ&ドロップ。これだけで、スクリプトが走って、設定が完了する。不都合な点があったら、スクリプトの処理をUndoし、「Sample.scr」をテキストエディタで修正するだけ。何度でもやり直しができる。サンプルファイルは次からダウンロードできるが ...
投稿: 2010/06/11 18:33、mura
|