「Vla-put-activelayout」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-activelayer ''vla-object'' ''Layer'') ; 機能 : アクティブな画層を指定する。 ; 引数 :* vla-object … Document の...」)
 
編集の要約なし
 
(同じ利用者による、間の1版が非表示)
1行目: 1行目:
{{AutoLISP}}
{{AutoLISP}}
; 構文
; 構文
: (vla-put-activelayer ''vla-object'' ''Layer'')
: (vla-put-activelayout ''vla-object'' ''Layout'')




; 機能
; 機能
: アクティブな画層を指定する。
: アクティブなレイアウトを指定する。




; 引数
; 引数
:* vla-object … Document の VLA オブジェクト
:* vla-object … Document の VLA オブジェクト
:* Layer … 画層の VLA オブジェクト
:* Layout… レイアウトの VLA オブジェクト
 


; 戻り値
; 戻り値
: アクティブな画層を指定します。
: nil


*MEMO :
新しいオブジェクトは、作成時にアクティブな画層に配置される。既存のオブジェクトの画層を変更するには、オブジェクトの Layer プロパティを使用する。
新しい画層を作成するには、[[vla-add]] メソッドを使用する。(ActiveX で追加の場合)
画層の表示やその他のプロパティを変更するには、Layer オブジェクトを参照。




; サンプル
; サンプル
<pre class="brush:autolisp;">
<pre class="brush:autolisp;">
(vl-load-com)
(defun c:addMyLayout ()
(defun c:Example_ActiveLayer()
  ;; 新しいレイアウトを作成して、印刷スタイルとプリンタ・用紙サイズを
    ;; 現在画層を返してから、TestLayerを新規追加後に 0画層にセットするサンプル
  ;; 設定してアクティブにするサンプル
    (setq acadObj (vlax-get-acad-object))
  ;; * Test っていうレイアウトがあると止まるので注意
    (setq doc (vla-get-ActiveDocument acadObj))
  (vl-load-com)
   
  (setq acadDoc (vla-get-ActiveDocument (vlax-get-Acad-object)))
    ;; 現在の画層を返す
  (setq layouts (vla-get-Layouts acadDoc))
    (setq currLayer (vla-get-ActiveLayer doc))
    (alert (strcat "現在画層は " (vla-get-Name currLayer)))
   
    ;; 新規画層作成
    (setq layers (vla-get-Layers doc))
    (setq newLayer (vla-Add layers "TestLayer"))
    (alert (strcat "新しい画層は " (vla-get-Name newLayer)))


    ;; 現在画層を 0画層にセット
  (setq layoutObj (vla-add layouts "Test"))
    (vla-put-activeLayer doc (vla-item (vla-get-layers doc) "0")))
 
  ;; monochrome.CTB をセット
  (vla-put-StyleSheet layoutObj "monochrome.ctb")
  ;; DWG to pdf.pc3 をセット
  (vla-put-configname layoutObj "DWG to pdf.pc3")
  ;; ISO A4 用紙をセット
  (vla-put-canonicalmedianame
    layoutObj    "ISO A4 (297.00 x 210.00 MM)")
  ;; 作成したレイアウトをアクティブに
  (vla-put-activelayout acadDoc layoutObj)
 
  ;; スタイルシートとコンフィグ名を取得
  (setq currPStyle (vla-Get-StyleSheet layoutObj))
  (setq currConfig (vla-Get-configname layoutObj))
  (princ)
)
)
</pre>
</pre>


48行目: 55行目:
* [[vlax-get-acad-object]]
* [[vlax-get-acad-object]]
* [[vla-get-activedocument]]
* [[vla-get-activedocument]]
* [[vla-get-activelayer]]
* [[vla-get-activelayout]]
* [[vla-put-activelayer]]
* [[vla-put-activelayout]]
* [[vla-add]]
* [[vla-get-layers]]




[[Category:AutoLISP]]
[[Category:AutoLISP]]

2015年10月18日 (日) 13:30時点における最新版

構文
(vla-put-activelayout vla-object Layout)


機能
アクティブなレイアウトを指定する。


引数
  • vla-object … Document の VLA オブジェクト
  • Layout… レイアウトの VLA オブジェクト


戻り値
nil


サンプル
(defun c:addMyLayout ()
  ;; 新しいレイアウトを作成して、印刷スタイルとプリンタ・用紙サイズを
  ;; 設定してアクティブにするサンプル
  ;; * Test っていうレイアウトがあると止まるので注意
  (vl-load-com)
  (setq acadDoc (vla-get-ActiveDocument (vlax-get-Acad-object)))
  (setq layouts (vla-get-Layouts acadDoc))

  (setq layoutObj (vla-add layouts "Test"))

  ;; monochrome.CTB をセット
  (vla-put-StyleSheet layoutObj "monochrome.ctb")
 
  ;; DWG to pdf.pc3 をセット
  (vla-put-configname layoutObj "DWG to pdf.pc3")
 
  ;; ISO A4 用紙をセット
  (vla-put-canonicalmedianame
    layoutObj    "ISO A4 (297.00 x 210.00 MM)")
 
  ;; 作成したレイアウトをアクティブに
  (vla-put-activelayout acadDoc layoutObj)

  ;; スタイルシートとコンフィグ名を取得
  (setq currPStyle (vla-Get-StyleSheet layoutObj))
  (setq currConfig (vla-Get-configname layoutObj))
  (princ)
)


関連事項