Добрый день. Подскажите, решается ли это с помощью макроса. Например, надо разместить несколько растровых картинок так, чтобы они образовали прямоугольник 4х4. Картинок может быть как 16, так и меньше. Сейчас приходится пользоваться инструментом "преобразование": импортирую картинки в корел и перемещаю каждую по одиночке, что совсем нерационально. Вы могли бы посоветовать какой инструмент для этого лучше использовать? Корел Х8.
@@mrWoodman да, что-то душой я прилип к 18му)) многие фанаты лазера ваще в 17м работают, говорят он лучше подходит. В общем, я с ВБ не дружу, помог чатик ГПТ)) примерно с 20й попытки, когда я все ему подробно разжевал (наверное, потому что версия 3.5) Пример кода: Sub ArrangePictures() Dim s As Shape Dim n As Integer Dim w As Double Dim h As Double Dim i As Integer Dim j As Integer Dim k As Integer Dim x As Double Dim y As Double 'count number of selected shapes n = ActiveSelection.Shapes.Count 'get width and height of first shape w = ActiveSelection.Shapes(1).SizeWidth h = ActiveSelection.Shapes(1).SizeHeight 'initialize coordinates x = 0 y = 0 'arrange shapes in grid For i = 1 To n 'move shape to current coordinates Set s = ActiveSelection.Shapes(i) s.Move x, y 'update coordinates for next shape x = x + w If i Mod 4 = 0 Then 'start new row after 4 shapes x = 0 y = y + h End If Next i End Sub
@@Fravije прикинуть к софту не советую. А по поводу, что 17й лучше подходит, это просто людям день разобраться как старое оборудование подключить к новому Корелу.
Сразу о пользе данного видео: сегодня переделывал макет, много деталей пришлось в ручную менять размер шипов и пазов, и как понимаете местами только ширина менялась, а местами только высота. Макросы просто нериально выручили))) Сергей не следишь ли ты часом, чем я занимаюсь?))) видосики всегда подходят те, что нужны в данный момент))) СПАСИБО.
Пытаюсь создать следующий макрос: "преобразовать в кривую + в режиме создания форм выделить "выбрать все узлы" + сокращение числа узлов". Но всё стопориться после "преобразования в кривую", т.к. для вхождения в режим создания форм надо в ручную кликнуть на тот же объект, а этого Corel не может сделать. Заменил выбор конкретного объекта выделением всех объектов ctrl+a, но он соответственно начинает сокращать узлы у всех объектов в проекте. Не подскажете адекватный вариант решения этой проблемы? Заранее благодарю.
вы неверно подходите к программированию. макрос не кликает и не повторяет действия пользователя. если вы взяли какой-то объект - то и работайте с этим объектом программно. у объектов есть свойства, методы и т.п. ваш код должен выглядеть примерно вот так Set os = ActiveSelectionRange.Shapes If os.Count > 0 Then For Each s In os s.ConvertToCurves If Not s.DisplayCurve Is Nothing Then s.Curve.AutoReduceNodes gap.Value End If Next s End If т.е. мы пробегаем в цикле по каждому выбранному объекту, преобразоываем его в кривую и уменьшаем узлы (это встроенный метод у объекта Curve)
@@mrWoodman после "примерно вот так" подумал, "ооооо, до свиданья!"... всё же перешёл по вашей ссылке, посмотрел, это просто бомба! Теперь буду знать, что не всё потеряно и я возможно хоть чуть-чуть разберусь. Спасибо мистер Деревяшкин)
А что делать если есть схема нарисованая. Из лини, прямых и кривых, кругов, прямоугольников. Но там много обьектов. И нужно сделать макрос который будет рисовать эту схему. Просто копировать всю схему не подходит... Посмотрел некоторые ваши видео не нашел ответа... Буду дальше искать. Если не сложно помогите пажалусто....
ну линии видимо не просто хаотично разбросаны (как и круги) а по какому=то принципу. задаем отступы. смещения и рисуем объекты в цикле. если прям совсем нет взаимосвязей, то записываем макрос, рисуем схему. при воспроизведении макрос будет повторять все нарисованные фигуры.
@@mrWoodman Особых повторений нету. При записи макросы вышло несколько тысяч строчек, и программа выдала --------------------------- Microsoft Visual Basic for Applications --------------------------- Compile error: Procedure too large --------------------------- ОК Справка --------------------------- Вот так вот...
@@anizym2688 да. можно записать несколько макросов (функций) а потом создать еще один макрос и уже в нем по очереди вызывать сколько вам нужно. Sub Macro1() 'Что-то делаем End Sub Sub Macro2() 'И еще Что-то делаем End Sub Sub Macro3() 'Опять Что-то делаем End Sub Sub Macro_all() 'здесь все вызываем по порядку Macro1 Macro2 Macro3 End Sub
Немного не потеме. Не могу написать макрос. У меня есть макрос который рисует определенную схему, квадраты круги там, не суть важно. Мне нужно что бы после того как схема нарисуется выделились все нарисованые обьекты. Не все на экране, а только те что нарисовал макрос. Помогите пажалуйсто...
@@anizym2688 ну вы же их создаёте. В момент создания и запихивайте... Да хоть 12 000... Если это нужно. И не название, а сам объект. Читайте хэлп там все написано.
добрый день.вопрос не по теме.такой есть.знаю что свой станок вы собрали сами.так вот а если 50ватт станке поменять трубу и блок на 80 ватт то станок так заработает?в смысле станет 80 ваттным? или надо что тт еще менять?правда на моем дырки нету под трубу.но думаю сам болгаркой сделаю.
Нужно смотреть модель блока питания чтобы была расчитана на 80ваттную трубу. Врядле китайцы в дешевый станок поставили блок питания с хорошим запасом мощности. Ну и да. Труба 80 вытт 130 см длинной нажо защитный кожух делать удлиненный. Так же еще вероятнее всего диаметр самой трубы немного отличается и могут крепления трубы не подойти под большую.
А можете написать тут такой макрос который находит растровые картинки в документе и переводит их в смик? Вот действительно нужный макрос когда таких картинок 1000 штук так как в кореле нет функции которая автоматически заменяет цветовую модель в картинках.
Открываете редактор VBA (Alt+F11) и в GlobalMacros.gms добавляете в любой модуль эту функцию Sub convert_al_to_CMYK() For Each s In ActivePage.Shapes If s.Type = cdrBitmapShape Then s.Bitmap.ConvertTo 5 Next s End Sub
@@mrWoodman Но вот те картинки которые находятся внутри масок не переводятся. Как сделать чтоб они тоже находились автоматически и переводились в смик но из масок не вытаскивались?
это уже индивидуальная работа, которая, я думаю, особо кроме вас никому не нужно. если вам нужен макрос на заказ - напишите мне лучше в ВК, у каждого свои файлы и свои требования. как минимум мне бы взглянуть на ваш файл. и хоть примерно понимать что такое "маска" и что это такое в кореле и как это искать
@@mrWoodman А как вообще весь файл перевести в смик чтоб там абсолютно все в смик перевелось? Как Иллюстраторе например нажымаеш одну кнопку и весь документ меняет сразу цветовую модель и соответственно все объекты тоже переводятся в нее. А в Кореле можно так?
у корела нет понятия цветовой модели к файлу у каждого объекта могут быть свои свойства. вам надо перебрать все объекты. если это растр - растрово перевести в ЦМЫК. (эта часть уже я написал) если это вектор - то поменять заливку и контур тоже в систему цмык
@@gaal8762 какой макрос не запускается? возможно в 2020 эту функцию убрали из поддерживаемых вероятнее всего надо просто пару строк переписать по другому
@@mrWoodman woodman panel277 вся панель не запускается , на X7 нормально , на X7 тоже не запускался я запустил Reset и нормально а на 2020 не помогает ни reset ни переустановка . не запускается
панель работает и на 2020. скачать, распаковать, запустить wood_install.bat, перезапустить корел в кореле открыть список макросов (Alt+Shift+F11) развернуть woodman -> woodman_panel в списке найти init_panel - это запустит создание панели с кнопками для запуска функция tools_panel - это и есть запуск панели. можно нажать правой кнопкой "назначить на горячую клавишу" и назначить быструю кнопку для запуска или тут же из открытого окна настроек вытянуть кнопку на панель.
здравствуйте. Скажите, пожалуйста, есть ли у вас макрос для предварительной компоновки деталей?
для предварительной - да. для оптимальной - нет.
Добрый день. Подскажите, решается ли это с помощью макроса.
Например, надо разместить несколько растровых картинок так, чтобы они образовали прямоугольник 4х4. Картинок может быть как 16, так и меньше.
Сейчас приходится пользоваться инструментом "преобразование": импортирую картинки в корел и перемещаю каждую по одиночке, что совсем нерационально.
Вы могли бы посоветовать какой инструмент для этого лучше использовать?
Корел Х8.
Ну для начала неплохо бы корел обновить, но в целом да. Можно и такой макрос написать в любом кореле
@@mrWoodman да, что-то душой я прилип к 18му)) многие фанаты лазера ваще в 17м работают, говорят он лучше подходит.
В общем, я с ВБ не дружу, помог чатик ГПТ)) примерно с 20й попытки, когда я все ему подробно разжевал (наверное, потому что версия 3.5)
Пример кода:
Sub ArrangePictures()
Dim s As Shape
Dim n As Integer
Dim w As Double
Dim h As Double
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim x As Double
Dim y As Double
'count number of selected shapes
n = ActiveSelection.Shapes.Count
'get width and height of first shape
w = ActiveSelection.Shapes(1).SizeWidth
h = ActiveSelection.Shapes(1).SizeHeight
'initialize coordinates
x = 0
y = 0
'arrange shapes in grid
For i = 1 To n
'move shape to current coordinates
Set s = ActiveSelection.Shapes(i)
s.Move x, y
'update coordinates for next shape
x = x + w
If i Mod 4 = 0 Then 'start new row after 4 shapes
x = 0
y = y + h
End If
Next i
End Sub
@@Fravije прикинуть к софту не советую. А по поводу, что 17й лучше подходит, это просто людям день разобраться как старое оборудование подключить к новому Корелу.
Сразу о пользе данного видео:
сегодня переделывал макет, много деталей пришлось в ручную менять размер шипов и пазов, и как понимаете местами только ширина менялась, а местами только высота. Макросы просто нериально выручили))) Сергей не следишь ли ты часом, чем я занимаюсь?))) видосики всегда подходят те, что нужны в данный момент))) СПАСИБО.
BigBro watching you!
Еще очень удобное сочитание Ctrl+R - повторить последнее действие. Помогает при однотипных задачах
Пытаюсь создать следующий макрос: "преобразовать в кривую + в режиме создания форм выделить "выбрать все узлы" + сокращение числа узлов". Но всё стопориться после "преобразования в кривую", т.к. для вхождения в режим создания форм надо в ручную кликнуть на тот же объект, а этого Corel не может сделать. Заменил выбор конкретного объекта выделением всех объектов ctrl+a, но он соответственно начинает сокращать узлы у всех объектов в проекте. Не подскажете адекватный вариант решения этой проблемы? Заранее благодарю.
вы неверно подходите к программированию. макрос не кликает и не повторяет действия пользователя. если вы взяли какой-то объект - то и работайте с этим объектом программно. у объектов есть свойства, методы и т.п.
ваш код должен выглядеть примерно вот так
Set os = ActiveSelectionRange.Shapes
If os.Count > 0 Then
For Each s In os
s.ConvertToCurves
If Not s.DisplayCurve Is Nothing Then
s.Curve.AutoReduceNodes gap.Value
End If
Next s
End If
т.е. мы пробегаем в цикле по каждому выбранному объекту, преобразоываем его в кривую и уменьшаем узлы (это встроенный метод у объекта Curve)
Вот советую это видео посмотреть
th-cam.com/video/sODNSu9Y1EM/w-d-xo.html
@@mrWoodman после "примерно вот так" подумал, "ооооо, до свиданья!"... всё же перешёл по вашей ссылке, посмотрел, это просто бомба! Теперь буду знать, что не всё потеряно и я возможно хоть чуть-чуть разберусь. Спасибо мистер Деревяшкин)
А что делать если есть схема нарисованая. Из лини, прямых и кривых, кругов, прямоугольников. Но там много обьектов. И нужно сделать макрос который будет рисовать эту схему. Просто копировать всю схему не подходит... Посмотрел некоторые ваши видео не нашел ответа... Буду дальше искать. Если не сложно помогите пажалусто....
ну линии видимо не просто хаотично разбросаны (как и круги) а по какому=то принципу.
задаем отступы. смещения и рисуем объекты в цикле. если прям совсем нет взаимосвязей, то записываем макрос, рисуем схему. при воспроизведении макрос будет повторять все нарисованные фигуры.
@@mrWoodman Особых повторений нету. При записи макросы вышло несколько тысяч строчек, и программа выдала
---------------------------
Microsoft Visual Basic for Applications
---------------------------
Compile error:
Procedure too large
---------------------------
ОК Справка
---------------------------
Вот так вот...
@@anizym2688 записывайте кусками. потом можно будет соединить.
@@mrWoodman А так можно было? Спасибо большое. Не знал что делать уже...
@@anizym2688 да. можно записать несколько макросов (функций) а потом создать еще один макрос и уже в нем по очереди вызывать сколько вам нужно.
Sub Macro1()
'Что-то делаем
End Sub
Sub Macro2()
'И еще Что-то делаем
End Sub
Sub Macro3()
'Опять Что-то делаем
End Sub
Sub Macro_all()
'здесь все вызываем по порядку
Macro1
Macro2
Macro3
End Sub
Спасибо.
Когда показываете код программный, увеличивайте изображение, пожалуйста.
Немного не потеме. Не могу написать макрос. У меня есть макрос который рисует определенную схему, квадраты круги там, не суть важно. Мне нужно что бы после того как схема нарисуется выделились все нарисованые обьекты. Не все на экране, а только те что нарисовал макрос. Помогите пажалуйсто...
Все просто. Нужно каждый нарисованный объект добавить в шейпрендж и потом его выбрать
Dim sr as new shaperange
Sr.add(объект)
sr.createselection
@@mrWoodman Очень помог ответ. Но если 1200 обьектов, то писать все 1200 названий обьектов? 😅 Спасибо за помощь огромное.
@@anizym2688 ну вы же их создаёте. В момент создания и запихивайте... Да хоть 12 000... Если это нужно. И не название, а сам объект. Читайте хэлп там все написано.
добрый день.вопрос не по теме.такой есть.знаю что свой станок вы собрали сами.так вот а если 50ватт станке поменять трубу и блок на 80 ватт то станок так заработает?в смысле станет 80 ваттным? или надо что тт еще менять?правда на моем дырки нету под трубу.но думаю сам болгаркой сделаю.
Нужно смотреть модель блока питания чтобы была расчитана на 80ваттную трубу. Врядле китайцы в дешевый станок поставили блок питания с хорошим запасом мощности. Ну и да. Труба 80 вытт 130 см длинной нажо защитный кожух делать удлиненный.
Так же еще вероятнее всего диаметр самой трубы немного отличается и могут крепления трубы не подойти под большую.
@@mrWoodman понял спасибо
coreldraw не видит gms макросы видит только расширение проекты Corel VSTA( CGSaddon ) как с этим бороться ??? при этом запись макросов работает
потому что макрос записывается в JS скрипт а VBA не установлен. переустановить корел и в н ачале установки поставить галочку "поддержка VBA"
с установкой VBA он пишет что установлена другая версия Corel, хотя её там нет , я так думаю что нужно переустанавливать винду
@@Aihal-e8m винду не надо переустанавливать. все отлично гуглится. скачиваете скрипт который чистит реестр и устанавливаете корел как обычно.
где можно скачать макрос
все нужные ссылки под ЛЮБЫМ видео на канале.
А можете написать тут такой макрос который находит растровые картинки в документе и переводит их в смик? Вот действительно нужный макрос когда таких картинок 1000 штук так как в кореле нет функции которая автоматически заменяет цветовую модель в картинках.
Открываете редактор VBA (Alt+F11)
и в GlobalMacros.gms добавляете в любой модуль эту функцию
Sub convert_al_to_CMYK()
For Each s In ActivePage.Shapes
If s.Type = cdrBitmapShape Then s.Bitmap.ConvertTo 5
Next s
End Sub
@@mrWoodman Но вот те картинки которые находятся внутри масок не переводятся. Как сделать чтоб они тоже находились автоматически и переводились в смик но из масок не вытаскивались?
это уже индивидуальная работа, которая, я думаю, особо кроме вас никому не нужно.
если вам нужен макрос на заказ - напишите мне лучше в ВК, у каждого свои файлы и свои требования. как минимум мне бы взглянуть на ваш файл. и хоть примерно понимать что такое "маска" и что это такое в кореле и как это искать
@@mrWoodman А как вообще весь файл перевести в смик чтоб там абсолютно все в смик перевелось? Как Иллюстраторе например нажымаеш одну кнопку и весь документ меняет сразу цветовую модель и соответственно все объекты тоже переводятся в нее. А в Кореле можно так?
у корела нет понятия цветовой модели к файлу
у каждого объекта могут быть свои свойства.
вам надо перебрать все объекты. если это растр - растрово перевести в ЦМЫК. (эта часть уже я написал) если это вектор - то поменять заливку и контур тоже в систему цмык
На версие X7 запускается а на 2020 нет
да. разные версии могут использовать разные функции.
@@mrWoodman сам макрос не запускается, что то не так делаю
@@gaal8762 какой макрос не запускается? возможно в 2020 эту функцию убрали из поддерживаемых вероятнее всего надо просто пару строк переписать по другому
@@mrWoodman woodman panel277 вся панель не запускается , на X7 нормально , на X7 тоже не запускался я запустил Reset и нормально а на 2020 не помогает ни reset ни переустановка . не запускается
панель работает и на 2020.
скачать, распаковать, запустить wood_install.bat, перезапустить корел
в кореле открыть список макросов (Alt+Shift+F11)
развернуть woodman -> woodman_panel
в списке найти init_panel - это запустит создание панели с кнопками для запуска
функция tools_panel - это и есть запуск панели.
можно нажать правой кнопкой "назначить на горячую клавишу" и назначить быструю кнопку для запуска
или тут же из открытого окна настроек вытянуть кнопку на панель.
Без клавиатуры с мышкой в левом нижнем углу стало лучше.
Оставить только текстовые подсказки?
@@mrWoodman По мне, всплывающий текст лучше. Не загораживает экран и появляется когда нужен.