お知らせ

--------------------------------------------------

プログラム作成/コンサルティングの申し込みはこちら

--------------------------------------------------

2013年5月17日金曜日

プロパティの変更(VLISP ActiveX)


おはようございます。

前回までは、線分の作成方法について紹介しました。
今日は、作成した線分のプロパティの変更の方法について紹介したいと思います。

線分を作成すると、現在の画層/色/線種などで作成されます。
でも、プログラムでそれらを指定したいですよね。

AutoLISP ではエンティティのリストを変更したあと entmode 関数で更新するのですが、Visual LISP の ActiveX では、vla-put-xxxx 関数を使用します。

xxxx のところにはプロパティの名前を入れるので、色を変えたいときは Color、画層を変えたいときは Layer といった感じになります。

プロパティの名前に他にどんなものがあるかは前回紹介した 『AutoCAD ActiveX/VBA リファレンス』 で確認できます。


プロパティには色んなものがあるんですが、オブジェクトによって持っているプロパティは違ってきます。

各プロパティが対象となるオブジェクトは、それぞれのプロパティを選択すると確認することができます。

例えば、Color プロパティを選択すると、こんな感じで表示されます。

object のところを見ると、『すべての図形オブジェクト、Goup、Layer』 って書いてありますよね。
線分はすべての図形オブジェクトに含まれるので、Color プロパティは線分で使用できるってことになります。

念のため 「すべての図形オブジェクト」 のところをクリックすると、こう表示されます。
線分を意味する Line が含まれていますよね。


ということで、線分の色を変更するときはこんな感じになります。
(vla-put-Color myLine 1)
これで、変数 myLine の線分の色を 1(赤) に変更するっていうことになります。

色の指定はこのように番号でもできるのですが、acRed や acYellow といったような指定をすることもできます。(『AutoCAD ActiveX/VBA リファレンス』 の Color プロパティの Color 要素に対する説明のところにこれ以外にどんな指定があるか書いてあります。)

色以外にも画層や線種などもこんな感じで簡単に変更できるので試してみてください。


0 件のコメント:

コメントを投稿