Vl-subent-select

提供:GizmoLabs - だいたい CAD LISP なサイト
2023年4月1日 (土) 09:21時点におけるGizmon (トーク | 投稿記録)による版 (→‎MEMO)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
構文
(vl-subent-select [ msg ] [ subentTypes [ osmode ]])


機能
オプションのオブジェクトスナップモード osmode (integer, default 591, end+mid+center+node+insertion+nearest) を使って点を指示し、選択したポイントで見つかったエンティティ/サブエンティティのサブエンティティ定義リストを、subentTypes (integer bit flags) でフィルタして返すよう、オプションの msg (string) prompt message でユーザーに要求する。


引数
  • msg : (文字列) 表示されるプロンプトメッセージ。省略された場合、"Select entity:" が表示される。
  • subentTypes : (ビットフラグ)どのサブエンティティが必要かを定義するためのマスク。省略された場合、すべてのメイン+サブエンティティが取得される(bcSubentAll、下記参照)。
  • osmode : (整数) 使用するオブジェクトスナップモード。省略時は 591 が使用される:端点 + 中点 + 中心 + ノード+ 交点 + 近接点)


戻り値
リスト(点リスト <サブエンティティ定義リスト> <サブエンティティ定義リスト> ... )または nil を返す。


MEMO

  • <subent-definition> : (type index ename) で表すサブエンティティ定義リスト。 サブエンティティの種類、サブエンティティのインデックス(GsMarker)、メインエンティティのリスト。
  • サブエンティティ選択定数 : これらの定数はビット値であり、組み合わせることができる。
シンボリックコンスタント 備考
bcSubentFace 1 面のサブエンティティの種類を指定
bcSubentEdge 2 エッジのサブエンティティの種類を指定
bcSubentVertex 4 頂点のサブエンティティの種類を指定
bcSubentMain 16 メイン エンティティを指定
bcSubentAll 23 bcSubentFace + bcSubentEdge + bcSubentVertex + bcSubentMain の組み合わせ
サンプル
(setq sel (vl-subent-select))
Select entity: ; 図形指示
((1892.5740146595 816.849680167082 336.77795566434)
 (1 1 <Entity name: 4a52d600>) ; 面
 (1 5 <Entity name: 4a52d600>) ; 面
 (16 0 <Entity name: 4a52d600>) ; メインエンティティ
)



関連事項