AutoLISP で線や円を描きたい
こんにちは、メモだよ!!管理人です。
以前 【AutoCAD】AutoLISP(ActiveX)で円を描く方法 の記事で、ActiveX の AutoLISP を使用して円を描いてみました。
でも、これって初心者には難しそうでしたね。😖
初心者の方は、まずは ActiveX ではない AutoLISP から始めたほうが良さそうな気がしてきました。
そこで、今回は ActiveX ではない AutoLISP で線や円を描く方法を紹介したいと思います。
command 関数を使う
結論からいえば、command 関数というものを使用すれば、簡単に図形を描くことができます。
「関数」ってなに?🧐
「関数」というのは、AutoCAD に伝えることばのようなものです。
AutoCAD に「これこれこうしてくださいね」と伝えることばです。
例えば、command 関数というのは、AutoCAD に「これからいうコマンドを実行してね」というものです。
で、「これからいう」っていうのが引数というもので、関数の後に書くもののことです。
(command "_line" "0,0" "100,100" "")
上記を実行すると、0,0 から 100,100 までの線分を作成することができます。
(実行方法がわからなかったら、【AutoCAD】AutoLISP の実行方法 の記事を見てくださいね。)
「command」が関数で、「"_line" "0,0" "100,100" ""」が引数です。
command 関数は、AutoCAD に「これからいうコマンドを実行してね」というものなので、線分を書く LINE コマンドを実行してほしいので 引数の最初に _line と書かれています。
引数にはどんなものを書いていったらいいのでしょうか?
まずは、手作業で 0,0 から 100,100 までの線分を作成する手順を見ていきましょう。
- [線分]ボタンをクリックする。
- 始点として 0,0 と入力する。
- 終点として 100,100 と入力する。
- コマンドを完了するためにEnterキーを押す。
こんな感じですよね。
この内容を引数に入れていけばいいだけです。
最初の[線分]ボタンをクリックのところは、[線分]ボタンをクリックしたあとにF2キーを押して、テキスト画面に何が表示されているのかを見ます。
![コマンド ラインでコマンド名を確認](https://memodayo.com/wp-content/uploads/2021/09/image-34-1024x327.png)
すると、「コマンド: _line」と表示されているのがわかります。
この「コマンド: 」のあとの文字を入れればいいだけです。(このとき、”” で囲むのを忘れないようにしてくださいね。)
なので、「(command "_line"」となります。
そのあとは、キーボードで入力した 0,0 と 100,100 を書きます。
なので、「(command "_line" "0,0" "100,100"」となります。
最後はEnterキーを押しているのですが、これは何も入力せずにEnterキーを押したというとこなので、単に「""」を書きます。
なので、「(command "_line" "0,0" "100,100" "")」となります。
コツをつかめば簡単でしょ?😄
command のあとに、コマンド名とキーボード入力したものを ”” で囲んで書くだけ!!
こんどは、同じように円を描いてみよう
では、次に円を描いてみましょう。(中心 0,0、半径 50)
まずは、手作業で描くときの手順です。
- [中心、半径]ボタンをクリックします。
- 中心として 0,0 と入力します。
- 半径として50 と入力します。
[中心、半径]ボタンをクリックしたときにF2キーを押すと、「コマンド: _circle」となっているのがわかります。
なので、「(command "_circle"」となります。
つぎに、0,0 と 50 を入力しているので、「(command "_circle" "0,0" "50"」となります。
最後にEnterキーを押しているので、「(command "_circle" "0,0" "50" "")」となります。
コマンド ラインに (command "_circle" "0,0" "50" "") をコピペしてEnterキーを押してみてください。
すると、円が描けたはずです。
ね、簡単でしょ?🤗