Welcome to Our Company
HOME シェアウェア 講習 リンク

 L2.図形を選択する
   (defun c:ufl00002 ( / ss nn pp1 pp2 en )
   ;選択した図形内の2図形を移動する
    (prompt "\n移動する図形を選択:")
    (setq ss (ssget))
    (setq nn 0)
    (if (/= ss nil)
     (setq nn (sslength ss))
    )
    (if (< nn 3)
     (prompt "\n3個以上の図形を選択して下さい。")
     (progn
      (setq pp1 (list 10.0 10.0 0.0))
      (setq pp2 (list 30.0 20.0 0.0))
      (setq en (ssname ss 0))
      (command "move" en "" "none" pp1 "none" pp2)
      (setq en (ssname ss 2))
      (command "move" en "" "none" pp1 "none" pp2)
     )
    )
    (princ)
   )
  上記AutoLISPファイル(ufl00002.lsp)のダウンロード

 説明
  prompt:メッセージを表示する。
   (prompt "文字列")は文字列をコマンドウィンドウに表示する。
   \nは次の行から表示を行う指定。
  ssget:選択セットを処理する。
   (ssget)は標準的なオブジェクト選択をユーザに要求し、
   そのオブジェクトを選択セットに含める。
   オブジェクトが1つもないときは nil。
  sslength:選択セットのオブジェクト数を得る。
  if:条件により処理を分ける。
   (if (条件)
    (条件を満たす処理)
    (条件を満たさない処理)
   )
   ただし、それぞれの処理の関数が2つ以上となる場合は、
   (if (条件)
    (progn
     (条件を満たす処理)
     (・・・)
    )
    (progn
     (条件を満たさない処理)
     (・・・)
    )
   )
  ssname:選択セット内の指定番目の図形名を取得する。
   (ssname ss 2)は番号が0からのため3番目の図形名。

Presented By ユーザーフレンドリー
E-mail:usrfr@yk.rim.or.jp