投稿

ラベル(Pyrevit)が付いた投稿を表示しています

Revit電材積算アドオンプログラム設計(Gemini版)

GeminiにDeep Seekが提示したコードの判定をしてもらった。 【以下はGeminiの回答】 ご提示のソースコードにはいくつかの潜在的な問題点と改善点があります。以下に修正点とソースコード全体を示します。 **修正点と改善点:** 1. **Google Lens APIの非存在:** `analyze_with_google_lens` 関数内で Google Lens API を呼び出す処理がコメントアウトされています。実際には Google Lens の公式 API は公開されていません。代替手段として、OCR (Optical Character Recognition) ライブラリ (例: `pytesseract`) を使用して画像からテキストを抽出し、そのテキストに基づいて製品情報を推測する実装になっています。これは現実的なアプローチですが、精度は画像の品質やテキストの配置に依存します。`pytesseract` を使用するには別途インストールが必要です (`pip install pytesseract Pillow`). また、Tesseract OCR エンジンもインストールし、パスを設定する必要があります。 2. **スクレイピングの脆弱性:** `scrape_material_data` 関数で行っているスクレイピングは、Webサイトの構造が変更されると動作しなくなる可能性があります。また、robots.txt に従うべきであり、過度なアクセスはサーバーに負荷をかける可能性があります。より堅牢なデータ収集のためには、API が提供されている場合は API の利用を検討するか、特定のWebサイトに特化したスクレイピングロジックを実装する必要があります。 3. **仮想的な Revit API:** `revit_api` モジュールは仮想的なものであり、実際の Revit API との連携機能はありません。Revit API を操作するには、`pyrevit` などの Python ラッパーを使用する必要があります。このコードでは、仮想的な関数 (`revit_api.create_family`, `revit_api.link_estimation_data`, `revit_api.run_estimation`) が...

Revit電材積算アドオンプログラム設計

【Deep Seekへの質問】 ①ユーザーがGoogleレンズのAIで電材の写真を読み取らせる。 ②電材のデータをスクレーピングさせる。 ③スクレーピングした電材のデータから自動でファミリを作らせる。 ④ファミリに積算用データを紐付けさせる。 以上の作業を自動で行い、Revitの積算を行うアドオンをPythonのGUIプログラムで書いて。 # Revit電材積算アドオンプログラム設計 【Deep Seekの回答】 以下は、Google Lensを利用した電材データ収集からRevitでの積算までを自動化するPython GUIプログラムの設計案です。 ```python import tkinter as tk from tkinter import ttk, filedialog, messagebox import requests from bs4 import BeautifulSoup import pyautogui import time import os from PIL import Image import pyperclip import json import revit_api # 仮想的なRevit APIラッパー class ElectricalMaterialEstimator: def __init__(self, root): self.root = root self.root.title("電材積算アドオン") self.root.geometry("800x600") # 変数初期化 self.image_path = tk.StringVar() self.material_data = {} self.family_data = {} # GUIコンポーネント作成 self.create_widgets() def create_widgets(self): # タブコントロール tab_control = ttk.Notebook(s...

pyRevit その2 はじめてのアドイン

イメージ
pyRevit その2 はじめてのアドイン pyRevit その2 はじめてのアドイン|tenten|note pyRevitでは、自作のスクリプトを簡単にボタンにすることができます。C#でいうアプリケーションレベル・アドインというやつです。 VisualStudioを使用するとなかなか大変... note(ノート)