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

提供:GizmoLabs - だいたい CAD LISP なサイト
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-put-gradientname ''vla-object'' '''' '''' '''') ; 機能 : グラデーションのパターン名を指定する。 ; 引数 :* vla-obj...」)
 
編集の要約なし
 
1行目: 1行目:
{{AutoLISP}}
{{AutoLISP}}
; 構文
; 構文
: (vla-put-gradientname ''vla-object'' '''' '''' '''')
: (vla-put-gradientname ''vla-object'' ''name'')





2016年1月14日 (木) 17:04時点における最新版

構文
(vla-put-gradientname vla-object name)


機能
グラデーションのパターン名を指定する。


引数
  • vla-object … HatchのVLAオブジェクト
  • name … グラデーションのパターン名。以下が利用可能。
  • "Linear"
  • "Cylinder"
  • "InvCylinder"
  • "Spherical"
  • "HemiSpherical"
  • "Curved"
  • "InvSpherical"
  • "InvHemiSpherical"
  • "InvCurved"


戻り値
nil


サンプル

(vl-load-com)
(defun c:Example_GradientName()
    ;; GradientColor1 の値を変更するサンプル
    (setq acadObj (vlax-get-acad-object))
    (setq doc (vla-get-ActiveDocument acadObj))    
    
    ;; ハッチングの定義
    (setq patternName "CYLINDER")
    (setq patternType acPreDefinedGradient)
    (setq bAssociativity :vlax-true)
    
    ;; ハッチングのオブジェクトを作成
    (setq modelSpace (vla-get-ModelSpace doc))  
    (setq hatchObj (vla-AddHatch modelSpace patternType patternName bAssociativity acGradientObject))

    (setq col1 (vlax-create-object "AutoCAD.AcCmColor.20")) ; バージョンに合わせること
    (setq col2 (vlax-create-object "AutoCAD.AcCmColor.20")) ; 同上

    (vla-SetRGB col1 255 0 0)
    (vla-SetRGB col2 0 255 0)

    (vla-put-GradientColor1 hatchObj col1)
    (vla-put-GradientColor2 hatchObj col2)
    
    ;; 境界の円を作成
    (setq center (vlax-3d-point 3 3 0)
          radius 1)
    (setq circle (vla-AddCircle modelSpace center radius))

    (setq outerLoop (vlax-make-safearray vlax-vbObject '(0 . 0)))
    (vlax-safearray-put-element outerLoop 0 circle)
    
    ;; ハッチング境界を作成
    (vla-AppendOuterLoop hatchObj outerLoop)
    (vla-Evaluate hatchObj)
    (vla-Regen doc :vlax-true)

    (alert (strcat "GradientName は " (vla-get-GradientName hatchObj)))
    (vla-put-GradientName hatchObj "SPHERICAL")
    (alert (strcat "新しい GradientName は " (vla-get-GradientName hatchObj)))

    (vlax-release-object col1)
    (vlax-release-object col2)
)


関連事項