Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 240
1

Строим печку на даче: нарисовать круг определенного диаметра

23.06.2014, 16:40. Показов 2084. Ответов 9
Метки нет (Все метки)

Добрый день,
есть задача: построить мини печь..на даче.
Т.к. у печки при кладке идет то расширение, то сужение, нужно расчитать количество кирпичей + визуально кол-во раствора на каждый ряд кладки.
Вобщем, боковой изгиб в зависимости от диаметра сделать не проблема; длину окружности каждого диаметра посчитать и разделить на ширину кирпича - тоже не проблема. Т.е. кол-во кирпичей вычисляемо.
Как-нибудь можно представить данный расчет графически? Т.е. написать макрос, который брал бы длину окружности, далее рисовал круг и разбивал (вернее делал на нем "насечки" - отрезки) по ширине кирпича? Например, диаметр=40, длина окружности = 125,66, количество отрезков на круге 125,66/12,5=10.
Графически я попытался нарисовать " вручную", но тогда плывут пропорции. Можно для каждого ряда задавать свой процент отрезка в зависимости от длины окружности, но все равно пропорции в ручную не соблюсти...
можете помочь макросом, который рисует круг определенного диаметра и делит его в %-ном соотношении?
файл во вложении
Заранее спасибо!
Вложения
Тип файла: xlsx печь.xlsx (18.3 Кб, 13 просмотров)
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.06.2014, 16:40
Ответы с готовыми решениями:

Описать класс "Круг фиксированного диаметра"
Опмсать класс. Внести в список атрибутов цвет. В классе предусмотреть переопределение указанной...

Как нарисовать на форме 100 окружностей случайного диаметра и цвета?
Ребята, объясните каким образом можно реализовать подобное в C#. Никогда не работал с такими...

Сколько точек попадет в круг определенного радиуса
В ЭВМ вводятся по очереди координаты n точек (n ≥ 10). Определить, сколько из них попадет в круг...

Нарисовать круг
помогите нарисовать круг

9
Surrogate
23.06.2014, 17:33
  #2

Не по теме:

круглая печка ? или это тандыр будет :)

0
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 240
23.06.2014, 17:48  [ТС] 3
тандыр
я уже намучался с заливкой площадки, поэтому хочу сначалавсе детально расчитать чтобы 100 раз не переделывать
0
Ушел с CyberForum совсем!
872 / 181 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
23.06.2014, 18:20 4
я тебе один умный вещь скажу, только ты не обижайся™
эксель не самый подходящий инструмент для рисования, для этой задачи скорее совсем не подходящий!
думаю тут даже мой любимый визио не подойдет, тогда автокад без альтернатив
0
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 240
23.06.2014, 18:52  [ТС] 5
Почему? Неужели на ВБА нельзя нарисовать круг и разделить его на одинаковые сегменты?
Т.е. сделать стандартную диаграмму разбив ее на равные сегменты...?
Я где-то скачал тетрис в Экселе, поэтому уверен, что и тандыр в экселе не проблема
Вобщем, до конца недели что-нить изобрету, если не подскажут готовый или где смотреть
0
призрак
3261 / 888 / 119
Регистрация: 11.05.2012
Сообщений: 1,702
Записей в блоге: 2
23.06.2014, 19:05 6
я одно не могу понять:
зачем для того, чтобы что-то подсчитать (вычислить), нужно рисовать какие-то круги, да ещё и в VBA?
1
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 240
23.06.2014, 20:10  [ТС] 7
ну во-первых, чтобы понять как лучше делать кладку (перекрывая кирпич или паралельно кирпичам нижнего ряда)
во-вторых, становятся наглядно видны щели после выкладывания кругом. Визуально можно понять большие они или нет (т.е. много тепла теряется ли) и сколько спец.раствора уйдет на замазку больших дыр.
в-третьих, меняя диаметры кладки можно будет наглядно видеть не только описанные выше 2 пункта, но подбирать оптимальное соотношение кол-во кирпичей/дырок между ними/диаметр средних рядов.
в-четвертых, это же конечно же наглядный внешний вид и пособие по работе...

вобщем, вот для этого
3
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 240
24.06.2014, 01:07  [ТС] 8
ikki, SoftIce, оправдываю репутацию "2" (Репутация: 2 (2)) , пришлось найти макрос, рисующий ровные круги по заданному радиусу:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Sub НарисоватьЛинии () 
Call УдалитьЛинии 
rr = 100 
xx0 = 100 
yy0 = 100 
Set myDocument = Worksheets("Лист1") 
For ff = 0 To 100 
ff0 = 2 * 3.1415926 * ff / 100 
yy1 = rr * Sin(ff0) + 100 
xx1 = rr * Cos(ff0) + 100 
With myDocument.Shapes.AddLine(xx0, yy0, xx1, yy1).Line 
.DashStyle = msoLineDashDotDot 
.ForeColor.RGB = RGB(50, 0, 128) 
End With 
xx0 = xx1 
yy0 = yy1 
Next ff 
End Sub 
Sub УдалитьЛинии () 
Set myDocument = Worksheets("Лист1") 
For Each aa In myDocument.Shapes 
ii = 1 
aa.Delete 
Next 
End Sub
Далее построил по макросу все ряды, нарисовал кирпич в масштабе кругам, "обложил" круги.
Сделано на 70% в ручном режиме..
Если бы был макрос который расставит кирпичи по полученным кружкам - было б идеально....но его нет.
короче, задача решена
Вложения
Тип файла: xlsx 413977d140352720.xlsx (73.3 Кб, 20 просмотров)
1
5454 / 1483 / 365
Регистрация: 23.12.2010
Сообщений: 2,225
Записей в блоге: 1
24.06.2014, 12:51 9
Лучший ответ Сообщение было отмечено mrf как решение

Решение

Тут рисуются кирпичи для всех уровней по таблице.
Вложения
Тип файла: zip печь_New.zip (262.3 Кб, 20 просмотров)
3
12 / 12 / 4
Регистрация: 16.03.2012
Сообщений: 240
24.06.2014, 13:46  [ТС] 10
Cпасибо!!!
это действительно круто выглядит! теперь можно неперерисовывать вручную!!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.06.2014, 13:46

Нарисовать круг
Нарисовать небольшой круг в паскале из * с помошью gotoxy Плизз!

Нарисовать круг
Помогите пожалуста нарисовать круг для вот этой программы!!!! Создать меню с командами Input,...

Нарисовать круг
Привет. Помогите нарисовать круг после нажатия на кнопку "Нарисовать". Хотел рисовать прямо на...

Нарисовать круг
Нужно построить круг с помощью алгоритма брезенхэма ( с помощью мышки задавать центр окружности, а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru