FXTD - для чего?

А главное, зачем?

Главное о FXTD

FXTD (From XLS to DWG) - это не сложный скрипт-проект на VBA-Excel основе, представлет из себя файл xlsm. 

Основноая задача его создания - доказать универсальнойсть подхода, при котором чертёж воспринимается как информационная модель графических свойств, параметров и атрибутов, которые легко могут обрабатывать простые в освоении внешние инструменты работы с таблицами.

История

Всё началось на Хабре. 
Уже само собой это показатель, ведь Хабр - это прежде всего сообщество объединившееся для обмена знаниями, идеями и интерсностями. 
В далёком 2015 году на Хабре появилась статья >>> от камрада zvyagaaa, по специальности инженера-проектировщика ОВиК. Ключевым в введении к ней была фраза "..покажу, как можно без особых забот сделать самому то, за что серьезные ребята берут не плохие денежки..." 
В статье описывалась, как простой проектировщик вентиляции с помощью Экселя, VBA и упорства сделал себе вполне рабочий инструмент по автоматизации проектной рутины. 
В основе была идея, что в таблице эксель, в котором 99% проектировщиков выполняют рутинные расчётные задачи, не подготовленный по кодингу специалист может формировать параметры и атрибуты, транслируемые в чертежи дае ещё и с посылом что обратный процесс тоже возможен. 
Естественно сырой опубликованный код был слабо применим широкими массами людей, всё таки не слишком он был юзер-френдли. 
Но вот идея, которую эта статья зародила и дальнейшее доведение кода дали вполне ощутимую перспективу автоматизации вообще любых процессов проектирования силами... проектировщиков. 
Представим обычного проектировщика в вакууме, пожелавшего самостоятельно автоматизировать свои процессы и методы и недовольного вертикальными решениями крупных САПР-холдингов, разбирающихся в инженерии чуть больше чем на нулевом уровне.  Чему учат на всех курсах по САПР - чертим линию, потом кружок, потом тело. Вот сделали командой блок или семейство, вот даже научили парметризовать это. И следующий шаг - универсальный обмен между расчётными методами и чертежами - уже осваивай сам, как хочешь.
После этого нужен более высокий уровень управления графическими данными, нужна аналитика, расчётная часть коллективного применения. И каждый новый инструмент, каждая новая задача требуют времени, на анализ, разработку, освоение, применение, а пока проектировщик занят несвойственным ему делом, программированием, он уже может забыть что и как реализовывал ранее, да и по своей специальности отстать может. На выходе нужны проекты, а не сложные коды. 
Вывод - надо научиться использовать тот low-code инструмент, который всегда под рукой, которым умеешь в совершенстве пользоваться, который может твои универсальные расчёты в промышленных масштабах и удобно перегонять в чертежи и получать обратно. 
Но главное. Надо все свои наработки бережно сохранять, надо подсматривать кто чего достиг, делиться своими успехами, да и объединять усилия важно. 
Вот на такие мысли натолкнула эта старенькая статейка и было решено доработать этот небольшой, но страшно полезный, кусочек кода до такого состояния, способного продемонстрировать здравость подхода. 

Вот так и родился FXTD, а следом и сам проект LoVo KB. 

Что может?

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

 В том числе может считать:

- системные характеристики (имя, поворот, координаты, масштаб, слой, Handle) 

- "выбор динамического блока" (видимость, параметр выбора или таблицы выбора) 

- атрибут (текстовая строка)

- геометрический динамический параметр (длина, угол).

 

Скрипт умеет формировать массивы динамических блоков с заданными в таблице Excel значениями параметров и атрибутов, присваивать блокам нужные системные параметры.

После обработки массивов информации средствами формул Excel, PowerQuery или PowerPivot результаты вычерчиваются  в чертеже. 

Скрипт умеет менять существующие объекты на чертеже, считывать адрес Handle из таблицы, находить в чертеже соответствующий динамический блок и присваивать параметрам, атрибутам и характеристикам заданные в таблице Excel значения.

После обработки массивов информации средствами формул Excel, PowerQuery или PowerPivot результаты корректируются в чертеже или чертёж дополняется. 

Есть выбор, добавлять новые блоки, если блок с таким Handle не найден, или работать только с существующими.

  

Скрипт умеет собирать данные о свойствах имеющихся у выбранных динамических блоков и определять каждое из них:

- это "выбор" (например видимость); 

- это атрибут;

- это параметр. 

Причем параметр определяется с типом единиц измерения (угол или расстояние), свойство "выбор" с определением вариантов выбора, заложенных в блоке.

Считанные данные о имеющихся у блоков параметрах и атрибутах формируются в отдельный лист таблиц, им присваиваются именованные диапазоны для простоты дальнейшей обработки средствами Excel.   

Будущее

На данный момент идёт работа над версией 1.0.0.4 скрипта. 

Составлен план работ и коллектив доводит некоторые имеющиеся функции до совершенства и добавляет новые фичи. 

Каждый может ознакомиться с планом текущих работ. 

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

Где взять?

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

Правда, иногда он будет выдавать ссылку на нашу группу, а также первоначально его можно скачать только Донам нашего сообщества. 

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

Прошу и вас поддержать, если идея вам близка или вы чувствуете, что наш скрипт окажется вам очень полезен.