<?xml version="1.0" encoding="UTF-8"?>        <rss version="2.0"
             xmlns:atom="http://www.w3.org/2005/Atom"
             xmlns:dc="http://purl.org/dc/elements/1.1/"
             xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
             xmlns:admin="http://webns.net/mvcb/"
             xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
             xmlns:content="http://purl.org/rss/1.0/modules/content/">
        <channel>
            <title>
									Задание параметров элементов в Python - АВТОМАТИЗАЦИЯ				            </title>
            <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/</link>
            <description></description>
            <language>ru-RU</language>
            <lastBuildDate>Tue, 19 May 2026 08:54:32 +0000</lastBuildDate>
            <generator>wpForo</generator>
            <ttl>60</ttl>
							                    <item>
                        <title>НА: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1187</link>
                        <pubDate>Sun, 16 Apr 2023 12:18:17 +0000</pubDate>
                        <description><![CDATA[@muratovbim так о том и речь, что не зная таких базовых вещей пытаться что-то сделать в коде - бесполезная трата времени.]]></description>
                        <content:encoded><![CDATA[<span>@muratovbim так о том и речь, что не зная таких базовых вещей пытаться что-то сделать в коде - бесполезная трата времени.<br /></span>]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>Анастасия Кравцова</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1187</guid>
                    </item>
				                    <item>
                        <title>НА: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1186</link>
                        <pubDate>Sun, 16 Apr 2023 12:09:28 +0000</pubDate>
                        <description><![CDATA[@askravcova, это база!]]></description>
                        <content:encoded><![CDATA[<p>@askravcova, это база!</p>]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>Вадим Муратов</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1186</guid>
                    </item>
				                    <item>
                        <title>НА: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1185</link>
                        <pubDate>Sun, 16 Apr 2023 11:52:23 +0000</pubDate>
                        <description><![CDATA[@tai посмотрите какой-нибудь базовый курс по питону. Ваш путь в корне не верный. Вы разбиваете список, пишете 9 элементов (при этом теряете 1 элемент исходного списка, так как индексация нач...]]></description>
                        <content:encoded><![CDATA[<p>@tai посмотрите какой-нибудь базовый курс по питону. Ваш путь в корне не верный. <br />Вы разбиваете список, пишете 9 элементов (при этом теряете 1 элемент исходного списка, так как индексация начинается с 0), а если будет не 9 элементов, а 90? Тогда что будете делать?<br />Разберитесь с циклами, это совсем не сложно и это база, если хотите писать или использовать скрипты в Dynamo.</p>
<p>На том же степике есть бесплатные курсы по основам программирования</p>]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>Анастасия Кравцова</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1185</guid>
                    </item>
				                    <item>
                        <title>Ответ на: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1184</link>
                        <pubDate>Sun, 16 Apr 2023 10:33:44 +0000</pubDate>
                        <description><![CDATA[Данный код перемещает элементы на указанное смещение относительно своего текущего положения.
Насчет списков, то пробовал подавать и три отдельных списка и один список, в котором три подспис...]]></description>
                        <content:encoded><![CDATA[<p>Данный код перемещает элементы на указанное смещение относительно своего текущего положения.</p>
<p>Насчет списков, то пробовал подавать и три отдельных списка и один список, в котором три подсписка, ни первое, ни второе не получилось.</p>
<p>Задача, которую я решаю, это смещение выделенных воздуховодов и труб так, чтобы между ними было равное расстояние, например 100 мм. Постоянная ситуация, когда по коридору идут куча воздуховдов, труб, какие-то в изоляции, какие-то нет, хочется это все выровнять, но руками это долго. Ниже записал видео как должен работать данный скрипт. </p>
517
<p>Пока не знаю как преобразовать код, чтоб они обрабатывал элементы списком, поэтому пока разбиваю весь список по одному элементу.</p>
<p> </p>
518
<p> </p>]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>TAI</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1184</guid>
                    </item>
				                    <item>
                        <title>НА: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1183</link>
                        <pubDate>Sun, 16 Apr 2023 06:22:43 +0000</pubDate>
                        <description><![CDATA[@tai и что?) один элемент — это один элемент, список — это список, совершенно другой объект. покажите, что подаёте в Питон-скрипт, что там за структура списка
Скорее всего у вас там список ...]]></description>
                        <content:encoded><![CDATA[<p>@tai и что?) один элемент — это один элемент, список — это список, совершенно другой объект. покажите, что подаёте в Питон-скрипт, что там за структура списка</p>
<p>Скорее всего у вас там список из трёх подсписков. Когда вы подаёте подсписок IN и берёте у него свойство Id, то Ревит берёт, естественно, айди у списка. Но список не имеет такого свойства.</p>
<p>если у вас там три равных списка, то можно делать такой цикл</p>
<pre contenteditable="false">TransactionManager.Instance.EnsureInTransaction(doc)

for el, x, y in zip(IN, IN, IN):

    ElementTransformUtils.MoveElement(doc, el.Id, XYZ(x,y,0))

TransactionManager.Instance.TransactionTaskDone()</pre>
<p>Правда, меня тут смущает, что координата Z равно нулю, он ведь вам элементы «опустит» на ноль файла. Вы там что перемещаете?</p>]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>Вадим Муратов</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1183</guid>
                    </item>
				                    <item>
                        <title>Ответ на: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1182</link>
                        <pubDate>Sat, 15 Apr 2023 18:26:31 +0000</pubDate>
                        <description><![CDATA[Тоже над этим думал, но если этот код использовать как есть, подать один элемент и на X, Y по одному числу, то все работаеткак надо, даже с Id]]></description>
                        <content:encoded><![CDATA[<p>Тоже над этим думал, но если этот код использовать как есть, подать один элемент и на X, Y по одному числу, то все работаеткак надо, даже с Id</p>]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>TAI</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1182</guid>
                    </item>
				                    <item>
                        <title>НА: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1181</link>
                        <pubDate>Sat, 15 Apr 2023 18:02:40 +0000</pubDate>
                        <description><![CDATA[@tai Вы пытаетесь взять id у списка. В ошибке написано, что объект список не имеет такого атрибута.]]></description>
                        <content:encoded><![CDATA[@tai Вы пытаетесь взять id у списка. В ошибке написано, что объект список не имеет такого атрибута.]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>Анастасия Кравцова</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1181</guid>
                    </item>
				                    <item>
                        <title>Ответ на: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1180</link>
                        <pubDate>Sat, 15 Apr 2023 08:08:20 +0000</pubDate>
                        <description><![CDATA[Да было б чтоб показывать )
Было много вариантов, но самый первый это просто добавить цикл for и в его тело поместить перемещение (Move) с транзакциями, что-то вроде такого:
import clr# Im...]]></description>
                        <content:encoded><![CDATA[<p>Да было б чтоб показывать )</p>
<p>Было много вариантов, но самый первый это просто добавить цикл for и в его тело поместить перемещение (Move) с транзакциями, что-то вроде такого:</p>
<p><span>import</span> clr<br /><br /><span># Import RevitAPI</span><br />clr.<span>AddReference</span>(<span>"RevitAPI"</span>)<br /><span>import</span> Autodesk<br /><span>from</span> Autodesk.Revit.DB <span>import</span> *<br /><br /><span># Import DocumentManager and TransactionManager</span><br />clr.<span>AddReference</span>(<span>"RevitServices"</span>)<br /><span>import</span> RevitServices<br /><span>from</span> RevitServices.Persistence <span>import</span> DocumentManager<br /><span>from</span> RevitServices.Transactions <span>import</span> TransactionManager<br /><br /><br /><span>#Входные данные для этого узла будут сохранены в виде списка в переменной IN.</span><br />doc =  DocumentManager.Instance.CurrentDBDocument<br />app =  DocumentManager.Instance.CurrentUIApplication.Application<br /><br />dataEnteringNode = IN<br />elementId = IN.Id<br />x = IN<br />y = IN<br /><br /><span>for</span> i <span>in</span> <span>range</span>(<span>len</span>(x)):<br />    TransactionManager.Instance.<span>EnsureInTransaction</span>(doc)<br />    ElementTransformUtils.<span>MoveElement</span>(doc,<span>ElementId</span>(elementId),<span>XYZ</span>(x,y,<span>0</span>))<br />    TransactionManager.Instance.<span>TransactionTaskDone</span>()<br /><br /><span># Присвоите свой вывод переменной OUT.</span><br />OUT = <span>0</span></p>
<p> </p>
<p>Длины списков одинаковые поэтому длину можно рассчитывать с любого входящего списка</p>
<p>В этом коде Питон ругается на строку "elementId = IN.Id" - AttributeError: 'list' object has no attribute 'Id'</p>]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>TAI</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1180</guid>
                    </item>
				                    <item>
                        <title>НА: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1179</link>
                        <pubDate>Sat, 15 Apr 2023 04:53:26 +0000</pubDate>
                        <description><![CDATA[@tai свой код показать не хотите, да?)]]></description>
                        <content:encoded><![CDATA[@tai свой код показать не хотите, да?)]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>Вадим Муратов</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1179</guid>
                    </item>
				                    <item>
                        <title>Ответ на: Задание параметров элементов в Python</title>
                        <link>https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1178</link>
                        <pubDate>Fri, 14 Apr 2023 18:28:00 +0000</pubDate>
                        <description><![CDATA[Ребят, я с этим питоном все не могу успокоится... )))
Делаю уже другой скрипт, но таже проблема, и наверно схожее должно быть решение, поэтому продолжаю в этой теме.Делаю скрипт, в котором ...]]></description>
                        <content:encoded><![CDATA[<p>Ребят, я с этим питоном все не могу успокоится... )))</p>
<p>Делаю уже другой скрипт, но таже проблема, и наверно схожее должно быть решение, поэтому продолжаю в этой теме.<br />Делаю скрипт, в котором надо реализовать перемещение элементов (труб и воздуховодов) по оси X и У. Как и в первой задаче есть список элементов, список ΔX и ΔY.</p>
<p>На просторах интернета нашел следующий код:</p>
<p><br />import clr<br /><br /># Import RevitAPI<br />clr.AddReference("RevitAPI")<br />import Autodesk<br />from Autodesk.Revit.DB import *<br /><br /># Import DocumentManager and TransactionManager<br />clr.AddReference("RevitServices")<br />import RevitServices<br />from RevitServices.Persistence import DocumentManager<br />from RevitServices.Transactions import TransactionManager<br /><br /><br />#Входные данные для этого узла будут сохранены в виде списка в переменной IN.<br />doc = DocumentManager.Instance.CurrentDBDocument<br />app = DocumentManager.Instance.CurrentUIApplication.Application<br /><br />dataEnteringNode = IN<br />elementId = IN.Id<br /><br />TransactionManager.Instance.EnsureInTransaction(doc)<br />ElementTransformUtils.MoveElement(doc,ElementId(elementId),XYZ(IN,IN,0))<br />TransactionManager.Instance.TransactionTaskDone()<br /><br />OUT = 0</p>
<p>Проверил, он работает, все классно, но опять только с одним элементом, я пытался через цикл for по аналогии с прошлой задачей заставить его работать со списками, ничего не вышло. Кто-нибудь может его допилить?</p>
<p>сайт исходника кода https://russianblogs.com/article/38012006102/</p>]]></content:encoded>
						                            <category domain="https://forum.bim2b.ru/api/">АВТОМАТИЗАЦИЯ</category>                        <dc:creator>TAI</dc:creator>
                        <guid isPermaLink="true">https://forum.bim2b.ru/api/zadanie-parametrov-elementov-v-python/#post-1178</guid>
                    </item>
							        </channel>
        </rss>
		