Как нарисовать прямоугольник по координатам внутри рабочего поля?

  • Автор темы Автор темы Darsh
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Darsh

Топикстартер
15 лет на форуме
Сообщения
374
Реакции
5
Есть шаблон, т.е. документ где размер листа установлен в размер рабочего поля гравера. Материал режется маленький кусковой, соответственно его положение на рабочем столе машины определяется через маркер сопла (просматриваем координаты положения головки над углом материала на дисплеи машины). Есть необходимость замерив что квадратный кусок у нас лежит внутри стола машины с n-ыми координатами (левый верхний и правый нижний) нарисовать прямоугольник (размер заготовки) в документе Corel Draw (тот самый шаблон который симулирует рабочий стол машины) в том же положении как он находится и на столе. Сделать это все через форму (введите 2 координаты x и y для верхнего левого и 2 координаты x и y для правого нижнего и нажмите кнопку start). Помогите кому не трудно, я пробовал сам но с функциями createrectangle выходила полная Ж!
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Код:
sub ramka()
Dim s As Shape
Set s = ActiveLayer.CreateRectangle(ActivePage.LeftX, ActivePage.TopY, ActivePage.RightX, ActivePage.BottomY)
 
End Sub
все прекрасно работает, RTFM
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Мой нерабочий код:

Private Sub CommandButton1_Click()
Dim rect As Shape
Dim x, y As Integer
Dim xpos, ypos As Integer
'Set rect = ActiveLayer.CreateRectangle2(0, 0, 3, 1)
x = TextBox3.Value - TextBox1.Value
y = TextBox4.Value - TextBox2.Value
xpos = TextBox1.Value
ypos = TextBox2.Value
Set rect = ActiveLayer.CreateRectangle2(xpos, ypos, x, y)

End Sub

Тончее он рабочий но прямоугольник получается не тех размеров и не там!
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Во первых, надо установить единицы измерения - миллиметры.
Во вторых, абсолютные координаты задавать как то не комильфо - вычисляйте координаты углов страницы (как у меня в примере) и отступайте относительно них.
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Воткните ActiveDocument.Unit = cdrMillimeter
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Все заработало! _MBK_ и уважаемый модератор Lev были правы насчет юнитов. Вот только у меня обе y-ковые координаты отрицательные, как быть с ошибкой что высотка прямоугольника не может принимать такие значения?
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Делайте по модулю разности.
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Спасибо, сам успел разобраться что нужно использовать модуль разности :) Напомните есть ли функция Neg в Corel VBA?
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Что такое Neg? Знак меняет что ли???? Пишите просто -Y '))'
 
Ответ: Как нарисовать прямоугольник по координатам внутри рабочего поля?

Да та что обращает знак? есть такая?
 
Статус
Закрыто для дальнейших ответов.