Grzegorz Brzęczyszczykiewicz, permalink
TL;DR: kaip IronPython + pyrevit paimti globalų kintamąjį?
IronPython Traceback:
Traceback (most recent call last):
File
"C:Users.AppDataRoamingpyRevitExtensionsPyRevitPlus.extensionpyRevitPlus.tabTags.panelTags.stackAlign
Vertically.pushbuttonscript.py", line 67, in <module>
File
"C:Users.AppDataRoamingpyRevitExtensionsPyRevitPlus.extensionpyRevitPlus.tabTags.panelTags.stacklibtags_wrapper.py",
line 232, in tag_align_XY
NameError: global name 'app' is not defined
----- Kantriems -----
IronPython 2.7.7 (2.7.7.0) on .NET 4.0.30319.42000 (64-bit)
Revit 2021+ pyrevit latest,
Skripto gabalas, kuri veikia ir nueina ten, kur reikia:
import pyrevit
import rpw
app = pyrevit._HostApplication()
from tags_wrapper import *
...if app.is_newer_than("2020"): cPos = cTag.Origin # API 2021.1 else: cPos = cTag.Location.Point
'tags_wrapper.py' funkcija, kuri neveikia kaip norėčiau, :
def tag_align_XY(tagType, tagSrc):
"""Main XY allignment routine for elements of given category."""global app # all actions under one transaction if tagSrc.unwrap().GetType() == DB.IndependentTag: ... # čia viskas veikia else: if app.is_newer_than("2020"): starting_pt = tagSrc.Origin # API 2021.1 else: starting_pt = tagSrc.Location.Point
tag_align_XY() papildžius
import pyrevit
app = pyrevit._HostApplication()
veikia, bet gi ne už tai kovojom ...
--
Grzegorz
Chrząszczyrzewoszyce, powiat Łękołody