Макрос для создания фасадов или пишем множественный контур для объектов. Corel Draw от Деревяшкина

  Рет қаралды 1,102

Мистер Деревяшкин

Мистер Деревяшкин

Күн бұрын

Пікірлер: 24
@grandpa4540
@grandpa4540 Жыл бұрын
все понятно и доступно объясняешь, спасибо за видео
@varietypa...5606
@varietypa...5606 4 ай бұрын
Круто! Очень информативно, спасибо за видео!
@юрийяковлев-ь4ю
@юрийяковлев-ь4ю 8 ай бұрын
Сергей, здорово! Много лет назад изучал VBA, писал компоненты, какие то на форумах люди даже хвалили, потом забросил и никогда не подумал бы что опять буду смотреть видосы по программированию. Ну спасибо, действительно круто!
@mrWoodman
@mrWoodman 8 ай бұрын
Очень рад, что помогло освежить некоторые моменты ) да. сам прекрасно понимаю, что когда долго не писал сложновато сразу "с наскока" въехать )
@user-Russian-Ryazan
@user-Russian-Ryazan Жыл бұрын
Спасибо! Думаю этот макрос тоже пригодится всем кто режет фанеру. Выбирает все шейпы внутри другого, указать только внешний или все вместе, после применения останется только те, что внутри были. Удобно вписать в макрос, чтобы за один клик делать компенсацию реза для внутренних и внешних контуров реза. Мне часто приходится импортировать векторы в Cоrel из Solid Work, где я создаю параметрические модели изделий, из-за того что фанера по толщине разная продается, от 2,9 мм до 3,3 мм. Создал модель с глобальными переменными, одна из них толщина фанеры, остальные габариты и т.д. , меняю например толщину фанеры и все детали в сборке Solid перестраиваются автоматически. Потом экспорт проекции детали из сборки в Corel через dxf формат. В импортированном чертеже проекции детали все линии одинаковые по свойствам и отделить их (внутренние от внешних) поможет этот макрос: Sub SelectIsOnShape_minus() Dim s As Shape Dim a As Shape Dim x As Double, y As Double Dim sKey As Shape Set sKey = ActiveShape Set a = sKey For Each s In ActivePage.Shapes s.GetPosition x, y If sKey.IsOnShape(x, y, -1) Then s.AddToSelection End If Next s a.RemoveFromSelection End Sub
@mrWoodman
@mrWoodman Жыл бұрын
Очень подробно, но если честно для меня, как я совсем не в теме фрезеровки ничего не понятно ))))) На самом деле сильно упрощенная функция и не всегда будет работать. т.к. центр фигуры не всегда сама фигура. а если она сложной формы? а если выбирать по квадрату так не надо делать сложный и долгий вызов isOnSHape если проще выбрать сразу по прямоугольнику все внутри Set COS = ActivePage.SelectShapesFromRectangle(cont.LeftX, cont.BottomY, cont.RightX, cont.TopY, False).Shapes.All и еще пробегать по всем шейпам страницы иногда глючно бывает. надо бегать по SelectedShapes
@user-Russian-Ryazan
@user-Russian-Ryazan Жыл бұрын
@@mrWoodman да,, точно. этот метод только наверное мне и полезен. У меня при импорте все шейпы детали уже выделены. А если придется выделять в ручную, то это "овчинка выделки не стоит".
@mrWoodman
@mrWoodman Жыл бұрын
@@user-Russian-Ryazan но автоматизировать свои задачи тоже полезно, собственно так моя панель макросов и появилась. Изначально я себе макросы писал, а потом решил поделиться с парой знакомых... Ну и пошло поехало :))))
@RomanovDR
@RomanovDR Жыл бұрын
точно не моё, но всё равно спасибо )
@Vano-re8rn
@Vano-re8rn Жыл бұрын
Интересно. Можете показать, как раскидать контура на отельные слои заданные пользователем ?
@mrWoodman
@mrWoodman Жыл бұрын
так а что тут показывать s.MoveToLayer "имя слоя" одна строчка. ну перед этим просто можно добавить проверку есть ли такой слой или нет.
@Vano-re8rn
@Vano-re8rn Жыл бұрын
@@mrWoodman , темный лес для меня. Ну да ладно. Спасибо за быстрый ответ.
@mrWoodman
@mrWoodman Жыл бұрын
@@Vano-re8rn изучите видео поподробней попробуйте повторить и вникнуть. а иначе вам и другое очень похожее видео тоже ничего не даст. конкретно один вопрос решит, а шаг в сторону и снова новое видео снимать? в программировании надо вникать в суть и хоть немного понимать что каждая строчка делает. а иначе это просто бездумное копирование.
@PIKomis
@PIKomis Жыл бұрын
Как изменть код, чтобы пропускал заблокированные объекты?
@mrWoodman
@mrWoodman Жыл бұрын
ввести проверку if not s.locked then
@PIKomis
@PIKomis Жыл бұрын
Работает!
@mrWoodman
@mrWoodman Жыл бұрын
@@PIKomis а почему ж не ))
@Николайо-и7р
@Николайо-и7р 10 ай бұрын
А как сделать чтобы сделанные контуры сгруппировались, а исходник удалился?
@mrWoodman
@mrWoodman 10 ай бұрын
Нужно сделать два shaperange. В один запихивает исходные объекты, во второй запихиваются созданные контуры. После окончания первый shape range удаляем, а второй группируем.
@Николайо-и7р
@Николайо-и7р 10 ай бұрын
@@mrWoodman спасибо
@Николайо-и7р
@Николайо-и7р 10 ай бұрын
Видос было бы интересно ну эту тему посмотреть)
@mrWoodman
@mrWoodman 10 ай бұрын
@@Николайо-и7р видос про шейпренджи? ну если честно если работать с ними, то тут не видосы надо смотреть а мануалы читать :) в хэлпе корела есть примеры кода как раз с группировкой и шейпренджами.
@Николайо-и7р
@Николайо-и7р 10 ай бұрын
@@mrWoodman лучше один раз увидеть чем 5 раз прочитать
How I Turned a Lolipop Into A New One 🤯🍭
00:19
Wian
Рет қаралды 10 МЛН
Every parent is like this ❤️💚💚💜💙
00:10
Like Asiya
Рет қаралды 26 МЛН
إخفاء الطعام سرًا تحت الطاولة للتناول لاحقًا 😏🍽️
00:28
حرف إبداعية للمنزل في 5 دقائق
Рет қаралды 79 МЛН
Купили лампочку? Не спешите подключать.
12:04
Вхождение в электронику INELECTRONICS
Рет қаралды 1,5 МЛН
Макросы  в Corel Draw от Деревяшкина! Специально для Corel Russia
23:12
CorelDraw. Урок 52. Готовим изображение для резки
11:49
Сделано! О сложном - просто
Рет қаралды 39 М.
How I Turned a Lolipop Into A New One 🤯🍭
00:19
Wian
Рет қаралды 10 МЛН