0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 12
|
|
1 | |
Построение схемы и ее расчёт27.03.2017, 18:09. Показов 12195. Ответов 29
Метки нет (Все метки)
Поскажите пожалуйста, как сделать приложение, со своими элементами, которые пользователь может переносить в рабочую область и строить из них схемы, которые после можно рассчитать, в зависимости от введеных в них параметров. Возможно вообще такое в с#? Помогите пожалуйста.
0
|
27.03.2017, 18:09 | |
Ответы с готовыми решениями:
29
Построение и расчет схемы в Electronics Workbench Расчёт схемы Расчет электрической схемы расчет электрической схемы |
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 12
|
|
28.03.2017, 15:29 [ТС] | 3 |
Надо реализовать вот это. Чтобы пользователь мог перетаскивать элементы, строить схему, и обсчитывать, к примеру надежность.
0
|
1 / 1 / 1
Регистрация: 12.08.2016
Сообщений: 20
|
|
28.03.2017, 17:35 | 4 |
Nikita988, сразу же вопрос возникает: "Чем вас не устраивает Simulink или MatLab? для чего надо еще раз изобретать велосипед?"
0
|
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 12
|
|
28.03.2017, 17:49 [ТС] | 5 |
А если у пользователя не установлен ни симулинк ни матлаб, что делать? А с# позволяет exe файл сделать, который точно откроется.
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
28.03.2017, 18:28 | 6 |
Nikita988, гениально. А если захочется какую-нибудь фотографию отретушировать вы начнёте свой фотошоп писать?
Маловероятно, что вам помогут чем-то более конкретным, чем просто общими советами. Задачка эта не из простых.
0
|
1 / 1 / 1
Регистрация: 12.08.2016
Сообщений: 20
|
|
29.03.2017, 13:46 | 7 |
Nikita988, я присоединяюсь к мнению Usaga: то, что вы намереваетесь создать, тянет на проект для целой команды, в которой есть и дизайнеры и математики и прочие спецы. Все это можно осилить и вывести на приемлемый уровень, но потребуется немало человеко-часов.
0
|
12078 / 8387 / 1281
Регистрация: 21.01.2016
Сообщений: 31,601
|
|
29.03.2017, 15:11 | 9 |
Storm23, я уже не раз слышал подобные уверенные заявления А заканчивалось как обычно - в два-три раза дольшим сроком.
На вскидку - дня два-три работы тут будет (если не в поте лица хреначить). Но кто возьмётся для ТС это делать?..
0
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
|
29.03.2017, 15:29 | 10 |
Usaga, ну необязательно же полностью делать, можно хотя бы архитектуру помочь набросать (мне было бы интересно на неё взглянуть)
0
|
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
|
|
29.03.2017, 16:16 | 12 |
Storm23, разумеется я не граф имел в виду, а как раз все эти перемещения, соединения, редактирование значений в прямоугольниках, перенос с панели в рабочую область и тд.
Просто скажу, что мне это всё не очевидно: ничего нереализуемого нет, но целиком решения не вижу.
0
|
29.03.2017, 20:27 | 14 | |||||||||||||||||||||||||
Сообщение было отмечено ViterAlex как решение
Решение
Создаем два интерфейса IDrawable и IDragable:
Кликните здесь для просмотра всего текста
Делаем панель, которая умеет отображать IDrawable и перемещать IDragable: Кликните здесь для просмотра всего текста
Делаем класс Node, реализующий IDrawable и IDragable: Кликните здесь для просмотра всего текста
Свойство Tag будет хранить вероятность (надежность) задаваемую данным нодом. Свойство Linked будет хранить все ноды, связанные с данным. Делаем класс Pin, который тоже будет реализовать IDrawable и IDragable. Этот класс предназначен для создания связей между нодами. Когда его перетаскивают он проверяет на какой нод он "упал" и создает связь с этим нодом: Кликните здесь для просмотра всего текста
Создаем класс FinishNode наследующийся от Node. Является конечным нодом, куда стекаются все вероятности. подсчитывает суммарную надежность: Кликните здесь для просмотра всего текста
При параллельном соединении нодов - выбирается минимальная надежность, при последовательном - вероятности перемножаются. Ну и еще по мелочи создаем пару классов. Результат: Итого - два часа чистого времени Удаление и редактирование нодов не делал. Если делать - займет чуть побольше времени.
21
|
TopLayer
|
30.03.2017, 06:18
#15
|
0
|
Usaga
|
30.03.2017, 06:24
#16
|
0
|
Storm23
|
30.03.2017, 12:41
#17
|
0
|
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 12
|
|
30.03.2017, 15:45 [ТС] | 18 |
Даже не ожидал. Огромное спасибо за помощь, попробую собрать это у себя, если зарабоает - с меня вознаграждение.
0
|
0 / 0 / 0
Регистрация: 27.03.2017
Сообщений: 12
|
|
30.03.2017, 22:02 [ТС] | 19 |
Storm23, Всё прекрасно, но считает не верно =( . Программа считает только последовательные соединения, и их считает правильно, при последовательном соединении вероятность безотказной работы = P1*P2*...Pn , но при параллельном иначе : для, допустим, параллельного соединения трёх элементов P=1-(1-p1)*(1-p2)*(1-p3) . Можно это реализовать, чтобы программа понимала где параллельное соединение, а где последовательное и исходя из этого правильно рассчитывала?
0
|
30.03.2017, 22:35 | 20 | |||||
Расчет вероятности происходит в методе FinishNode.Calc(). Замените его на вот такой метод:
0
|
30.03.2017, 22:35 | |
30.03.2017, 22:35 | |
Помогаю со студенческими работами здесь
20
Расчет схемы при КЗ Расчет схемы уселения Расчет схемы источника питания Расчет схемы переменного тока Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |