AutoCAD .NET API -C#でAutoCADとエクセルのプログラムを作る時の備忘録-

C#でAutoCADのプログラムを作った時に、毎回同じ事を調べるので備忘録として纏めておきます。エクセル操作の備忘録もついでに

テキストオブジェクト作成 文字の位置合わせ

前回の更新から83日ぶりです(^^;)

今回はテキストの追加です。
まずは普通に図面上にテキストを追加します。
テキストは、マルチテキストじゃ無い方のやつです。

drawtextコマンドを実行すると、X=100,y=100の座標に「Hello World」と文字が追加されます。
f:id:kajimo_hkd:20160917155311p:plain
文字の位置合わせは「左寄せ」になっています。

Positionプロパティで、テキストオブジェクトの座標だけを指定すると、デフォルトで左下に位置合わせされて図面に追加されます。

スポンサードリンク



文字の位置合わせを、中央にしてみます。


この2行で、位置合わせが中央になります。

   nText.HorizontalMode = TextHorizontalMode.TextCenter;//水平方向をセンターに
   nText.VerticalMode = TextVerticalMode.TextVerticalMid;//垂直方向もセンターに

水平方向の位置合わせの位置と、垂直方向の位置合わせの位置を指定しています。

気を付けるのは、文字の位置合わせを設定した時はPositionプロパティでは無く、AlignmentPointプロパティで位置を設定します。

  nText.AlignmentPoint = new Point3d(100,100, 0);//挿入位置を指定 x=100,y=100を指定してます

f:id:kajimo_hkd:20160917154004p:plain
位置合わせのプロパティが「中央」になっています。

HorizontalMode とVerticalMode で位置合わせを設定した場合は、Positionプロパティで座標を設定しても座標が指定されていないと見なされて、原点に描画されてしまいます。


HorizontalMode とVerticalMode で位置合わせを設定した場合は、AlignmentPointプロパティで座標を指定するのを忘れずに!


HorizontalMode、VerticalMode 共に、他にもプロパティがあるので、その組み合わせでいろいろな位置合わせが出来るんだと思いますが、ここでは面倒なので省略させて頂きます(^^;)
f:id:kajimo_hkd:20160917165116p:plain



それでは、またいつか…