(Полная) WTF?&#! Что за... макросы. Автоматизируем скучную работу. Corel Draw от Деревяшкина

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024

ความคิดเห็น • 59

  • @gooddy5boy
    @gooddy5boy 3 หลายเดือนก่อน +1

    здравствуйте. Скажите, пожалуйста, есть ли у вас макрос для предварительной компоновки деталей?

    • @mrWoodman
      @mrWoodman  3 หลายเดือนก่อน

      для предварительной - да. для оптимальной - нет.

  • @Fravije
    @Fravije ปีที่แล้ว +1

    Добрый день. Подскажите, решается ли это с помощью макроса.
    Например, надо разместить несколько растровых картинок так, чтобы они образовали прямоугольник 4х4. Картинок может быть как 16, так и меньше.
    Сейчас приходится пользоваться инструментом "преобразование": импортирую картинки в корел и перемещаю каждую по одиночке, что совсем нерационально.
    Вы могли бы посоветовать какой инструмент для этого лучше использовать?
    Корел Х8.

    • @mrWoodman
      @mrWoodman  ปีที่แล้ว

      Ну для начала неплохо бы корел обновить, но в целом да. Можно и такой макрос написать в любом кореле

    • @Fravije
      @Fravije ปีที่แล้ว

      @@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

    • @mrWoodman
      @mrWoodman  ปีที่แล้ว

      @@Fravije прикинуть к софту не советую. А по поводу, что 17й лучше подходит, это просто людям день разобраться как старое оборудование подключить к новому Корелу.

  • @proect69
    @proect69 5 ปีที่แล้ว +7

    Сразу о пользе данного видео:
    сегодня переделывал макет, много деталей пришлось в ручную менять размер шипов и пазов, и как понимаете местами только ширина менялась, а местами только высота. Макросы просто нериально выручили))) Сергей не следишь ли ты часом, чем я занимаюсь?))) видосики всегда подходят те, что нужны в данный момент))) СПАСИБО.

    • @mrWoodman
      @mrWoodman  5 ปีที่แล้ว

      BigBro watching you!
      Еще очень удобное сочитание Ctrl+R - повторить последнее действие. Помогает при однотипных задачах

  • @prisoner9555
    @prisoner9555 3 ปีที่แล้ว +2

    Пытаюсь создать следующий макрос: "преобразовать в кривую + в режиме создания форм выделить "выбрать все узлы" + сокращение числа узлов". Но всё стопориться после "преобразования в кривую", т.к. для вхождения в режим создания форм надо в ручную кликнуть на тот же объект, а этого Corel не может сделать. Заменил выбор конкретного объекта выделением всех объектов ctrl+a, но он соответственно начинает сокращать узлы у всех объектов в проекте. Не подскажете адекватный вариант решения этой проблемы? Заранее благодарю.

    • @mrWoodman
      @mrWoodman  3 ปีที่แล้ว +1

      вы неверно подходите к программированию. макрос не кликает и не повторяет действия пользователя. если вы взяли какой-то объект - то и работайте с этим объектом программно. у объектов есть свойства, методы и т.п.
      ваш код должен выглядеть примерно вот так
      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  3 ปีที่แล้ว

      Вот советую это видео посмотреть
      th-cam.com/video/sODNSu9Y1EM/w-d-xo.html

    • @prisoner9555
      @prisoner9555 3 ปีที่แล้ว

      @@mrWoodman после "примерно вот так" подумал, "ооооо, до свиданья!"... всё же перешёл по вашей ссылке, посмотрел, это просто бомба! Теперь буду знать, что не всё потеряно и я возможно хоть чуть-чуть разберусь. Спасибо мистер Деревяшкин)

  • @anizym2688
    @anizym2688 8 หลายเดือนก่อน +1

    А что делать если есть схема нарисованая. Из лини, прямых и кривых, кругов, прямоугольников. Но там много обьектов. И нужно сделать макрос который будет рисовать эту схему. Просто копировать всю схему не подходит... Посмотрел некоторые ваши видео не нашел ответа... Буду дальше искать. Если не сложно помогите пажалусто....

    • @mrWoodman
      @mrWoodman  8 หลายเดือนก่อน

      ну линии видимо не просто хаотично разбросаны (как и круги) а по какому=то принципу.
      задаем отступы. смещения и рисуем объекты в цикле. если прям совсем нет взаимосвязей, то записываем макрос, рисуем схему. при воспроизведении макрос будет повторять все нарисованные фигуры.

    • @anizym2688
      @anizym2688 8 หลายเดือนก่อน +1

      @@mrWoodman Особых повторений нету. При записи макросы вышло несколько тысяч строчек, и программа выдала
      ---------------------------
      Microsoft Visual Basic for Applications
      ---------------------------
      Compile error:
      Procedure too large
      ---------------------------
      ОК Справка
      ---------------------------
      Вот так вот...

    • @mrWoodman
      @mrWoodman  8 หลายเดือนก่อน

      @@anizym2688 записывайте кусками. потом можно будет соединить.

    • @anizym2688
      @anizym2688 8 หลายเดือนก่อน +1

      @@mrWoodman А так можно было? Спасибо большое. Не знал что делать уже...

    • @mrWoodman
      @mrWoodman  8 หลายเดือนก่อน

      @@anizym2688 да. можно записать несколько макросов (функций) а потом создать еще один макрос и уже в нем по очереди вызывать сколько вам нужно.
      Sub Macro1()
      'Что-то делаем
      End Sub
      Sub Macro2()
      'И еще Что-то делаем
      End Sub
      Sub Macro3()
      'Опять Что-то делаем
      End Sub
      Sub Macro_all()
      'здесь все вызываем по порядку
      Macro1
      Macro2
      Macro3
      End Sub

  • @alexandrlatukhin6345
    @alexandrlatukhin6345 3 ปีที่แล้ว +1

    Спасибо.

  • @Pilum1000
    @Pilum1000 2 ปีที่แล้ว +1

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

  • @anizym2688
    @anizym2688 8 หลายเดือนก่อน +1

    Немного не потеме. Не могу написать макрос. У меня есть макрос который рисует определенную схему, квадраты круги там, не суть важно. Мне нужно что бы после того как схема нарисуется выделились все нарисованые обьекты. Не все на экране, а только те что нарисовал макрос. Помогите пажалуйсто...

    • @mrWoodman
      @mrWoodman  8 หลายเดือนก่อน

      Все просто. Нужно каждый нарисованный объект добавить в шейпрендж и потом его выбрать
      Dim sr as new shaperange
      Sr.add(объект)
      sr.createselection

    • @anizym2688
      @anizym2688 8 หลายเดือนก่อน +1

      @@mrWoodman Очень помог ответ. Но если 1200 обьектов, то писать все 1200 названий обьектов? 😅 Спасибо за помощь огромное.

    • @mrWoodman
      @mrWoodman  8 หลายเดือนก่อน

      @@anizym2688 ну вы же их создаёте. В момент создания и запихивайте... Да хоть 12 000... Если это нужно. И не название, а сам объект. Читайте хэлп там все написано.

  • @dmitriymirev80
    @dmitriymirev80 5 ปีที่แล้ว +1

    добрый день.вопрос не по теме.такой есть.знаю что свой станок вы собрали сами.так вот а если 50ватт станке поменять трубу и блок на 80 ватт то станок так заработает?в смысле станет 80 ваттным? или надо что тт еще менять?правда на моем дырки нету под трубу.но думаю сам болгаркой сделаю.

    • @mrWoodman
      @mrWoodman  5 ปีที่แล้ว

      Нужно смотреть модель блока питания чтобы была расчитана на 80ваттную трубу. Врядле китайцы в дешевый станок поставили блок питания с хорошим запасом мощности. Ну и да. Труба 80 вытт 130 см длинной нажо защитный кожух делать удлиненный.
      Так же еще вероятнее всего диаметр самой трубы немного отличается и могут крепления трубы не подойти под большую.

    • @dmitriymirev80
      @dmitriymirev80 5 ปีที่แล้ว +1

      @@mrWoodman понял спасибо

  • @Aihal-e8m
    @Aihal-e8m 10 หลายเดือนก่อน

    coreldraw не видит gms макросы видит только расширение проекты Corel VSTA( CGSaddon ) как с этим бороться ??? при этом запись макросов работает

    • @mrWoodman
      @mrWoodman  10 หลายเดือนก่อน

      потому что макрос записывается в JS скрипт а VBA не установлен. переустановить корел и в н ачале установки поставить галочку "поддержка VBA"

    • @Aihal-e8m
      @Aihal-e8m 10 หลายเดือนก่อน

      с установкой VBA он пишет что установлена другая версия Corel, хотя её там нет , я так думаю что нужно переустанавливать винду

    • @mrWoodman
      @mrWoodman  10 หลายเดือนก่อน

      @@Aihal-e8m винду не надо переустанавливать. все отлично гуглится. скачиваете скрипт который чистит реестр и устанавливаете корел как обычно.

  • @fedorponomarenko4208
    @fedorponomarenko4208 2 ปีที่แล้ว

    где можно скачать макрос

    • @mrWoodman
      @mrWoodman  2 ปีที่แล้ว

      все нужные ссылки под ЛЮБЫМ видео на канале.

  • @РоманВысоков-я7з
    @РоманВысоков-я7з 3 ปีที่แล้ว +1

    А можете написать тут такой макрос который находит растровые картинки в документе и переводит их в смик? Вот действительно нужный макрос когда таких картинок 1000 штук так как в кореле нет функции которая автоматически заменяет цветовую модель в картинках.

    • @mrWoodman
      @mrWoodman  3 ปีที่แล้ว

      Открываете редактор 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

    • @РоманВысоков-я7з
      @РоманВысоков-я7з 3 ปีที่แล้ว

      @@mrWoodman Но вот те картинки которые находятся внутри масок не переводятся. Как сделать чтоб они тоже находились автоматически и переводились в смик но из масок не вытаскивались?

    • @mrWoodman
      @mrWoodman  3 ปีที่แล้ว

      это уже индивидуальная работа, которая, я думаю, особо кроме вас никому не нужно.
      если вам нужен макрос на заказ - напишите мне лучше в ВК, у каждого свои файлы и свои требования. как минимум мне бы взглянуть на ваш файл. и хоть примерно понимать что такое "маска" и что это такое в кореле и как это искать

    • @РоманВысоков-я7з
      @РоманВысоков-я7з 3 ปีที่แล้ว

      @@mrWoodman А как вообще весь файл перевести в смик чтоб там абсолютно все в смик перевелось? Как Иллюстраторе например нажымаеш одну кнопку и весь документ меняет сразу цветовую модель и соответственно все объекты тоже переводятся в нее. А в Кореле можно так?

    • @mrWoodman
      @mrWoodman  3 ปีที่แล้ว

      у корела нет понятия цветовой модели к файлу
      у каждого объекта могут быть свои свойства.
      вам надо перебрать все объекты. если это растр - растрово перевести в ЦМЫК. (эта часть уже я написал) если это вектор - то поменять заливку и контур тоже в систему цмык

  • @gaal8762
    @gaal8762 2 ปีที่แล้ว

    На версие X7 запускается а на 2020 нет

    • @mrWoodman
      @mrWoodman  2 ปีที่แล้ว

      да. разные версии могут использовать разные функции.

    • @gaal8762
      @gaal8762 2 ปีที่แล้ว +1

      @@mrWoodman сам макрос не запускается, что то не так делаю

    • @mrWoodman
      @mrWoodman  2 ปีที่แล้ว

      @@gaal8762 какой макрос не запускается? возможно в 2020 эту функцию убрали из поддерживаемых вероятнее всего надо просто пару строк переписать по другому

    • @gaal8762
      @gaal8762 2 ปีที่แล้ว

      @@mrWoodman woodman panel277 вся панель не запускается , на X7 нормально , на X7 тоже не запускался я запустил Reset и нормально а на 2020 не помогает ни reset ни переустановка . не запускается

    • @mrWoodman
      @mrWoodman  2 ปีที่แล้ว

      панель работает и на 2020.
      скачать, распаковать, запустить wood_install.bat, перезапустить корел
      в кореле открыть список макросов (Alt+Shift+F11)
      развернуть woodman -> woodman_panel
      в списке найти init_panel - это запустит создание панели с кнопками для запуска
      функция tools_panel - это и есть запуск панели.
      можно нажать правой кнопкой "назначить на горячую клавишу" и назначить быструю кнопку для запуска
      или тут же из открытого окна настроек вытянуть кнопку на панель.

  • @Eldobaz
    @Eldobaz 5 ปีที่แล้ว +2

    Без клавиатуры с мышкой в левом нижнем углу стало лучше.

    • @mrWoodman
      @mrWoodman  5 ปีที่แล้ว

      Оставить только текстовые подсказки?

    • @Eldobaz
      @Eldobaz 5 ปีที่แล้ว +2

      @@mrWoodman По мне, всплывающий текст лучше. Не загораживает экран и появляется когда нужен.