nentsel (AutoLISP)

点を指定してオブジェクト(図形)を選択するようユーザに要求し、複合化オブジェクトに含まれる定義データにアクセスできるようにします。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(nentsel [msg])
msg

タイプ: 文字列

プロンプトとして表示されるメッセージ。引数 msg を省略すると、プロンプト「オブジェクトを選択」が表示されます。

戻り値

タイプ: ads_name

選択したオブジェクトが複合図形(3D ポリラインやブロック)以外の場合、nentsel 関数は entsel 関数と同じ情報を返します。しかし、選択したオブジェクトが 3D ポリラインの場合、nentsel 関数は従属図形(頂点)の名前と指定した点の名前を含むリストを返します。これは entsel 関数が返すリストに似ていますが、ポリライン ヘッダではなく選択した頂点の名前を返すという点が異なります。nentsel 関数は常に、選択した 3D ポリライン セグメントの開始頂点を返します。たとえば、ポリラインの 3 番目のセグメントが選択されると、3 番目の頂点を返します。3D ポリラインの場合、nentsel 関数が SEQEND 従属図形を返すことはありません。

注: ライトウェイト ポリライン(Lwpolyline 図形)は、図面データベース内で単一の図形として定義されており、従属図形を含みません。

ブロック参照の属性が選択されると、属性の名前とクリックした点を返します。選択したオブジェクトが属性ではなくブロック参照の構成要素の場合、nentsel 関数は 4 つの要素が含まれるリストを返します。

ブロック内のオブジェクトの選択によって返されるリストの 1 番目の要素は、選択された図形の名前です。

2 番目の要素は、オブジェクトを選択するために使用された点の座標が含まれるリストです。

3 番目の要素は、モデル座標系からワールド座標系への変換マトリックスです。これは 4 つのサブリストから構成されるリストで、各サブリストには 1 組の座標が含まれています。このマトリックスを使用すると、図形定義データ点をモデル座標系(MCS)と呼ばれる内部座標系からワールド座標系(WCS)に変換できます。選択された図形を含むブロックの挿入点は、MCS の原点になります。ブロックを作成したときの ユーザ座標系(UCS)の方向によって、MCS の軸の方向が決定されます。

注: この種類のマトリックスを使用する AutoLISP 関数は nentsel 関数だけです。nentselp 関数は、他の AutoLISP 関数および ObjectARX 関数で使用されるものと同様のマトリックスを返します。

4 番目の要素は、選択されたオブジェクトが含まれるブロックの図形名を含むリストです。選択されたオブジェクトがネストされたブロックに含まれている場合(ブロック内のブロック)、選択されたオブジェクトがネストされているすべてのブロックの図形名もリストに含まれます。これは、一番内側のブロックから始まり、図面に挿入されたブロック名が見つかるまで外側のブロックに続きます。

注意

nentsel 関数は、オブジェクトを選択するようユーザに要求します。ユーザが特に要求しない限り、現在の O スナップ モードは無視されます。直前に呼び出した initget 関数でキーワードを定義することにより、nentsel 関数でキーワードが入力できるようになります。

複数のセグメントを使用して 3D ポリラインを作成してから、次の関数をロードして実行し、ポリラインの異なるセグメントを選択してください。線をクリックした後、同じセグメントをもう一度クリックし、従属図形のハンドルを確認してください。また、ライトウェイト ポリラインを使用して、違いを確認してください。

(defun c:subent ()
  (while   
     (setq Ent (entsel "\nPick an entity: "))
     (print (strcat "Entity handle is: " 
          (cdr (assoc 5 (entget (car Ent))))))
   )
   (while   
      (setq Ent (nentsel "\nPick an entity or subEntity: "))
      (print (strcat "Entity or subEntity handle is:  " 
          (cdr (assoc 5 (entget (car Ent))))))
   )
  (prompt "\nDone.")
 (princ)
)