Продолжение работы над JawelBoxCAD(0.1a)

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

Начата работа над новой программой: JewelBoxCAD!

Спешу поделиться с первыми наработками по новой программе:»JewelBoxCAD»
Это будет программа, которая позволит в реальном времени производить проектирование различных декоративных изделий на станках ЧПУ. Те, кто пользуются моими макросами, замечают что в них не хватает интерактивности. Надо сперва продумать всё (размеры, внешний вид и т.д.), и лишь потом ввести параметры. Ну или делать проектирование в несколько приёмом с правкой каких-то параметров.
Меня самого не очень устраивает такая работа, и давно хотелось начать делать софт, который не накладывает на меня столько ограничений в плане программирования, как это есть в макросах к CorelDraw. Я довольно долго готовился к началу этого процесса, собирая различный материал и тестируя разные инструменты для программирования. Но вот после Нового года, я наконец более менее почувствовал что могу эксперименты. Вот что получилось за первую неделю работы:

Это само собой далеко не конечный вид программы, а просто эксперимент, в котором я отрабатываю работу объемными моделями и работой с чертежами в параметрическом виде в реальном режиме времени.
Ну и напоследок хочу сказать, само собой работа над макросами не прекратиться. И вполне может быть, что на базе этой программы, я смогу написать отдельный модуль для подобной интерактивности в макросе. Но это будет не скоро. Как и сама программа, судя по всему. Но, начало положено!

Ещё новые контуры овальных крышек (обновление 0.95.5)

Продолжая изучать «внутренности» API CorelDraw, натолкнулся на ещё одну интересную функцию работы  с вершинами. После некоторых опытов, получилось ещё пару интересных (на мой взгляд!) узоров для овальных крышек и  появилось, пара так называемых параметрических  узоров (когда внешний вид довольно сильно меняется в зависимости от введённых параметров).
Узоры добавлены в той же вкладке, настроек овальных шкатулок:
Первые два новых варианта похожи друг на друга: шипованный узор (острый и сглаженный варианты):

Параметрические варианты выбираются кнопками выделенными (специально!) серым. Первый вариант дает либо острые шипы со сглаженными ложбинками, либо сглаженная волнообразная фигура (похожи на варианты выдаваемым второй и третьей кнопками, но всё же отличаются) : 

Вторая параметрическая кнопка дает следующие варианты, ещё более разнообразные внешне:
Параметры надо подбирать вручную! Внешний вид в параметрических узорах зависит от  всех параметров: геометрических размеров крышки, числа элементов и высоты каждого элемента отдельно! Поэтому, внешний вид подбирается экспериментально!

 

Подведение итогов 2018 года и планы на 2019

2018 год стал для меня сложным и очень тяжелым в личном плане, и поэтому я не смог реализовать в полной мере то, что запланировал вначале. Но всё же:

  • Создан с нуля макрос «Конструктор бумажных коробок». Он оказался достаточно востребованным.
  • В сумме туда добавлено 14  разных изделий
  • В «Конструкторе шкатулок» добавлены давно  обещанный генератор внутренних геометрических узоров
  • Реализованы несколько дополнительных изменений по просьбам пользователей
  • Начата работа над расчётом внешних размеров по задаваемым  внутренним размерам
  • Добавлены различные виды замков для прямоугольных изделий
  • Добавлены крепления стенок на защелки
  • Изменена логика работы с перегородками
  • Новое штучное изделие  — «мебельный ящик»
  • Несколько разновидностей узорных контуров для овальных крышек
  • Исправлено довольно много ошибок и сделаны правки в интерфейсе и самом макросе.
  • Добавлена возможность делать переводы интерфейса на другие языки и добавлен перевод интерфейса на английский язык
  • Создан этот сайт для более широкой технической поддержки пользователей

Сделано вроде бы не так уж и много, но любое изменение требовало довольно больших усилий по наладке, в силу того что код стал очень объемным и прямо скажу — ориентироваться в нём стало весьма сложно!

Теперь о планах на 2019 год.
«Макрос шкатулки»

  1. Надеюсь довести макрос  до релизной версии (1.0).
  2. В него будет добавлен  новый вид (!) изделий — сборные корпусные изделия. Соединения будет осуществляться на шип-паз но с фиксацией через болтовое соединение в стенках.
  3. Попробую добавить возможность создания перегородок не через всю длину или ширину
  4. Новые узоры в генераторе узоров и паттернов гибких стенок (в том числе с использования шаблона заданного пользователем)
  5. Генерация геометрических узоров в  многоугольных и овальных крышках.
  6. Наверное будут созданы изделия с наклонными гибкими стенками (наподобие постамента у FlexIt)

«Макрос  бумажные  коробки»
Перечислять не буду, но скажу точно — планов по видам изделий много. В том числе будет конечно и полноценное руководство пользователя к макросу

Прочие планы:

  1. Генераторы узоров будут сдублированы в отдельный макрос.
  2. По мере свободного времени и возможностей  планирую к созданию и выпуску тестовых версий отдельной программы, которая будет уже ближе к CAD системе. Пока нет даже рабочего названия, но работа над ней можно сказать уже начата. Не уверен что в следующем году будет уже что то готовое к вашему вниманию, но информировать наверное всё же буду. Мне думается, такая программа должна представлять интерес, так как в ней я хочу учесть опыт моих наработок и сделать её куда более гибкой, а главное — интерактивной. Вполне может быть, что в итоге её получится сделать и кросcплатформенной. Как минимум с поддержкой Linux и Windows.

Ещё пара новых узоров для овальных крышек. (обновление 0.95.4)

Поскольку в канун Нового года появилось немного времени, решил по изучать внутренности CorelDraw немного поглубже. Неожиданно наткнулся на интересную функцию, которая легко позволила добавить пару довольно интересных (на мой взгляд!) внешних контуров для овальных шкатулок.

Решил, не откладывать дело в долгий ящик. Правда, поскольку теперь вариантов для крышек 5 (и не факт что я не найду ещё что то интересное!) добавлена новая вкладка именно для узоров крышки.

Дополнительные изменения в этой версии:
Удалены всплывающие окна про неверные значения некоторых параметров. Ранее, до того как я добавил возможность задавать размеры по внутренним габаритам, эти сообщения не столь напрягали. Теперь в силу того, что алгоритм немного поменялся, такие окна стали появляться слишком часто. Да и особо полезной функции такие предупреждения не несут. Отрицательные или нулевые значения всё равно не присваиваются внутри кода.
Исправлена ошибка, которая иногда приводила к появлению сообщения VBA о неверном параметре Red.

Декоративная упаковочная коробка со снежинкой (обновление 0.34)

Решил не оставлять без внимания к Новому году и «Конструктор бумажных коробок». Сделал маленькое дополнение, шестигранную коробочку которая после сборки на крышке составляет снежинку. Понимаю, что обновление совсем небольшое, но всё же лучше чем ничего!
Ну и более важная наверное добавка, теперь макрос может работать в версии корела 2018!

Два новых контура на крышках овальных шкатулок (обновление 0.95.3.1)

Продолжаю вносить небольшие изменения, для увеличения разнообразия возможностей в декоративной отделке разных изделий. Давно хотел внести эту правку, но только сейчас смог это сделать. Небольшая добавка для овальных шкатулок. Можно немного разнообразить внешний вид крышки, добавив либо зубчики, либо волны  по краям. Крышка в таком случае будет немного больше кольца для крепления стенок (в обычном виде их размеры одинаковы).

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

Число гребней не может быть меньше 20. Но и слишком много тоже не рекомендую ставить, так как это и удлинит расчёт, и собственно потеряет эстетическое преимущество. Так же не рекомендую особо сильно увлекаться и параметрами высоты.

Исправлена ошибка с неправильным смещение у простого замка для прямоугольных изделий (прорезь получалась на уровне крышки)
Ну и так же добавлены компенсирующие выступы для этого типа изделий и для многоугольных шкатулок (подробнее о них в заметке посвященной им)

Компенсатор толщины в соединении шип-паз (обновление 0.95.2)

Продолжаю серию обновлений, подсказанных мне пользователями макроса. На днях мне предложили ввести вот такую интересную мелочь, которая по идее должна помогать собирать без клея изделия с соединением «шип-паз».

Выступы по центру паза, должны компенсировать разную толщину материала, которая бывает у не очень качественной фанеры. При монтаже они проминаются шипом и плотно удерживают шип внутри.
Установка данного режима доступна теперь в общих настройках. Можно выбирать наличие выступа вверху и внизу паза (с края стенки, или со стороны ближе к центру, для вертикальных соединений).

Высота каждого выступа равна 1/10 от высоты паза и не регулируется.

Выставление размеров по внутренним габаритам (обновление 0.95.1)

Недавно столкнулся с необходимостью создать коробку, с известными внутренними размерами. Казалось бы банальная задача, но пришлось вручную считать от внутренних размеров ко внешним. Не то чтобы очень много расчётов, но ведь макрос и служит для автоматизации подобных процессов! Посему решил понемногу добавлять такую возможность: считать внешние габариты, по заданным внутренним размерам.

Предупреждаю сразу  — функция пока сырая и могут быть ошибки! Так что, надо к ней относиться с осторожностью! И в данном обновлении такой расчёт добавлен только для изделий «Ящик«, «Шкатулка«, «Шкатулка с прорезью»  и «Шкатулка с накладками«.
Итак, внутренние размеры указываются сразу под внешними.

Чтобы активировать расчет через внутренние размеры , следует выбрать чекбокс «Внутр«.

Тогда внутренние размеры становятся доступны для изменения. В дальнейшем, меняя параметры или типы соединения, становится видно как меняются внешние размеры изделия, таким образом, как надо было бы выставить самостоятельно, чтобы получить заданные внутренние размеры!

Есть одна особенность: внутренние размеры не могут корректно вычисляться при загрузке параметров изделия, поэтому они просто сохраняются при выходе (по клавише «Ок») и потом просто загружаются. Поэтому, при первом использовании после обновления будут показаны неверные параметры внутреннего соединения! Чтобы узнать верные, достаточно перенабрать внешние размеры изделия.

В силу этой же причины, чекбокс  «Внутр» не сохраняет свое значение при выходе из режима настройки.

Новогоднее обновление (0.95)

Традиционно, я стараюсь в канун нового года добавить в макрос что-нибудь такое, что помогало бы пользователям подготовить новогодние подарочные изделия. Обычно я меняю картинки в окошках чайного домика. Не стал исключением и этот год. Надеюсь эти нововведения вам понравятся!

I. Я заменил символы текущего года, на грядущий:
II. Ну и нововведение  этого года —  различные узоры генерируемые макросом состоящие из рядов снежинок (слева кнопки отвечающие за создание узора, справа пример узора):

  1. Выбор узора располагается на вкладке «Лист2» и представляет собой случайно генерируемые вертикальные линии  из 4 вариантов снежинок.
  2.  Узор полностью из одинаковых снежинок, но тип снежинок выбирается случайным образом. Располагается следом за предыдущим вариантом.
  3.  Узор из случайно выбираемых снежинок. Поворот снежинок и их размер так-же варьируется случайным образом. Поскольку рисунок случайный и псевдо-хаотичный, кнопка выбора находится на вкладке «Случайные»

Предупреждение!  Узоры могут иногда генерироваться с некоторыми особенностями, поэтому не стоит паниковать и высказывать претензии. Обычно повторная генерация исправляет ошибки в генерации. Причина такого поведения мною исследуется и будет поправлена!

Так же были внесены некоторые поправки в расположение узоров на стенках (более лучшее центрирование на стенках). Так же исправлены ошибки. В частности ошибка, которая после обновления 0.94.8, не генерировала полный узор из колец.