Vla-copyfrom

提供:GizmoLabs - だいたい CAD LISP なサイト
2016年1月25日 (月) 10:49時点におけるGizmon (トーク | 投稿記録)による版
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vla-copyfrom vla-object SourceObject )


機能
寸法スタイル、レイアウト、または印刷環境設定の設定をコピーする。


引数
  • vla-object … VLAオブジェクト(DimStyle、Layout、PlotConfiguration)
  • SourceObject … コピーするソースの VLAオブジェクト(DimStyle、Dim3PointAngular、DimAligned、DimAngular、DimArcLength、DimDiametric、DimOrdinate、DimRadial、DimRadialLarge、DimRotated、Document、Layout、Leader、PlotConfiguration)
  • Layout、PlotConfiguration : ソース オブジェクトは PlotConfiguration オブジェクトでなければならない。
  • DimStyle : ソース オブジェクトは、DimStyle、Document、Dim3PointAngular、DimAligned、DimAngular、DimArcLength、DimDiametric、DimOrdinate、DimRadial、DimRadialLarge、DimRotated、Leader のいずれかでなければならない。


戻り値
nil


  • MEMO : DimStyle : このメソッドでは、寸法スタイル データを 3 種類のソースから既存の寸法スタイルにコピーすることができる。
    • SourceObject が寸法(すべての寸法オブジェクトを含む)、Tolerance、または Leader オブジェクトである場合、このメソッドは、このオブジェクトおよびオブジェクト優先のスタイルをコピーする。
    • SourceObject が DimStyle オブジェクトである場合、このメソッドはこの寸法スタイルからスタイル データをコピーする。
    • SourceObject が Document オブジェクトである場合、このメソッドは、図面および図面優先のアクティブな寸法スタイルの設定をコピーする。


サンプル
(vl-load-com)
(defun c:Example_CopyFrom()
    ;; 2 つの新しいプロット構成、NewPC1 と、NewPC2 が作成され、CopyFrom メソッドを使用して 
    ;; 2 番目のプロット構成に最初のプロット構成設定を複製するサンプル。
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))
  
    ;; ドキュメントの PlotConfigurations コレクションを取得
    (setq PlotConfigurations (vla-get-PlotConfigurations doc))
    
    ;; NewPC1 を追加してプロパティを変更
    (setq NewPC1 (vla-Add PlotConfigurations "NEW_CONFIGURATION1"))
    (vla-put-PlotRotation NewPC1 ac270degrees)
    (vla-put-PlotHidden NewPC1 :vlax-true)
    (vla-put-PaperUnits NewPC1 acMillimeters)
    
    ;; NewPC2 を追加
    (setq NewPC2 (vla-Add PlotConfigurations "NEW_CONFIGURATION2"))
    
    ;; NewPC2 の設定を NewPC1 から持ってくる前の設定を表示
    (alert (strcat "NEW_CONFIGURATION2 の設定are: "
                   "\n印刷方向: " (itoa (vla-get-PlotRotation NewPC2))
                   "\n印刷の隠線 : " (if (= (vla-get-PlotHidden NewPC2) :vlax-true) "True" "False")
                   "\n印刷単位 : " (itoa (vla-get-PaperUnits NewPC2))
           )
    )
    
    ;; NewPC1 から NewPC2 にコピー
    (vla-CopyFrom NewPC2 NewPC1)
    (vla-put-Name NewPC2 "NEW_CONFIGURATION2")

    ;; NewPC2 のコピった設定を表示
    (alert (strcat "NEW_CONFIGURATION2 の設定are: "
                   "\n印刷方向: " (itoa (vla-get-PlotRotation NewPC2))
                   "\n印刷の隠線 : " (if (= (vla-get-PlotHidden NewPC2) :vlax-true) "True" "False")
                   "\n印刷単位 : " (itoa (vla-get-PaperUnits NewPC2))
           )
    )
)

関連事項