見出し画像

chatGPTを使って、カグメイクを作るvol1

とりあえず、chatGPTで家具モデリングをしようと思います。
とはいえ、もともとやっているのは、エクセル上で家具の設計のもととなる数値を作成→fusion360でpythonで書いたプログラムに送り込む
というものをやってました。
なので、UI周りは全然分かりません。
chatGPTと僕との会話で、なんとなくpythonのライブラリ「pygame」で3Dをfusionを使わずに作って、最後の最後に3DCADソフトに送り込むをやろうと思います。なぜpygameなんだ!とか、色々突っ込みどころはあると思いますが、優しく教えていただけたら幸いです。
以下、コードや長いところ端折りながらやってます。

まず、pygameでいいかどうか聞いてみた。

pythonで2Dで図形描画したいです。ライブラリを教えて下さい。将来的には、その描画した図形を移動させたいです

さんよーさん

Pythonで2Dの図形を描画し、将来的にそれらを移動させるためには、いくつかのライブラリが利用できます。以下に、2D図形描画に適したライブラリをいくつか紹介します。
Matplotlib: Matplotlibは、Pythonでグラフやチャートを描画するための非常に一般的なライブラリです。2D図形を描画し、表示する機能も提供しています。
公式ウェブサイト: https://matplotlib.org/
Tkinter: Tkinterは、Pythonの標準ライブラリで、簡単なGUIアプリケーションを作成することができます。Canvasウィジェットを使用して、2D図形を描画できます。
公式ウェブサイト: https://docs.python.org/3/library/tkinter.html
Pygame: Pygameは、Pythonでゲームやマルチメディアアプリケーションを作成するためのライブラリです。2Dグラフィックスの描画やアニメーション、図形の移動を容易に実現できます。
公式ウェブサイト: https://www.pygame.org/
Processing.py: Processing.pyは、Processingプログラミング言語のPythonバージョンです。2Dおよび3Dグラフィックスの描画とアニメーションに特化しており、図形の移動も簡単に実装できます。
公式ウェブサイト: https://py.processing.org/
これらのライブラリは、それぞれ異なる目的や機能を提供しています。プロジェクトの要件に応じて、適切なライブラリを選択してください。図形を動的に移動させたい場合は、PygameやProcessing.pyが特にお勧めです。

chatGPT

ふむふむ。pygameでいこう!(ここまで1分)

pygameで作りたいです。何からスタートすればいいですか?

さんよーさんの質問

以下、返事です

Pygameでプロジェクトを開始するには、まずPygameをインストールして、基本的なウィンドウを作成し、図形を描画する方法を学びます。以下に、手順を説明します。

  1. Pygameのインストール: コマンドプロンプト(Windows)またはターミナル(macOS/Linux)で、以下のコマンドを実行してPygameをインストールします。

Copy codepip install pygame
  1. 基本的なウィンドウの作成: 最初に、Pygameを使用して基本的なウィンドウを表示する簡単なプログラムを作成します。

pythonCopy codeimport pygame
import sys

# Pygameの初期化
pygame.init()

# ウィンドウの設定
screen = pygame.display.set_mode((800, 600))
pygame.display.set_caption("My Pygame Window")

# メインループ
while True:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit()

    # 画面を更新
    pygame.display.update()

はやー!!もう出来た。VSCODEで実行だー!

chatGPTはすごいです。pygameで作りたいゆーただけなのに既に親切にもサンプル作ってくれてます。早速実行

VSCODE

ここで詰まる。VSCodeでpipが使えない

4-5年前に努力と根性でインストールまでたどり着いたpython、既にPCも3代くらい新しくなってる・・・
前出来たから出来たかと思ったら全然出来なかったです(汗
これもchatGPTに質問

vscodeでpipはどうやって使うんですか?

さんよーさん

Visual Studio Code (VSCode) で pip を使用するには、統合ターミナルを使ってコマンドを実行します。以下の手順で pip を使って Python パッケージをインストールできます。
VSCode を開きます。
統合ターミナルを開くには、メニューバーから「表示」(View)を選択し、「ターミナル」(Terminal)をクリックします。または、Ctrl + ~(Windows)または Control + ~(Mac)キーを押すことでもターミナルを開くことができます。
統合ターミナルで、pip を使って Python パッケージをインストールするためのコマンドを入力します。たとえば、pygame をインストールするには、次のコマンドを入力します。
Copy codepip install pygame
インストールが完了すると、パッケージが利用可能になります。インストールされたパッケージを使ってプロジェクトでコードを書くことができます。
注意: 仮想環境 (virtual environment) を使用している場合は、仮想環境をアクティブにした状態で pip コマンドを実行してください。仮想環境をアクティブにするには、ターミナルで次のコマンドを実行します。

chatGPTの返事

それでも使えない

それでも使えないので、もっかい質問

pipが使えません

さんよーさん

pipが使えない場合、いくつかの原因が考えられます。以下の手順に従って問題を解決してください。
Pythonがインストールされているか確認: コマンドプロンプト(Windows)またはターミナル(macOS/Linux)で以下のコマンドを実行し、Pythonがインストールされているか確認してください。
cssCopy codepython --version
もしくは
cssCopy codepython3 --version Pythonがインストールされていれば、バージョン情報が表示されます。インストールされていない場合は、Pythonをインストールしてください。公式ウェブサイト(https://www.python.org/downloads/ )からダウンロードできます。

chatGPT

それでも使えない・・・

python --versionを入れると、pythonとしか表示されません

さんよーさん

python --versionを実行した際に、「python」としか表示されない場合、Pythonが正しくインストールされていない、または環境変数の設定が正しく行われていない可能性があります。以下の手順を試してみてください。
Pythonの再インストール: Pythonが正しくインストールされていない場合、最新のPythonを公式ウェブサイト(https://www.python.org/downloads/)からダウンロードし、再インストールしてみてください。インストール時に「Add Python to PATH」オプションを選択して、環境変数PATHにPythonを追加します。

chatGPT

使えた!!!!!!!!!!!!

pip install pygame
が動きました。めでたくインストール完了!!!
前はここまでだけで3日くらいかかった気がする(というか1日チャレンジしても全然動かんくてまた数日後チャレンジとか)
30分でインストール終わり!さすがだchatGPT!!

で、次。pygamesで描画するよ!

図形をの座標値は、x1,x2,y1,y2で渡される コンポーネント名も渡される 幾つかの四角形で構成 その後、コンポーネントの移動をマウスドラッグで行いたい pygameでやりたい

chatGPTに質問

Pygameでマウスドラッグで複数の四角形を移動させるプログラムを作成する方法を説明します。まず、図形の座標とコンポーネント名を格納するデータ構造を用意し、マウスイベントを処理して四角形を移動させる処理を追加します。
以下に、サンプルコードを示します。
~以下、コード

chatGPTの返事

なんと…もう出来てる・・・・

やばい。すでに動いた。
こんなことあるんか・・・
次に、このpygamesで動かしたら、元のファイルも連動するように作れるのか聞いてみよう・・・

エクセルファイルと相互に連動するようには出来ますか?

さんよーさんの質問

エクセルファイルとPygameプログラムを相互に連動させることは可能です。pandasopenpyxlなどのPythonライブラリを使用して、エクセルファイルを読み書きすることができます。エクセルファイルから四角形の座標を読み込み、Pygameで描画し、座標が変更されたときにエクセルファイルを更新する例を示します。
まず、エクセルファイルを扱うためにpandasをインストールします。ターミナルで以下のコマンドを実行してください。
~~以下、コードがかかれている
次に、エクセルファイル(例:shapes.xlsx)を用意し、以下のような形式でデータを入力します。
エクセル表を自動で作ってくれてる
以下に、エクセルファイルとPygameプログラムを連動させるサンプルコードを示します。
~以下、コード続く

chatGPTの返事

出来た・・・画像いじったらエクセルも変動する・・・ここまでインタラクティブじゃなくていいから、終わってボタンぽちったらそのデータに変更になるだけですげー事になる・・・

もう、エクセル卒業してpygameで数値まで入れたらいいかもしれん・・・

もう脱エクセルしたいなって思って、家具アプリにすぐいけるか、タブでGO出来るか聞いてみた・・・

pygameのウインドウで、タブを使う事は出来ますか?

さんよーさん

Pygameはゲームやグラフィックアプリケーション向けのライブラリであり、タブのようなウィジェットはネイティブでサポートされていません。ただし、pygame_guiという外部ライブラリを使用することで、Pygame上でタブを含むGUI要素を実装することができます。
まず、pygame_guiライブラリをインストールします。

chatGPT

その後、長々と文章が続きます。
が、基本的には得意じゃないみたいなので、画面遷移で実現した方が良さげですね。ただ、これはもうここで終わりにしました。とりあえず、画像をいじるようにしましょう。

とりあえず第一回まとめ

いかがですか?プログラミング出来ない人にとってはちんぷんかんぷんですが、今後出来上がっていくかもしれないので、是非見てみてくださいね~。


サポートをお願いします!サポートいただいた分だけはお返し出来るようにアウトプットしていこうと思います!