「Vla-insertloopat」の版間の差分
(ページの作成:「{{AutoLISP}} ; 構文 : (vla-insertloopat ''vla-object'' ''Index '' ''LoopType '' ''Loop '' ) ; 機能 : ハッチングのインデックスを指定して、ループ...」) |
(相違点なし)
|
2016年2月5日 (金) 22:21時点における最新版
- 構文
- (vla-insertloopat vla-object Index LoopType Loop )
- 機能
- ハッチングのインデックスを指定して、ループを挿入する。
- 引数
-
- vla-object … Hatch のVLAオブジェクト
- Index … ハッチング境界を構成する頂点配列内のインデックス位置。0 を含む正の整数。
- LoopType … AcLoopType 列挙型
- acHatchLoopTypeDefault
- acHatchLoopTypeExternal
- acHatchLoopTypePolyline
- acHatchLoopTypeDerived
- acHatchLoopTypeTextbox
- Loop … 閉じた境界を形成するオブジェクトまたはオブジェクトの配列。オブジェクトの配列を使用する場合は、その端点が作成されるループに一致していなければならに。ループ、またはループを定義する配列は、Arc、Circle、Ellipse、Line、Polyline、Region、Spline オブジェクトで構成することができる。
- 戻り値
- nil
- サンプル
(vl-load-com) (defun c:Example_InsertLoopAt() ;; モデル空間で自動調整ハッチングを作成する。 ;; ハッチにループに挿入される。 (setq acadObj (vlax-get-acad-object)) (setq doc (vla-get-ActiveDocument acadObj)) ;; ハッチの定義 (setq patternName "ANSI31" patternType 0 bAssociativity :vlax-true) ;; ハッチを作成する (setq modelSpace (vla-get-ModelSpace doc)) (setq hatchObj (vla-AddHatch modelSpace patternType patternName bAssociativity acHatchObject)) ;; 閉じたハッチ境界を作成 ;; 円弧と線分 (setq center (vlax-3d-point 5 3 0) radius 3 startAngle 0 endAngle 3.141592) (setq arc (vla-AddArc modelSpace center radius startAngle endAngle)) (setq line (vla-AddLine modelSpace (vla-get-StartPoint arc) (vla-get-EndPoint arc))) (setq outerLoop (vlax-make-safearray vlax-vbObject '(0 . 1))) (vlax-safearray-put-element outerLoop 0 arc) (vlax-safearray-put-element outerLoop 1 line) ;; ハッチング オブジェクトに外側のループを追加。 (vla-AppendOuterLoop hatchObj outerLoop) ;; 1 つの内側のループとして最初の円を追加。 (setq center (vlax-3d-point 5 4.5 0) radius 1) (setq circle1 (vla-AddCircle modelSpace center radius)) (setq innerLoop1 (vlax-make-safearray vlax-vbObject '(0 . 0))) (vlax-safearray-put-element innerLoop1 0 circle1) (vla-AppendInnerLoop hatchObj innerLoop1) ;; ハッチを評価と表示 (vla-Evaluate hatchObj) (vla-Regen doc :vlax-true) (alert "別のループを挿入します。") ;; その他の内側のループとして 2 番目の円を挿入します。 (setq radius 0.5) (setq LoopObj (vlax-make-safearray vlax-vbObject '(0 . 0))) (setq circle2 (vla-AddCircle modelSpace center radius)) (vlax-safearray-put-element LoopObj 0 circle2) (vla-InsertLoopAt hatchObj (vla-get-NumberOfLoops hatchObj) acHatchLoopTypeDefault LoopObj) ;; 評価およびハッチを表示 (vla-Evaluate hatchObj) (vla-Regen doc :vlax-true) (alert "ループを挿入します。") )
関連事項