Vla-put-type

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月29日 (金) 15:58時点におけるGizmon (トーク | 投稿記録)による版
構文
(vla-put-type vla-object type )


機能
Leader、MenuGroup、PopupMenuItem、ToolbarItem、Polyline、または PolygonMesh オブジェクトのタイプを指定する。


引数
  • vla-object … VLAオブジェクト(3DPolyline、Leader、MenuGroup、PolygonMesh、Polyline、PopupMenuItem、ToolbarItem)
  • type … オブジェクトタイプによる。以下参照
3DPolyline の場合
  • type ac3DPolylineType 列挙型
  • acSimple3DPoly: 単純なポリライン。
  • acQuadSpline3DPoly: 2 次 B-スプライン ポリライン。
  • acCubicSpline3DPoly: 3 次 B-スプライン ポリライン。
Leader の場合
  • AcLeaderType 列挙型
  • acLineNoArrow: 矢印なし線分。
  • acLineWithArrow: 矢印付き線分。
  • acSplineNoArrow: 矢印なしスプライン。
  • acSplineWithArrow: 矢印付きスプライン。
MenuGroup の場合
  • acMenuGroupType 列挙型
  • acBaseMenuGroup: ベース メニュー グループ。
  • acPartialMenuGroup: 部分メニュー グループ。
PolygonMesh の場合
  • acPolymeshType 列挙型
  • acSimpleMesh: サーフェスへのフィットやスムージングのない単純なメッシュ。
  • acQuadSurfaceMesh: 2 次 B-スプライン サーフェス フィット。
  • acCubicSurfaceMesh: 3 次 B-スプライン サーフェス フィット。
  • acBezierSurfaceMesh: ベジェ曲線のサーフェス フィット。
Polyline の場合
  • acPolylineType 列挙型
  • acSimplePoly: 単純なポリライン。
  • acFitCurvePoly: カーブフィット ポリライン。
  • acQuadSplinePoly: 2 次 B-スプライン ポリライン。
  • acCubicSplinePoly: 3 次 B-スプライン ポリライン。
PopupMenuItem の場合
  • acMenuItemType 列挙型
  • acMenuItem: メニュー項目。
  • acMenuSeparator: メニュー区切り。
  • acMenuSubMenu: サブ メニュー。
ToolbarItem の場合
  • acToolbarItemType 列挙型
  • acToolbarButton: 一般的なボタン。
  • acToolbarFlyout: フライアウト ボタン。
  • acToolbarControl: コントロール ボタン。
  • acToolbarSeparator: 区切り。


戻り値
nil


  • MEMO : PolygonMesh: PolygonMesh タイプが acSimpleMesh の場合は、頂点の行と列サイズに M と N の頂点の数値が使用される。その他の PolygonMesh タイプの場合は、行と列のサイズに M と N の密度値が使用される。


サンプル
(vl-load-com)
(defun c:Example_Type()
    ;; 引出線を作成して、タイプを変更していくサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
    (setq modelSpace (vla-get-ModelSpace doc))

    (setq points (vlax-make-safearray vlax-vbDouble '(0 . 8)))
    (vlax-safearray-fill points '(0 2 0
                                  4 4 0
                                  4 2 0
                                 )
    )

    (setq leaderType acLineNoArrow)

    (setq point (vlax-3d-point 4 2 0))
    (setq annotationObject (vla-AddMText modelSpace point 1 ""))  
        
    ;; 引き出し線を作成
    (setq leaderObj (vla-AddLeader modelSpace points annotationObject leaderType))

    ;; annotaion オブジェクトを削除し、引出線の最後の座標を調整。
    (vla-Erase annotationObject)
    (vla-put-Coordinate leaderObj 2 (vlax-3D-point 4 2 0))
    (vla-ZoomAll acadObj)
    
    ;; 現在の設定を取得
    (setq leaderType (vla-get-Type leaderObj))
    (alert (strcat "引出線タイプは " 
                   (cond
                       ((= leaderType acLineNoArrow) "acLineNoArrow.")
                       ((= leaderType acSplineNoArrow) "acSplineNoArrow.")
                       ((= leaderType acLineWithArrow) "acLineWithArrow.")
                       ((= leaderType acSplineWithArrow) "acSplineWithArrow.")
                   )))
    
    ;; 変更
    (vla-put-Type leaderObj acLineWithArrow)
    (vla-Update leaderObj)
    (setq leaderType (vla-get-Type leaderObj))
    (alert (strcat "引出線タイプは " 
                   (cond
                       ((= leaderType acLineNoArrow) "acLineNoArrow.")
                       ((= leaderType acSplineNoArrow) "acSplineNoArrow.")
                       ((= leaderType acLineWithArrow) "acLineWithArrow.")
                       ((= leaderType acSplineWithArrow) "acSplineWithArrow.")
                   )))
    
    ;; 変更
    (vla-put-Type leaderObj acSplineNoArrow)
    (vla-Update leaderObj)
    (setq leaderType (vla-get-Type leaderObj))
    (alert (strcat "引出線タイプは " 
                   (cond
                       ((= leaderType acLineNoArrow) "acLineNoArrow.")
                       ((= leaderType acSplineNoArrow) "acSplineNoArrow.")
                       ((= leaderType acLineWithArrow) "acLineWithArrow.")
                       ((= leaderType acSplineWithArrow) "acSplineWithArrow.")
                   )))

    ;; 変更
    (vla-put-Type leaderObj acSplineWithArrow)
    (vla-Update leaderObj)
    (setq leaderType (vla-get-Type leaderObj))
    (alert (strcat "引出線タイプは " 
                   (cond
                       ((= leaderType acLineNoArrow) "acLineNoArrow.")
                       ((= leaderType acSplineNoArrow) "acSplineNoArrow.")
                       ((= leaderType acLineWithArrow) "acLineWithArrow.")
                       ((= leaderType acSplineWithArrow) "acSplineWithArrow.")
                   )))
)

関連事項