Sponsored links

【AutoLISP ドリル】作図1 解答編

Sponsored links
AutoLISP
Sponsored links
Jagaimo
Jagaimo

作図するAutoLISPの練習、ユーザー入力された1点から雪だるまを作る問題の解答編です。

Sponsored links

解答

点座標編集して2点目の中心点を出す場合

(defun c:test ( / Pt1 Pt2)
  (setq Pt1 (getpoint))
  
    (setq Pt2 
       (list 
            (car Pt1)
            (+ 90 (cadr Pt1))
            0
       );list
    );setq Pt2  
  
  (command-s "._CIRCLE" Pt1 50)
  (command-s "._CIRCLE" Pt2 40)

(princ))

コマンド MOVE[移動]を使う場合

ユーザー入力点に2つ円を書いて、半径40の円を上に90移動コマンドを使って移動させる方法もあります。こちらの方がシンプルですね。

entlast はその直前に作成された図形を得る関数です。

(defun c:test ( / Pt)

  (setq Pt (getpoint))
  
  (command-s "._CIRCLE" Pt 50)
  (command-s "._CIRCLE" Pt 40)
  
  (command-s "._MOVE" (entlast) "" "0,0" "0,90")
  (princ))

参考記事

関数 getpoint を使ってユーザがクリックした所の点座標を得る方法について。

AutoCAD コマンドをAutoLISPで使う方法について。

AutoCAD コマンドをAutoLISPで使う方法のVisual Lispバージョン。

getpoint で得た1つ目の点を編集して、2つ目の円の中心点を出す方法について。

関数 entlast について

ドリル記事一覧

Comments