Vla-get-textalignmentpoint
- 構文
- (vla-get-textalignmentpoint vla-object)
- 機能
- 文字と属性の位置合わせ点を取得する。
- 引数
-
- vla-object … VLAオブジェクト(Attribute、AttributeReference、Text)
- 戻り値
- オブジェクトの位置合わせ点を表す 3D WCS 座標
- MEMO : Text: Alignment プロパティが acAlignmentLeft に設定されている場合、このプロパティは 0, 0, 0 にリセットされ、読み込み専用になる。位置合わせが、左、両端合わせ、フィットの文字の位置を決めるには、InsertionPoint プロパティを使う。
- サンプル
(vl-load-com)
(defun c:Example_TextAlignmentPoint()
;; 文字を作成して、位置合わせ点と水平位置を変更するサンプル
(setq acadObj (vlax-get-acad-object))
(setq doc (vla-get-ActiveDocument acadObj))
;; 文字の定義
(setq insertionPoint (vlax-3d-point 3 3 0)
textString "Hello, World."
height 0.5)
;; 文字を作成
(setq modelSpace (vla-get-ModelSpace doc))
(setq textObj (vla-AddText modelSpace textString insertionPoint height))
(vla-ZoomAll acadObj)
(setq alignmentPoint (vlax-variant-value (vla-get-TextAlignmentPoint textObj)))
(alert (strcat "現在の位置合わせ点は "
(rtos (vlax-safearray-get-element alignmentPoint 0) 2) ", "
(rtos (vlax-safearray-get-element alignmentPoint 1) 2) ", "
(rtos (vlax-safearray-get-element alignmentPoint 2) 2)))
;; 変更
;; note : HorizontalAlignmentプロパティを先に変更する必要がある。
(setq alignmentPoint (vlax-3d-point 5 3 0))
(vla-put-Alignment textObj acHorizontalAlignmentFit)
(vla-put-TextAlignmentPoint textObj alignmentPoint)
(vla-ZoomAll acadObj)
(setq alignmentPoint (vlax-variant-value (vla-get-TextAlignmentPoint textObj)))
(alert (strcat "位置合わせ点を次にセット "
(rtos (vlax-safearray-get-element alignmentPoint 0) 2) ", "
(rtos (vlax-safearray-get-element alignmentPoint 1) 2) ", "
(rtos (vlax-safearray-get-element alignmentPoint 2) 2)))
)
関連事項