Oleg

Ответы в темах

Просмотр 15 сообщений - с 1 по 15 (из 21 всего)
  • Автор
    Сообщения
  • #5551 Score: 3
    Oleg
    Участник
    28 pts

    Можете попробовать так:

    OUT=('{}'.format(i) for i in IN[0])

    #7244 Score: 3
    Oleg
    Участник
    28 pts

    Просьба поделиться командами для извлечения содержимого из Текстовых примечаний и внесения нового содержимого в имеющиеся в проекте.

    Несмотря на язык приложения, получить текст можно через python таким образом (в этом примере я получил текст, который выделил):

    А изменить выделенный текст на новый получилось таким способом:

    #5514 Score: 2
    Oleg
    Участник
    28 pts

    попробуйте так:

    OUT = [str(i) for i in IN[0]]

    #7237 Score: 2
    Oleg
    Участник
    28 pts

    Можно с помощью словарика провернуть, например:

    #5553 Score: 2
    Oleg
    Участник
    28 pts

    Вы можете воспользоваться встроенной функцией пайтона – enumerate(), и тогда не нужен range

    #5992 Score: 1
    Oleg
    Участник
    28 pts

    Наверное, имелось ввиду инструмент Соединить из Revit?

    Если да, то Почитайте эту тему

    Автоматизация команд из блока. Revit – Изменить – Геометрия

    #7434 Score: 1
    Oleg
    Участник
    28 pts

    /*
    * Created by SharpDevelop.
    * User: Oleg
    * Date: 03.02.2018
    * Time: 9:54
    *
    * To change this template use Tools | Options | Coding | Edit Standard Headers.
    */
    using System;
    using Autodesk.Revit.UI;
    using Autodesk.Revit.DB;
    using Autodesk.Revit.UI.Selection;
    using System.Collections.Generic;
    using System.Linq;
    namespace test
    {
    [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
    [Autodesk.Revit.DB.Macros.AddInId("23D2EA92-8C3D-4105-8EC6-7C75A84F4358")]
    public partial class ThisApplication
    {
    private void Module_Startup(object sender, EventArgs e)
    {
    }
    private void Module_Shutdown(object sender, EventArgs e)
    {
    }
    #region Revit Macros generated code
    private void InternalStartup()
    {
    this.Startup += new System.EventHandler(Module_Startup);
    this.Shutdown += new System.EventHandler(Module_Shutdown);
    }
    #endregion
    public void GetBIC()
    {
    UIDocument uidoc = this.ActiveUIDocument;
    Document doc = uidoc.Document;
    var element = doc.GetElement(uidoc.Selection.PickObject(ObjectType.Element, "Выберите элемент"));
    string message = "";
    var e = element.Category.Id.IntegerValue;
    foreach (var bic in Enum.GetValues(typeof(BuiltInCategory))) {
    if (e==(int)bic)
    {
    message = bic.ToString();
    }
    };
    TaskDialog.Show("Bic", message);
    }
    }
    }

    #6018 Score: 1
    Oleg
    Участник
    28 pts

    Осмелюсь предположить, что у вас не стоит галочка “Выбрать закрепленные элементы”

    #5450 Score: 1
    Oleg
    Участник
    28 pts

    Действительно, поторопился)

    Тогда попробуем так:

    #6138 Score: 1
    Oleg
    Участник
    28 pts

    Если обратиться к ReviAPI, то у FilteredElementCollector есть несколько перегрузок:

    Для того, чтобы FilteredElementCollector проходил только по активному виду, достаточно использовать вторую перегрузку, т.е.

    FilteredElementCollector(doc, uidoc.ActiveView.Id)

     

    #5465 Score: 1
    Oleg
    Участник
    28 pts

    Откуда в итоговом списке взялся диапазон 8-30? И почему нет единички в единственном числе?

    Потому что в списке остаются только уникальные значения, без дубликатов. Цифра “1” отсутствует в единственном числе, поскольку в списке есть ещё значения 2,3,4, которые и объединяются в запись “1-4”. С значениями 8-30 та же история. В списке присутствовали значения “8, 9, 10, “10..30”, что дает в короткой записи “8-30”

    #6309 Score: 1
    Oleg
    Участник
    28 pts

    Дык в том то и дело, что цикл не успевает дойти до конца. То есть, запускается цикл, добавляется один элемент и запускается метод соединения -> и получается ошибка, поскольку нет второго элемента же. Пусть цикл завершится и пополнится список, а потом запускай метод соединения между теми элементами, что попали в список после прохода цикла.

    View post on imgur.com

    #6311 Score: 1
    Oleg
    Участник
    28 pts

    Этот код работает только с двумя частями, видимо. У тебя в видео будто просто две стены, не взорванная на части.
    Если попробовать запихнуть множество частей, то ничего не выйдет (может, потребуется проверка на принадлежность частей к одной стене, чтобы эти части не пытались сами с собой соединяться).
    Но у автора этого топика был вопрос именно как соединить две части, поэтому всё работает корректно в этом случае.

    вот пруф)

    View post on imgur.com

    #5534 Score: 1
    Oleg
    Участник
    28 pts

    Я стараюсь ставить такой переключатель в позицию “Значения могут изменяться по экземплярам группы”:

    В этом случае, значение параметра может быть различным для каждого экземпляра группы.

    Но это можно сделать не для всех типов данных(например, для типа данных Длина, Число, Целое, Да/Нет и ещё несколько – нельзя такой переключатель выставить)

    #6653 Score: 1
    Oleg
    Участник
    28 pts

    Как вариант:

    После чего, получаем выборку со всеми параметрами из excel для интересующих элементов Revit, и с ней уже работаем:

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