How can i get my structural settings?

Hello,

where they are ?

import System
import clr

clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import *

from System.Collections.Generic import *

clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *

clr.AddReference('System')
from System.Collections.Generic import List

clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.GeometryConversion)
clr.ImportExtensions(Revit.Elements)

clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

doc = DocumentManager.Instance.CurrentDBDocument
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
struSettings = StructuralSettings.GetStructuralSettings(doc)


OUT = struSettings

grafik

Like this:

import clr
import sys
sys.path.append('C:\Program Files (x86)\IronPython 2.7\Lib')
import System
from System import Array
from System.Collections.Generic import *
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager 
from RevitServices.Transactions import TransactionManager 

clr.AddReference("RevitAPI")
clr.AddReference("RevitAPIUI")

import Autodesk 
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Structure import StructuralSettings as StruSet
from Autodesk.Revit.UI import *

doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication 
app = uiapp.Application 
uidoc = uiapp.ActiveUIDocument

#######OK NOW YOU CAN CODE########

struSettings = StruSet.GetStructuralSettings(doc)

OUT = struSettings

Sometimes you need to make it clear how you import things. For example if you use DSCore you need to import List from System.Collection.Generic under a specific name to prevent confusion for dynamo/python as List is used in DSCore and in System.Collection.Generic. So you need to import one of them under another name.

1 Like

@leonard.moelders ,

hmmmm… still remaning

Hmm:

image

I use Revit 2019 and IronPython. You are using CPython3, maybe changing it to ironpython solves your problem.

1 Like

@leonard.moelders ,

it works in 2022

grafik

but not in 2023.1.1.

hmmmm… i think because of CPython 3

My newest Revit Version is Revit 2022 so unfortunately i can not help you any further. I looked up the api, but there were no mayor changes regarding your problem. So it seems that CPython3 is causing problems, as you already mentioned.

Can’t you switch to IronPython in Revit 2023?

Edit:

I tried CPython3 in Revit 2022 and it works:

image

Tested in Dynamo Revit version 2023.0.1 it working

2 Likes

@Draxl_Andreas

you have CPython3 errors which are not common, you should try reinstalling Revit 2023

1 Like