반응형
▣ Get the parameter name of the currently active model
- Instead of c.parameter_list(), use creopyson.parameter.list_(c, file_="model name") for stable operation.
- file_get_active() → Check the currently active model.
- file_list() → Check all open models.
- parameter.list_() → Retrieve the model's parameter names/values.
Python code :
import creopyson
from creopyson import parameter as cr_param # Module function direct usage
def _clean_dirname(d):
if not d:
return d
# Correct duplicate drive notation like 'C:C:/'
return d.replace("C:C:/", "C:/").replace("C:C:\\", "C:\\").replace("C::", "C:")
c = None
try:
c = creopyson.Client()
c.connect()
if not c.is_creo_running():
print("Creo is not running.")
else:
# Check active model
active = c.file_get_active()
if not active:
print("No active model found.")
else:
file_name = active.get("file")
dirname = _clean_dirname(active.get("dirname", ""))
print(f"Active model: {{'file': '{file_name}', 'dirname': '{dirname}'}}")
# ✅ Retrieve parameter list (using module function)
params = cr_param.list_(c, file_=file_name)
if params:
print("List of Parameter names:")
for p in params:
name = p.get("name", "(Unnamed)")
print(f"- {name}")
else:
# Additional existence check (some environments return empty lists despite existing parameters)
exists_any = cr_param.exists(c, file_=file_name)
if exists_any:
print("⚠️ Parameters exist but list retrieval is empty. Please check your Creoson/Creo version.")
else:
print("No parameters in the model.")
except Exception as e:
print(f"An error occurred: {e}")
finally:
if c:
c.disconnect()
print("Disconnected from Creo.")
(I'm still learning Python, so the code isn't optimized.)
Execution results:

by korealionkk@gmail.com

반응형
'업무 자동화 > python & CAD' 카테고리의 다른 글
| Get dimensions from a Creo model #1 (0) | 2025.09.07 |
|---|---|
| Get Feature Names from Creo Models (0) | 2025.09.06 |
| Creo & Python] Get creo file name (0) | 2025.09.05 |
| CREOSON-Creo 9기준] 설치 및 환경 설정 (0) | 2025.09.04 |
| Creo와 Python] CREOSON 이란? (0) | 2025.09.04 |