C# и Sharp Develop

Главная Форумы Задать вопрос C# и Sharp Develop

В этой теме 38 ответов, 7 участников, последнее обновление  txt 6 мес., 1 неделя назад.

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

    kisli
    Участник
    15 pts

    Вопрос к редакции, а будут ли здесь уместны темы по написанию плагинов и макросов, или с этими вопросами на сайт разработчиков автодеска СНГ?

    #4650 Score: 1

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

    я не возражаю.
    тем более если учитывать, что прямо в Dynamo можно писать свои скрипты на C#

    #4651 Score: 1

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

    удивительно, но так совпало:

    сегодня накидал конвертер С# в python для быстрого макетирования Windows Form и переброски их в Dynamo (пока это тест, кому интересно обращайтесь)

    #4658 Score: 0

    Anton
    Участник
    3 pts

    Можно также составлять форму сразу на Python в Sharp Develop без конвертации.

    #4659 Score: 0

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

    Anton ты прав.
    я слышал про SharpDevelop, но до этого момента не пользовался ей, думал, что сложная в освоении.
    сейчас поставил, покрутил, вроде удобная программа (в работе похожа на VS).
    нужно будет сравнить Visual studio и Sharp Develop.

    #4660 Score: 2

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

    и ну чтоб “два раза не вставать”

    Скачать SharpDevelop

    #4661 Score: 1

    kisli
    Участник
    15 pts

    По сравнению с 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);
    }
    

     

    #4666 Score: 0

    Anton
    Участник
    3 pts

    Назначить действие на кнопку (элемент) можно дважды клацнуть по кнопке в форме, при этом на неё назначится функция и добавится её оболочка в коде. Можно также переназначить действие кнопки на панели Events (кнопка молнии).

    #4667 Score: 0

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

    Anton, спасибо, буду изучать.
    Посоветуй видео уроки или книги по sharp develop…

    #4668 Score: 2

    Khasan Mamaev
    Хранитель
    176 pts

    Не знаю кому как, а по мне Питон по своему синтаксису проще и понятней чем СиШарп и другие известные мне языки программирования. Вот например как изящно решается на Питоне, задача опубликованная выше:

    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 TransactionManager

    doc = 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-ми строчках.

    #4669 Score: 0

    kisli
    Участник
    15 pts

    Да я никому ничего не доказываю, просто я выбрал для себя C# так как он подходит для ряда других продуктов нужных мне ,да и RevitAPI.chm со справкой с примерами на нем, хотя это и не сильно принципиально сейчас, но когда начинал это играло свою роль)

    #4670 Score: 0

    Khasan Mamaev
    Хранитель
    176 pts

    От этих разговоров, типа, что лучше? Динамо, Питон, СиШарп, Брюс Ли или десантник? в первую очередь страдают начинающие пользователи Динамо, которые не знают еще что же такое по сути это Динамо и как в нем программировать. СиШарп им точно не нужен. Поэтому нужно быть осторожней с озвучкой своего мнения, поскольку оно может кому то навредить. Начинающие пользователи не должны страдать от того что кто то до них пошел по иному пути. Был тут один товарищ, который утверждал что Динамо плохой, потому что он в Динамо не может решить свои задачи, но почему то отказался озвучить свои задачи)

    #4671 Score: 0

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

    //…он подходит для ряда других продуктов нужных мне…//

    огласите весь список ))

    #4682 Score: 0

    kisli
    Участник
    15 pts

    Ну в основном я имел в виду Autocad и Tekla Structurs, и их дальнейшая связка с вордом экселем и базами данных, я слабо в этом разбираюсь, увидел пару роликов на ютубе про API автокада пару месяцев назад и понеслась). Я ничего никому не навязываю,  слова не сказал о том, что лучше и почему, ибо это только мое мнение. которое пока не спрашивали. Я просто спросил можно тут обсуждать конкретно C# мало ли есть любители, все таки API что на питоне что на других языках одно и тоже, просто в языках некоторые детали по разному решаются, но общий подход тот же.

    #4684 Score: 0

    Khasan Mamaev
    Хранитель
    176 pts

    Прошу не обижаться, это осадочек от некоторых умников, которые, по словам Саши Попова “год назад они говорили что Динамо несерьезная вещь и лучше изучать СиШарп, прошел год, они не изучили ни Динамо, ни СиШарп, а я уже решил в Динамо кучу задач”. Давай лучше переключайся в Питон) большое, дружелюбное сообщество и в Автокаде я динамлю уже нормально, научу, надо к Текле подключиться – и с этим помогу

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

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