Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/21: Рейтинг темы: голосов - 21, средняя оценка - 4.57
Aeliot
176 / 61 / 3
Регистрация: 17.11.2011
Сообщений: 318
1

CorelDraw: как получить площадь кривой произвольной формы, в которой есть "дырки" произвольной формы?

15.04.2013, 00:30. Просмотров 3858. Ответов 3
Метки нет (Все метки)

Стоит задача рассчитать площадь сложной кривой. В CorelDraw у кривых есть стандартное свойство, отображающее площадь кривой.
Visual Basic
1
ActiveLayer.Shapes(1).Curve.Area
Но проблема в том, что оно работает правильно только с простыми объектами. Если же взять "бублик", т.е. когда мы возьмём две окружности, выравняем их относительно друг к друга по центру и вычтем меньшую из большей. То это же свойство покажет нам сумму площадей двух окружностей. Хотя по логике мы должны получить значение равное площади большей окружности минус площадь меньшей окружности. И это только простейший случай.

Как можно получить площадь кривой неопределённой формы ("бесформенной" кривой, кляксы) в которой есть неопределённое число "дырок" неопределённой формы. Может быть сложно звучит, но суть именно в этом.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2013, 00:30
Ответы с готовыми решениями:

Площадь произвольной замкнутой кривой
Доброго времени суток ! Начал недавно осваивать C#. Вот пишу прогу для себя. Мне интересно как это...

Как найти размер текста для точек "480px", "768px", да и вообще для любой произвольной точки
Приветствую всех. Думаю суть моего глупого(?) вопроса ясна из картинки. Но поясню: занимаюсь...

составить программу ,которая в строке произвольной длины заменяет все"+"на" * "если за ними следуют не цифры
составить программу ,которая в строке произвольной длины заменяет все "+" на " * " если за ними...

составить программу ,которая в строке произвольной длины заменяет все "+" на "*" если за ними следуют не цифры
составить программу ,которая в строке произвольной длины заменяет все "+" на " * " если за ними ...

Как сделать кнопку произвольной формы?
Как сделать кнопку произвольной формы? Например овальную или треугольную? Спасибо.

3
Апострофф
Заблокирован
15.04.2013, 07:19 2
Aeliot, не знаю как в Кореле, но в АвтоКаде есть вполне работающие методы для решения подобных задач, в том числе через VBA. Если интересно, попытаюсь вспомнить свои древние попытки в этом вопросе.
0
Aeliot
176 / 61 / 3
Регистрация: 17.11.2011
Сообщений: 318
16.04.2013, 14:27  [ТС] 3
Цитата Сообщение от Апострофф Посмотреть сообщение
Aeliot, не знаю как в Кореле, но в АвтоКаде есть вполне работающие методы для решения подобных задач, в том числе через VBA. Если интересно, попытаюсь вспомнить свои древние попытки в этом вопросе.
Хотелось бы посмотреть.
0
Апострофф
Заблокирован
16.04.2013, 15:15 4
Ну примерно так.
Естественно, нарисовать и вычесть друг из друга можно не только окружности.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Sub Example()
Dim curves(0) As AcadEntity
Dim centerPoint(0 To 2) As Double
Dim region1 As Variant, region2 As Variant
 
Set curves(0) = ThisDrawing.ModelSpace.AddCircle(centerPoint, 3)
region1 = ThisDrawing.ModelSpace.AddRegion(curves)
curves(0).Delete
 
centerPoint(0) = 1
centerPoint(1) = 1
Set curves(0) = ThisDrawing.ModelSpace.AddCircle(centerPoint, 2)
region2 = ThisDrawing.ModelSpace.AddRegion(curves)
curves(0).Delete
 
region1(0).Boolean acSubtraction, region2(0)
MsgBox region1(0).Area, , "Площадь"
ZoomExtents
 
End Sub
0
16.04.2013, 15:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.04.2013, 15:15

Как заполнить табличную часть из произвольной формы?
Здравствуйте! Помогите пожалуйста создать заполнение табличной части основной формы документа из...

Как производить закрашивание определенной части рисунка произвольной формы
Доброго времени суток. У меня такой вопрос, как можно производить закрашивание определенной части...

Как перейти из "Заголовок формы" в "Область данных" по нажатию "Tab" или другой комбинации клавиш?
Как перейти из "Заголовок формы" в "Область данных" по нажатию "Tab" или другой комбинации клавиш?


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru