「Acet-geom-self-intersect」の版間の差分
(ページの作成:「{{AutoLISP}} ;構文 :(acet-geom-self-intersect ''ename1'' ''ename2'' ''flags'' ) ;機能 :エンティティename1とentity2のすべての交点を返す。 ;引数 :*ename1 … エンティティ名。 :*ename2 … エンティティ名。 :*flags … ビットコードのフラグ。 ::*bit 0 (1) : エンティティ1 を仮想的に拡張する。 ::*bit 1 (2) : エンティティ2 を仮想的に拡張する。 ;戻り値 :ename1とentity2のすべて…」) |
編集の要約なし |
||
1行目: | 1行目: | ||
{{AutoLISP}} | {{AutoLISP}} | ||
;構文 | ;構文 | ||
:(acet-geom-self-intersect '' | :(acet-geom-self-intersect ''pointlist'' ''flag'' ) | ||
;機能 | ;機能 | ||
: | : pointlist で定義されたポリゴン点列の自己交差をチェックする。 | ||
;引数 | ;引数 | ||
:* | :* pointlist… ポリゴン点列のリスト | ||
:* flag … フラグ。(無視されるらしいののでnilで良い) | |||
:* | |||
;戻り値 | ;戻り値 | ||
: | : 最初に見つかった交点を返すか、ポリゴンが自己交差しない場合はNILを返す。 | ||
;サンプル | ;サンプル | ||
<pre class="brush:autolisp;"> | <pre class="brush:autolisp;"> | ||
(acet-geom- | (acet-geom-self-intersect '((0 0) (10 10) (10 0)) nil) | ||
nil | nil | ||
(acet-geom- | (acet-geom-self-intersect '((0 0) (10 10) (10 0) (0 10)) nil) | ||
( | (5.0 5.0) | ||
(acet-geom-self-intersect '((0 0) (10 10) (10 0) (0 10) (5 0)) nil) | |||
(5.0 5.0) | |||
(acet- | ; こんな感じで、自己交差の有無を判定できる | ||
( | (setq vtx (acet-pline-segment-list (entget (car (entsel))))) | ||
(if (acet-geom-self-intersect (car vtx) nil)) | |||
(princ "交差しとるで") | |||
(princ "交差しとらんで") | |||
) | |||
</pre> | |||
----- | ----- | ||
関連事項 | 関連事項 |
2025年8月12日 (火) 09:24時点における最新版
- 構文
- (acet-geom-self-intersect pointlist flag )
- 機能
- pointlist で定義されたポリゴン点列の自己交差をチェックする。
- 引数
-
- pointlist… ポリゴン点列のリスト
- flag … フラグ。(無視されるらしいののでnilで良い)
- 戻り値
- 最初に見つかった交点を返すか、ポリゴンが自己交差しない場合はNILを返す。
- サンプル
(acet-geom-self-intersect '((0 0) (10 10) (10 0)) nil) nil (acet-geom-self-intersect '((0 0) (10 10) (10 0) (0 10)) nil) (5.0 5.0) (acet-geom-self-intersect '((0 0) (10 10) (10 0) (0 10) (5 0)) nil) (5.0 5.0) ; こんな感じで、自己交差の有無を判定できる (setq vtx (acet-pline-segment-list (entget (car (entsel))))) (if (acet-geom-self-intersect (car vtx) nil)) (princ "交差しとるで") (princ "交差しとらんで") )
関連事項