Считать глобальный параметр проекта и считать содержание текстового файла

Главная Форумы Задать вопрос Считать глобальный параметр проекта и считать содержание текстового файла

В этой теме 4 ответа, 2 участника, последнее обновление  Legantmar 3 мес., 1 неделя назад.

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)
  • Автор
    Сообщения
  • #8836 Score: 0

    Алексей
    Участник

    Коллеги, подскажите пожалуйста:

    1. как  динамо или питоном считать глобальный параметр проекта?
    2. есть ли возможность считать значения из текстового файла, расположенного в интернете(например на яндекс диске)?

    Спасибо!

    #8837 Score: 1

    Legantmar
    Хранитель
    461 pts

    Ответ на 1-ый вопрос:
    globalParam = GlobalParametersManager.FindByName(doc, "Имя параметра") # найдешь ID параметра с указанным именем
    valueGlobalParam = doc.GetElement(globalParam).GetValue().Value # получишь значение

    Ответ на 2-ой вопрос:
    1) яндекс диск не совсем интернет
    2) это виртуальный жесткий диск который синхронизируется с облаком по твоему паролю
    Для считывания значений из текстового файла в интернете, пример:
    import clr, System
    clr.AddReference("System.Net")
    clr.AddReference("System.Net.NetworkInformation")
    import System.Net
    import System.Net.NetworkInformation
    from System.Net import *
    from System.Net.NetworkInformation import *

    wc = System.Net.WebClient()
    text = wc.DownloadString("http://dynamobim.ru//test_params.txt")
    text = text.replace('\r','') # убрали служебный символ в конце строки
    text = text.split('\n') # разделили на строки
    OUT = [i.split(",") for i in text] # разделили по запятым

    #8838 Score: 0

    Алексей
    Участник

    Круто, спасибо, буду пробовать!

    #8839 Score: 0

    Алексей
    Участник

    Какие-то библиотеки надо подключать?

    у меня выдает ошибку

    #8840 Score: 1

    Legantmar
    Хранитель
    461 pts

    конечно
    clr.AddReference('RevitAPI')
    from Autodesk.Revit.DB import *

    clr.AddReference("RevitServices")
    from RevitServices.Persistence import DocumentManager
    doc = DocumentManager.Instance.CurrentDBDocument

    Причем размеры указанные в глобальных параметрах в мм, ты получишь в футах (чтобы примерно перевести футы в мм нужно будет домножить на 304.878 (для точного результата придется округлять)

Просмотр 5 сообщений - с 1 по 5 (из 5 всего)

Для ответа в этой теме необходимо авторизоваться.