Подаю в метод, как и требуется, четыре аргумента, но код не работает и ругается что нужно пять аргументовПятый (а точнее нулевой) аргумент - это объект, с которым метод должен работать: http://www.revitapidocs.com/2015/425e8577-ba2a-ba19-ac24-069078f97209.htm?section=exampleToggle
никакого пятого(нулевого) колеса не нужно, была ошибка в методе создания в строке 38 должно быть:Могу предположить, что проблема была в том, что в самом Dynamo тоже есть методы (ноды) с такими-же названиями и у вас в коде вызывался просто не тот метод, который был нуженКод - Python [Выбрать]
solid1 = doc.FamilyCreate.NewExtrusion(True, curveArrArray, sketchPlane, 100.0)
и все норм работает
В Dynamo нет метода NewExtrusion, я выше показал свою ошибку.Я, если вы не поняли, свой вывод и сделал опираясь на ваш ответ! Иначе, в чем разница вызова метода как в вопросе и вызова метода, который работает правильно?!
никакого пятого(нулевого) колеса не нужно, была ошибка в методе создания в строке 38 должно быть:1. Ты не понял того, что я написалКод - Python [Выбрать]
solid1 = doc.FamilyCreate.NewExtrusion(True, curveArrArray, sketchPlane, 100.0)
и все норм работает
2. Ты вызывал метод без указания объекта, над которым этот метод производится. Объект и есть этот дополнительный аргумент. В данном случае этот объект doc.FamilyCreateВы правы, а я какую-то чушь сморозил =) Хотя, моя чушь в некоторых случая верна.
если этот метод вызывается для объекта, значит это метод расширения.Почему ты так решил? Думаю что это обычный метод. Честно говоря мне не понятно почему Python вообще пропустил такое выражение solid1 = NewExtrusion(True, curveArrArray, sketchPlane, 100.0) Возможно это его специфика. Думаю, что C# ругнулся бы на этапе компиляции.
Почему ты так решил? Думаю что это обычный методУ меня вот в этом месте провалы в знаниях (( Я не понимаю, как делается метод в одном классе, но вызывается у свойства другого объекта! Т.е. метод NewExtrusion() определен в классе Autodesk.Revit.Creation.FamilyItemFactory, но вызываться должен у Autodesk.Revit.DB.Document.FamilyCreate - что является свойством. Я так понимаю, что это что-то относящееся к фабрикам, про которые у меня знаний ровно ноль