Acet-list-remove-duplicate-points

提供:GizmoLabs - だいたい CAD LISP なサイト
構文
(acet-list-remove-duplicates-points datalist fuz )


機能
座標点リスト datalist から許容差 fuz を考慮した重複するエントリーをすべて削除してリストを返す。


引数
  • datalist … 座標点リスト
  • fuz … 許容誤差


戻り値
重複が取り除かれた datalist のリスト。datalist が NIL の場合は NIL を返す。


MEMO

  • 除去はリスト値の最初から処理されるので fuz 指定時はリスト値の順番により異なる結果になりえる。
  • 2D点と3D点は別物として扱われる。


サンプル
(acet-list-remove-duplicate-points  '((0 0) (0 0 0) (10.2 10) (10.2 10) (10.2 10)) 0)
((0 0) (0 0 0) (10.2 10))
; 2D点と3D点は別物として扱われるので 0,0 と 0,0,0 が残ってる

(acet-list-remove-duplicate-points nil nil)
nil

(acet-list-remove-duplicate-points  '((0 0) (0 0.1) (10.0 10.0) (10.0 10.1) (10.1 10.0) (10.1 10.1) (10.2 10.1) (9.8 10.1)) 0.1)
((0 0) (10.0 10.0) (10.2 10.1) (9.8 10.1))
; すべての座標点がfuzの範囲内なら除去される

(acet-list-remove-duplicate-points  '((0 0) (0 0.1) (10.0 10.1) (10.0 10.0) (10.1 10.0) (10.1 10.1) (10.2 10.1) (9.8 10.1)) 0.1)
((0 0) (10.0 10.1) (10.2 10.1) (9.8 10.1))
; (10.0 10.0) と (10.0 10.1) の順番違いで残る値が変わってる


関連事項