投稿

ラベル(アドイン)が付いた投稿を表示しています

Unity建築VR-BIM電気工事積算アドイン

# Unity建築VRをBIMとして使用した電気工事積算アドイン  以下は、Unityで作成した建築VR環境をBIMとして利用し、電気工事の積算を行うアドインの基本的なソースコードです。このコードは、Unityで動作するC#スクリプトとして実装できます。  ## 基本構造   ```csharp using UnityEngine; using System.Collections.Generic; using System.Linq; // 電気設備アイテムの基本クラス public abstract class ElectricalItem : MonoBehaviour { public string ItemID { get; set; } public string ItemName { get; set; } public string Specification { get; set; } public float UnitCost { get; set; } public float Quantity { get; set; } public float TotalCost => UnitCost * Quantity; public abstract void CalculateQuantity(); } // 電線クラス public class ElectricalWire : ElectricalItem { public float Length { get; set; } public override void CalculateQuantity() { // 電線の長さを計算(VR空間での距離を実寸に変換) Length = Calculate3DLength(); Quantity = Length; } private float Calculate3DLength() { // ここでVR空間内の電線の経路長を計算 // 例: LineRendererを使用している場合 ...

Android用Obsidianのソースコード文法チェック・修正アドイン

以下はAndroidのObsidianでも動作する、軽量なコード文法チェックアドインの実装です。このバージョンではシンプルな正規表現ベースのチェックを使用します。  ## Android対応版コードチェックアドイン  ### `main.ts` (メインアドインファイル) ```typescript import { App, Editor, MarkdownView, Modal, Notice, Plugin, PluginSettingTab, Setting } from 'obsidian'; interface CodeLinterSettings { autoFix: boolean; checkForSemicolons: boolean; checkConsoleLog: boolean; } const DEFAULT_SETTINGS: CodeLinterSettings = { autoFix: true, checkForSemicolons: true, checkConsoleLog: true } export default class CodeLinterPlugin extends Plugin { settings: CodeLinterSettings; async onload() { await this.loadSettings(); this.addCommand({ id: 'lint-current-code', name: 'Lint current code block', editorCheckCallback: (checking: boolean, editor: Editor, view: MarkdownView) => { if (checking) { return !!this.getCodeBlockRange(editor); } ...

RevitとExcel積算ソフト連携アドインのサンプルコード

# RevitとExcel積算ソフト連携アドインのサンプルコード  以下は、RevitとExcelを連携させるためのアドインの基本的なサンプルコードです。 この例では、Revitから電気設備要素を抽出し、Excelに出力する機能を実装しています。   ## 必要な環境  - Revit API  - .NET Framework 4.8   - Microsoft Office Interop Excel   - Visual Studio   ## C#サンプルコード using System; using System.Collections.Generic; using System.Linq; using Autodesk.Revit.DB; using Autodesk.Revit.DB.Electrical; using Autodesk.Revit.UI; using Autodesk.Revit.Attributes; using Microsoft.Office.Interop.Excel; namespace RevitExcelIntegration { [Transaction(TransactionMode.Manual)] public class ExportToExcel : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { // Revitドキュメントを取得 UIDocument uiDoc = commandData.Application.ActiveUIDocument; Document doc = uiDoc.Document; try { // 電気設備要素を収集...

Revitのレンダリング高速化アドインのCythonソースコード

# Cythonを使用したRevitアドインのレンダリング高速化 以下は、Cythonを使用してRevit APIのレンダリング処理を高速化するアドインのサンプルコードです。この例では、簡単なジオメトリ処理を高速化するデモンストレーションを行います。 ## 必要な準備 1. Revit API (RevitPythonShellまたはpyRevit環境) 2. CythonがインストールされたPython環境  3. Visual Studioまたは適切なC/C++コンパイラ  ## プロジェクト構成 RevitRenderingOptimizer/ │ ├── rendering_optimizer/ # メインアドインディレクトリ │ ├── __init__.py │ ├── core.pyx # Cythonコード │ ├── setup.py # Cythonビルド設定 │ └── utils.py # ユーティリティ関数 │ ├── commands/ # Revitコマンド定義 │ └── optimize_rendering.py │ └── lib/ # コンパイル済みライブラリ ## コード実装  ### 1. Cythonコード (core.pyx) ```cython # cython: language_level=3 # distutils: define_macros=NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION import numpy as np cimport numpy as np from libc.math cimport sqrt, fabs, pow # 3Dポイントの型定義 ctypedef struct Point3D: double x double y double z # 距離計算関数 (Cython高速化版) cdef double distance_3d_cython(Point3D a, Point3D b) nogil: cdef double dx = a.x - b.x cdef double dy = a.y - b.y cdef double dz = a.z - b.z ...

SAP電材在庫管理アドインのABAP GUIソースコード例

# SAP電材在庫管理アドインのABAP GUIソースコード例 以下は、SAPシステムに電材在庫管理機能を追加するためのABAP GUIプログラムの基本的な例です。このプログラムは在庫照会、入出庫登録、在庫移動などの基本機能を提供します。 ```ABAP *&---------------------------------------------------------------------* *& Report ZELEC_INVENTORY_MGMT *& *&---------------------------------------------------------------------* *& *& 電材在庫管理システム - メイン画面 *& *&---------------------------------------------------------------------* REPORT ZELEC_INVENTORY_MGMT. * データ型定義 TYPES: BEGIN OF TY_MATERIAL, MATNR TYPE MATNR, " 材料番号 MAKTX TYPE MAKTX, " 材料説明 WERKS TYPE WERKS_D, " プラント LGORT TYPE LGORT_D, " 倉庫 LABST TYPE LABST, " 在庫数量 MEINS TYPE MEINS, " 基本単位 END OF TY_MATERIAL. * データ定義 DATA: GT_MATERIAL TYPE TABLE OF TY_MATERIAL, GS_MATERIAL TYPE TY_MATERIAL, GT_DISPLAY TYPE TABLE OF TY_MATERIAL, GS_DISPLAY TYPE TY_MATERIAL. DATA: OK_CODE TYPE SY-UCOMM, SAVE_OK TYP...

無料で利用できるERP10選とそれぞれのアドインのソースコードの例

【ChatGPT o4-mini-highへの質問】 あなた: 無料で利用できるERP10選とそれぞれのアドインのソースコードの例を書いて。 【ChatGPTからの回答】 思考時間: 6 秒 以下に、無料で利用できる代表的なオープンソースERP 10 選と、それぞれのアドイン(拡張モジュール)の簡易サンプルコード例を示します。 1. Odoo Community Edition Python で書かれた最も人気のあるオープンソースERP。アドインは「モジュール」と呼ばれ、__manifest__.py とモデル・ビューの定義で構成します。 ```python # my_module/__manifest__.py { 'name': 'My Custom Module', 'version': '1.0', 'summary': '顧客にVIPフラグを追加', 'depends': ['sale', 'account'], 'data': ['views/res_partner_view.xml'], } # my_module/models/res_partner.py from odoo import models, fields class ResPartner(models.Model): _inherit = 'res.partner' is_vip = fields.Boolean(string='VIP顧客', default=False) ``` ```xml res.partner.form.vip res.partner ``` 2. ERPNext (Frappe フレームワーク) Python+JavaScript ベースのERP。カスタムアプリを作成し、hooks.py でフックを定義します。 ```python # frappe-bench/...

Helios Link 2024

Helios Link 2024 | Revit | Autodesk App Store

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`) が...

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

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