C# и Sharp Develop
Главная › Форумы › Задать вопрос › C# и Sharp Develop
- В этой теме 38 ответов, 7 участников, последнее обновление 6 лет, 9 месяцев назад сделано txt.
-
АвторСообщения
-
Вопрос к редакции, а будут ли здесь уместны темы по написанию плагинов и макросов, или с этими вопросами на сайт разработчиков автодеска СНГ?
Можно также составлять форму сразу на Python в Sharp Develop без конвертации.
Anton ты прав.
я слышал про SharpDevelop, но до этого момента не пользовался ей, думал, что сложная в освоении.
сейчас поставил, покрутил, вроде удобная программа (в работе похожа на VS).
нужно будет сравнить Visual studio и Sharp Develop.По сравнению с VS есть пара серьезных недочетов, в основном вылеты и нестабильная работа, а так не плохо, есть даже конвертер кода из C# в Python и обратно, плюс работает на прямую, что несомненно удобно при отладке. Если проект разросся до 3+ классов то следует серьёзно подумать о переходе в VS.
В общем вот небольшой макрос, чтоб удалять импортированные линии, очень напрягало удалять их вручную ибо обычно с подложкой их приходит куча)
public void DeleteImportLine() { UIDocument uidoc = this.ActiveUIDocument; Document doc = uidoc.Document; //Создаем фильтр для выбора типов линий ElementClassFilter filter = new ElementClassFilter(typeof(LinePatternElement)); //Собираем все элементы из документа FilteredElementCollector collector = new FilteredElementCollector(doc); //Отфильтровываем все что не соответствует фильтру collector.WherePasses(filter); //Добавляем все в список IList allLine = collector.ToElements(); string data = ""; //Отфильтровываем все что не начинается на IMPORT var delLine = allLine.Where(a => a.Name.ToString().StartsWith("IMPORT")).ToList(); using ( Transaction t = new Transaction(doc, "Delete import lauers") ) { t.Start(); foreach ( LinePatternElement L in delLine ) { //Удаляем ElementId id = L.Id; //текст можно отключить, это для контроля data += L.Name.ToString() + Environment.NewLine; doc.Delete(id); } t.Commit(); } TaskDialog.Show("Line", "Удаленные типы линий: " + Environment.NewLine + data); }
Назначить действие на кнопку (элемент) можно дважды клацнуть по кнопке в форме, при этом на неё назначится функция и добавится её оболочка в коде. Можно также переназначить действие кнопки на панели Events (кнопка молнии).
Anton, спасибо, буду изучать.
Посоветуй видео уроки или книги по sharp develop…Не знаю кому как, а по мне Питон по своему синтаксису проще и понятней чем СиШарп и другие известные мне языки программирования. Вот например как изящно решается на Питоне, задача опубликованная выше:
import clr
clr.AddReference(“RevitAPI”)
import Autodesk
from Autodesk.Revit.DB import FilteredElementCollector
clr.AddReference(“RevitServices”)
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManagerdoc = DocumentManager.Instance.CurrentDBDocument
LPE = Autodesk.Revit.DB.LinePatternElement
FEC = FilteredElementCollector(doc).OfClass(clr.GetPythonType(LPE))
linesDel = [i.Id for i in FEC if ‘IMPORT’ in i.Name]TransactionManager.Instance.EnsureInTransaction(doc)
[doc.Delete(item) for item in linesDel]
TransactionManager.Instance.TransactionTaskDone()и если учесть что ровно половина этого кода есть импорт библиотек и классов, то весь код уместился в 7-ми строчках.
Да я никому ничего не доказываю, просто я выбрал для себя C# так как он подходит для ряда других продуктов нужных мне ,да и RevitAPI.chm со справкой с примерами на нем, хотя это и не сильно принципиально сейчас, но когда начинал это играло свою роль)
От этих разговоров, типа, что лучше? Динамо, Питон, СиШарп, Брюс Ли или десантник? в первую очередь страдают начинающие пользователи Динамо, которые не знают еще что же такое по сути это Динамо и как в нем программировать. СиШарп им точно не нужен. Поэтому нужно быть осторожней с озвучкой своего мнения, поскольку оно может кому то навредить. Начинающие пользователи не должны страдать от того что кто то до них пошел по иному пути. Был тут один товарищ, который утверждал что Динамо плохой, потому что он в Динамо не может решить свои задачи, но почему то отказался озвучить свои задачи)
//…он подходит для ряда других продуктов нужных мне…//
огласите весь список ))
Ну в основном я имел в виду Autocad и Tekla Structurs, и их дальнейшая связка с вордом экселем и базами данных, я слабо в этом разбираюсь, увидел пару роликов на ютубе про API автокада пару месяцев назад и понеслась). Я ничего никому не навязываю, слова не сказал о том, что лучше и почему, ибо это только мое мнение. которое пока не спрашивали. Я просто спросил можно тут обсуждать конкретно C# мало ли есть любители, все таки API что на питоне что на других языках одно и тоже, просто в языках некоторые детали по разному решаются, но общий подход тот же.
Прошу не обижаться, это осадочек от некоторых умников, которые, по словам Саши Попова “год назад они говорили что Динамо несерьезная вещь и лучше изучать СиШарп, прошел год, они не изучили ни Динамо, ни СиШарп, а я уже решил в Динамо кучу задач”. Давай лучше переключайся в Питон) большое, дружелюбное сообщество и в Автокаде я динамлю уже нормально, научу, надо к Текле подключиться – и с этим помогу
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.