π PyNet νλ«νΌ λΈλ¦¬μ§ (MCP)
**PyNet νλ«νΌ λΈλ¦¬μ§ (MCP)**λ AI λͺ¨λΈμ΄ Autodesk λꡬλ₯Ό μ€μκ°μΌλ‘ μ μ΄ν μ μκ² ν΄μ£Όλ μ€ν κ³μΈ΅μ λλ€.
μμ°μ΄ β Python β Autodesk λ°μ€ν¬ν± λꡬ(Navisworks, Revit, AutoCAD)λ₯Ό μ°κ²°νμ¬ AIκ° BIM μν¬νλ‘μ°λ₯Ό μμ¨μ μΌλ‘ μμ±, μ€ν λ° κ°μ ν μ μλλ‘ ν©λλ€.
Navisworks Manage, Revit, AutoCAD ν΅ν©μ μ§μν©λλ€.
μ΄ λΈλ¦¬μ§λ AI λ‘μ§κ³Ό Autodesk λ°μ€ν¬ν± API μ¬μ΄μ μ°κ²° κ³ λ¦¬ μν μ νλ©°, μμ°μ΄λ₯Ό μ¬μ©νμ¬ λμ UI μμ±, μ€ν¬λ¦½νΈ μ€ν λ° BIM νλ‘μΈμ€ μλνλ₯Ό κ°λ₯νκ² ν©λλ€.
π μλ λ°©μ
μ¬μ©μκ° μμ°μ΄λ‘ μμ μ μ€λͺ ν©λλ€.
AIκ° Python μ€ν¬λ¦½νΈλ₯Ό μμ±ν©λλ€.
PyNet Bridgeκ° μ€ν¬λ¦½νΈλ₯Ό κ²μ¦νκ³ μ μ‘ν©λλ€.
PyNet νλ¬κ·ΈμΈμ΄ Autodesk λ΄λΆμμ μ΄λ₯Ό μ€νν©λλ€.
κ²°κ³Όκ° AIμκ² λ°νλ©λλ€.
μ΄κ²μ΄ λ°λ‘ AIλ₯Ό λ¨μν μ±λ΄μμ BIMμ μν μ€ν μμ§μΌλ‘ λ³νμν€λ ν΅μ¬μ λλ€.
Related MCP server: ACP-MCP-Server
π PyNet Bridgeμ κ°λ ₯ν κΈ°λ₯
AI β μμ : AIκ° μμ±ν μ½λλ₯Ό Navisworks/Revit λ΄μ μ€μ μμ μΌλ‘ λ³ν
μ€μκ° μ€ν: BIM νκ²½μ λ²μ΄λμ§ μκ³ μ¦μ μ€ν¬λ¦½νΈ μ€ν
λμ UI μμ±: AIκ° μ¦μμμ λꡬ, λ²νΌ λ° μν¬νλ‘μ°λ₯Ό μμ±νλλ‘ νμ©
μμ μ μΈ ν΅μ : λΉ λ₯΄κ³ μμ μ μΈ λ‘컬 IPC
λͺ¨λΈ μΈμ μλν: λΌμ΄λΈ BIM λͺ¨λΈμμ μ§μ μλ
π οΈ μ€μΉ
β μ΅μ A β μλ μ€μΉ νλ‘κ·Έλ¨ (κΆμ₯)
PowerShellμ μ΄κ³ λ€μμ μ€ννμΈμ:
irm https://raw.githubusercontent.com/rafa2403nunez-droid/PyNetBridge/main/install.ps1 | iexμ΄ μμ μ μλμΌλ‘ λ€μμ μνν©λλ€:
Python 3.10+ μ€μΉ μ¬λΆ νμΈ
PyPIμμ
pynet-mcp-bridgeμ€μΉ (uvλλpipμ¬μ©)μ€μΉλ λͺ¨λ AI ν΄λΌμ΄μΈνΈ μλ κ°μ§ λ° κ΅¬μ±:
Claude Desktop (νμ€ λ° Microsoft Store λ²μ )
Claude Code (VS Code νμ₯ νλ‘κ·Έλ¨ / CLI)
Cline (VS Code νμ₯ νλ‘κ·Έλ¨)
Roo Code (VS Code νμ₯ νλ‘κ·Έλ¨)
pynet-mcp-bridge ν¨ν€μ§ ꡬμ±:
ν¨ν€μ§ | λͺ©μ |
pynet-mcp-bridge | AI λͺ¨λΈκ³Ό Autodesk Navisworksλ₯Ό PyNETμ ν΅ν΄ μ°κ²°νλ MCP μλ² |
mcp[cli] | Model Context Protocol SDK λ° CLI λꡬ |
fastmcp | κ³ μμ€ MCP μλ² νλ μμν¬ |
psutil | μμ€ν νλ‘μΈμ€ κ°μ§ (μ€ν μ€μΈ Autodesk μΈμ€ν΄μ€ μ°ΎκΈ°) |
μ€μΉ ν λ³κ²½ μ¬νμ μ μ©νλ €λ©΄ AI ν΄λΌμ΄μΈνΈλ₯Ό λ€μ μμνμΈμ.
π¦ Python λΌμ΄λΈλ¬λ¦¬ μ€νν° ν© (μ ν μ¬ν)
PyNETμ μ¬μ©ν Navisworks/Revit μ€ν¬λ¦½ν μ μν΄ κΆμ₯λλ Python λΌμ΄λΈλ¬λ¦¬λ₯Ό μ€μΉνμΈμ:
irm https://raw.githubusercontent.com/rafa2403nunez-droid/PyNetBridge/main/install-libraries.ps1 | iexμ€μΉλλ νλͺ©:
λΌμ΄λΈλ¬λ¦¬ | λͺ©μ |
pandas | λ°μ΄ν° λΆμ λ° μ‘°μ |
plotly | λνν μ°¨νΈ λ° μκ°ν |
matplotlib | μ μ νλ‘― λ° κ·Έλν |
dash | Python κΈ°λ° μΉ λμ보λ |
μ΄ λΌμ΄λΈλ¬λ¦¬λ€μ νμ©λ Python μν¬νΈμ λμ΄λ νμ¬ λΌμ΄λΈλ¬λ¦¬μ λλ€. νμ€ λΌμ΄λΈλ¬λ¦¬ λͺ¨λ(
json,sys,reλ±)μ Pythonμ μ΄λ―Έ ν¬ν¨λμ΄ μμ΅λλ€.
νμ 쑰건
Navisworks/Revitμ PyNet νλ«νΌ νλ¬κ·ΈμΈ μ€μΉ.
Python 3.10 μ΄μ β python.org
β οΈ Python 3.14λ μμ§ μ§μλμ§ μμ΅λλ€.
pythonnetλ°νμμ νμ¬ Python 3.7λΆν° 3.13κΉμ§ μ§μν©λλ€. μ§μλμ§ μλ ABI λ²μ μ μΈκΈνλSystem.NotSupportedExceptionμ΄ λ°μνλ©΄ Python 3.12 λλ 3.13μ μ€μΉνκ³ PyNetμ΄ μ΄λ₯Ό μ¬μ©νλλ‘ κ΅¬μ±νμΈμ.uv β docs.astral.sh/uv
Git β git-scm.com β VS Code νμ₯ νλ‘κ·Έλ¨(Claude Code, Cline, Roo Code)μ΄ μ¬λ°λ₯΄κ² μλνκΈ° μν΄ νμν©λλ€.
Cline / Roo Code μ¬μ© μ: VS Code β code.visualstudio.com
π§ μ΅μ B β μλ μ€μΉ
1. ν¨ν€μ§ μ€μΉ:
uv tool install pynet-mcp-bridgeλλ pip μ¬μ©:
pip install pynet-mcp-bridge2. Claude Desktop ꡬμ±:
claude_desktop_config.jsonμ λ€μμ μΆκ°νμΈμ:
νμ€:
%APPDATA%\Claude\claude_desktop_config.jsonMicrosoft Store:
%LOCALAPPDATA%\Packages\Claude_*\LocalCache\Roaming\Claude\claude_desktop_config.json
{
"mcpServers": {
"pynet-bridge": {
"command": "pynet-bridge",
"args": []
}
}
}3. Claude Code (VS Code νμ₯ νλ‘κ·Έλ¨) ꡬμ±:
%USERPROFILE%\.claude.jsonμ μΆκ°νμΈμ:
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}4. Cline ꡬμ±:
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.jsonμ μΆκ°νμΈμ:
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}5. Roo Code ꡬμ±:
%APPDATA%\Code\User\globalStorage\rooveterinaryinc.roo-cline\settings\mcp_settings.jsonμ μΆκ°νμΈμ:
{
"mcpServers": {
"pynet-bridge": {
"type": "stdio",
"command": "pynet-bridge",
"args": []
}
}
}π οΈ μ¬μ© κ°λ₯ν MCP λꡬ
μ΄ λꡬλ€μ AIκ° UI μμ±λΆν° μ€ν¬λ¦½νΈ μ€ν λ° μμ€ν λͺ¨λν°λ§μ μ΄λ₯΄κΈ°κΉμ§ PyNet νκ²½μ μμ ν μ μ΄ν μ μκ² ν©λλ€. μ°κ²°λλ©΄ AIλ μ 체 PyNet λꡬ λͺ¨μμ μ‘μΈμ€ν μ μμ΅λλ€:
π§ AIμκ² λ ΈμΆλ ν΅μ¬ κΈ°λ₯
π μμ€ν λ° μ°κ²°
list_active_instances: νμ± PyNet μ°κ²°μ΄ μλ μ€ν μ€μΈ Autodesk νλ‘μΈμ€λ₯Ό μμ€ν μμ κ²μν©λλ€.
check_plugin_status: νλ¬κ·ΈμΈ 리μ€λκ° μλ΅νλμ§ νμΈνκΈ° μν νΈλμ °μ΄ν¬ νμ λλ€.
ποΈ λͺ¨λ (ν) κ΄λ¦¬
get_pynet_ui_layout: μ 체 UI ꡬ쑰(ButtonsModules λ° ScriptButtons)λ₯Ό κ°μ Έμ΅λλ€.
create_pynet_module: 리본μ μλ‘μ΄ μ¬μ©μ μ§μ ν(ButtonsModule)μ μμ±ν©λλ€.
delete_pynet_module: λͺ¨λκ³Ό κ·Έ μμ λͺ¨λ λ΄μ©μ μꡬμ μΌλ‘ μμ ν©λλ€.
π λ²νΌ κ΄λ¦¬
get_buttons_data: νΉμ λͺ¨λ IDμ λν λͺ¨λ μ€ν¬λ¦½νΈ λ²νΌμ λμ΄ν©λλ€.
deploy_script_button: νΉμ λͺ¨λμ μλ‘μ΄ ScriptButtonμ μ€μΉν©λλ€(μ΄λ¦, μ€ν¬λ¦½νΈ, μμ΄μ½, ν΄ν).
update_script_button: κΈ°μ‘΄ ScriptButtonμ λ©νλ°μ΄ν°λ₯Ό μ λ°μ΄νΈνκ±°λ λ€λ₯Έ λͺ¨λλ‘ μ΄λν©λλ€.
delete_script_button: IDλ₯Ό μ¬μ©νμ¬ λͺ¨λμμ ScriptButtonμ μꡬμ μΌλ‘ μ κ±°ν©λλ€.
π» μ€ν λ° μ½μ μ μ΄
send_command: PyNet μμ§μμ μ§μ μ€ν¬λ¦½νΈλ₯Ό μ€νν©λλ€(λμ PID, μ€ν¬λ¦½νΈ μ΄λ¦, λ΄μ©).
get_output_window_status: μΆλ ₯ μ°½μ νμ¬ μ¬μ©ν μ μλμ§/νμλλμ§ νμΈν©λλ€.
configure_output_window: PyNet λ‘κ·Έ/μΆλ ₯ μ°½μ νμ μ¬λΆλ₯Ό μ νν©λλ€.
π‘οΈ μμ ν AI μ€ν
PyNet Bridgeμλ AIκ° μμ±ν λͺ¨λ μ€ν¬λ¦½νΈκ° μ€ν μ μ μμ νκ³ μ μ΄λ μνμΈμ§ νμΈνλ λ΄μ₯ κ²μ¦ κ³μΈ΅μ΄ ν¬ν¨λμ΄ μμ΅λλ€.
β μμ νμ§ μμ μμ λ°©μ§ β μΉμΈλμ§ μμ μμ€ν μ‘μΈμ€ μ°¨λ¨ β BIM λͺ¨λΈκ³Όμ μ μ΄λ μνΈ μμ© λ³΄μ₯
AIλ κ°λ ₯ν¨μ μ μ§νλ, μμ ν κ²½κ³ λ΄μμ μλν©λλ€.
v1.1.1λΆν° MCP μλ²μλ Autodesk νΈμ€νΈμ λλ¬νκΈ° μ μ λͺ¨λ μ€ν¬λ¦½νΈλ₯Ό κ²μ¦νλ λ΄μ₯ μ μ λΆμκΈ°κ° ν¬ν¨λμ΄ μμ΅λλ€. λͺ¨λ μ€ν¬λ¦½νΈλ λΈλ¦¬μ§ μμ€μμ ꡬ문 λΆμ λ° κ²μ¬λλ©°, κ±°λΆλ μ€ν¬λ¦½νΈλ MCP μλ²λ₯Ό μ λ λ λμ§ μμ΅λλ€.
νμ©λ CLR μ΄μ λΈλ¦¬
clr.AddReferenceλ₯Ό ν΅ν΄ λ€μ .NET μ°Έμ‘°λ§ νμ©λ©λλ€:
곡ν΅:
System,System.Windows.Forms,System.Drawing,System.Collections.GenericNavisworks:
Autodesk.Navisworks.Api,.ComApi,.Interop.ComApi,.ClashRevit:
RevitAPI,RevitAPIUIAutoCAD / Civil 3D:
AcMgd,AcCoreMgd,AcDbMgd,AecBaseMgd,AecPropDataMgd,AeccDbMgdPyNet νλ¬κ·ΈμΈ:
Raen.Core.Pynet.*,Raen.{Product}.Pynet.*(λͺ¨λ λ²μ β μ:Raen.Core.Pynet.Resources,Raen.Navisworks.Pynet.2024,Raen.Civil3D.Pynet.2026)
νμ©λ Python μν¬νΈ
clr, sys, json, re, time, datetime, pathlib, typing, threading, collections, xml, pandas, plotly, matplotlib, dash, webbrowser, psutil, functools
νμ©λ Python νμ λͺ¨λ
μΌλΆ λͺ¨λμ νμ λͺ¨λ μμ€μμλ§ νμ©λμ΄ μνν μμμ λν μ‘μΈμ€λ₯Ό λ°©μ§ν©λλ€:
νμ©λ¨ | μ°¨λ¨λ¨ | μ΄μ |
|
| λ‘컬 HTTP μλΉ νμ©, μμλ°μ΄λ μμ² μ°¨λ¨ |
μ°¨λ¨λ Python μν¬νΈ
os, subprocess, shutil, socket, ctypes, pickle, importlib, urllib, signal, multiprocessing, tempfile, glob, inspect, code, codeop
μ°¨λ¨λ νΈμΆ
eval, exec, compile, __import__, getattr, setattr, delattr, globals, locals, vars, breakpoint, open
μ°¨λ¨λ μμ± μ‘μΈμ€
__builtins__, __subclasses__, __globals__, __code__
μ΄ κ·μΉμ μλ°νλ λͺ¨λ μ€ν¬λ¦½νΈλ νλ¬κ·ΈμΈμΌλ‘ μ μ‘λμ§ μκ³ μ¦μ μ€λͺ μ€λ₯ λ©μμ§μ ν¨κ» κ±°λΆλ©λλ€.
π νλ‘μ νΈ κ΅¬μ‘°
pynet_mcp/: ν΅μ¬ MCP μλ² λ‘μ§ (FastMCP).
pyproject.toml: ν¨ν€μ§ κ΅¬μ± λ° μ’ μμ± κ΄λ¦¬.
π₯ μμνκΈ°
λͺ λΆ μμ μμ¨μ μΈ BIM μν¬νλ‘μ° κ΅¬μΆμ μμνμΈμ.
λΈλ¦¬μ§λ₯Ό μ€μΉνκ³ , AI ν΄λΌμ΄μΈνΈλ₯Ό μ°κ²°νκ³ , μμ°μ΄λ₯Ό λͺ¨λΈ λ΄μ μ€μ μμ μΌλ‘ λ³ννμΈμ.
β μμ£Ό 묻λ μ§λ¬Έ (FAQ)
μ€μΉ, κ΅¬μ± λλ μ¬μ©μ λν΄ κΆκΈν μ μ΄ μμΌμ κ°μ? μ 체 FAQ νμ΄μ§λ₯Ό νμΈνμΈμ:
π PyNet FAQ
π μ΄ MCPκ° μνκ³μ μ ν©ν λ°©μ
μ΄ MCPλ Autodesk λꡬ μ λ°μ κ±Έμ³ AI κΈ°λ° BIM μλνλ₯Ό κ°λ₯νκ² νλλ‘ μ€κ³λ λͺ¨λν μμ€ν μ μΌλΆμ λλ€.
μ΄ μ μ₯μλ λ€μ λꡬμ ν¨κ» μλνλλ‘ μ€κ³λμμ΅λλ€:
PyNet νλ«νΌ β Python.NETμ ν΅ν΄ Navisworks, Revit λ° Civil 3D λ΄μμ μ€ν¬λ¦½νΈλ₯Ό μ€νν©λλ€.
PyNet λΌμ΄λΈλ¬λ¦¬ β Python μ€ν¬λ¦½νΈ λΌμ΄λΈλ¬λ¦¬λ‘ AIμκ² μ»¨ν μ€νΈλ₯Ό μ 곡ν©λλ€.
μ΄ κ΅¬μ± μμλ€μ ν¨κ» λ€μμ κ°λ₯νκ² ν©λλ€:
μμ°μ΄ β AI β Python μ€ν¬λ¦½νΈ β PyNet β Autodesk β BIM μμ
κ΅¬μ± μμ | μ μ₯μ | λͺ©μ |
PyNet νλ«νΌ | Navisworks, Revit λ° Civil 3D νλ¬κ·ΈμΈ β Python.NET μμ§ νΈμ€ν | |
PyNet λΈλ¦¬μ§ (MCP) | μ΄ μ μ₯μ | MCP μλ² - μμ ν μ€ν¬λ¦½νΈ κ²μ¦μ ν¬ν¨νμ¬ AI λͺ¨λΈμ PyNETμ μ°κ²° |
PyNet λΌμ΄λΈλ¬λ¦¬ | μ€ν¬λ¦½νΈ μ°Έμ‘° λΌμ΄λΈλ¬λ¦¬ λ° AI 컨ν μ€νΈ |
π λΌμ΄μ μ€
μ΄ νλ‘μ νΈλ MIT λΌμ΄μ μ€μ λ°λΌ λΌμ΄μ μ€κ° λΆμ¬λ©λλ€.
Maintenance
Latest Blog Posts
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Rafael-NunezDeArenas/PyNetBridge'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
