Автоматизацията в AutoCAD все по-възможна или как да станеш 10 пъти по ценен
Има една тема, на която съм фанатично вярващ. Трябва да автоматизираме всичката хамалогия и да извършваме основно креативна работа.
И няма как да е иначе според моя опит. Операции, които са ми отнемали цяла седмица – 5 дена по 10 часа, сега ми отнемат 10 минути, след като съм написал кратка autolisp програмка, която автоматизира тази задача. Автоматизирали сме някои типове проекти за ВиК мрежи, които преди ни отнемаха 3 месеца и сега ни отнемат само 1 месец. Ако не бяхме го направили, отдавна щяхме да сме извън бизнеса.
И аз не съм програмист и ако професионален програмист ми види кода сигурно ще падне от смях. Но на мен не ми пука, че програмката ми върви 9 секунди вместо 1 секунда, защото ми пести една седмица работа. Всъщност, нямаше да ми пука и ако вървеше 10 минути (въпреки че леко щеше да ме дразни).
Но един човек беше казал нещо, което първоначално ме шокира. Не си спомням кой беше, но ми направи силно впечатление. И то беше, че „всеки човек в бъдеще трябва да знае да програмира“. Това в началото ми звучеше много странно…, но колкото повече мисля над тази тема, започвам да вярвам, че е прав.
Естествено далеч съм от мисълта баба на село или чистачката да програмират, но всеки, който се занимава с креативна дейност, тоест създава нещо от нищо, би трябвало да може да програмира.
И тук не говорим за някакви сложни програми и езици. В повечето случаи това са скриптови езици, които са лесни за научаване. Autolisp програмка, която автоматизира дадена повтаряща се лична задача или пък програмка, която ни автоматизира количествените сметки в Excel.
За един професионален програмист това са смешни като сложност задачи. За един проектант, който си е спестил седмица работа от настоящия и всеки следващ проект това е чудо неземно.
За едно проектантско бюро човек, който може да прави скриптове за автоматизация e 10 пъти по ценен от колега, който не може.
Убеден съм, че днес мнозина биха ме сметнали за луд за това изказване, но след по-малко от 10 години хората ще считат това за нещо подразбиращо се от самосебе си.
Аз съм на мнение, че инженерът и архитектът на бъдещето трябва да знаят да програмират.
Но имаше едно нещо, което ме притесняваше до сега
Трябваше да науча прекалено много езици.
Ако искаш да автоматизираш работата с Excel – тази необятна и невероятна програма, то трябваше да научиш VBA за Excel
Ако искаш да си автоматизираш работата с AutoCAD, то трябваше да научиш препоръваният от Autodesk .NET C# или забравения от бога, но обожаван от проектантите Autolisp.
Абсолютно безумие е препоръката на Autodesk инженери и архитекти да учат C#. За това и никой освен професионалните разработчици не го правят.
Autolisp кажи речи не ти върши никаква работа извън средата на AutoCAD. Появява се друг по-добър софтуер и тези умения не ти вършат никаква работа.
И тук идва светлината в тунела. Възходът на JavaScript
Миналата година Autodesk направиха JavaScript API.
С две думи мнозина определят JavaScript като езикът на бъдещето. Работи на всяка платформа, бърз е и изглежда, че ще може да се ползва на всякъде.
JavaScript можеш да ползваш в AutoCAD, но можеш да го ползваш и във Photoshop или другите продукти на Adobe.
Google Docs са напълно програмируеми с Google Apps Script, което пак е JavaScript
Не съм разглеждал до каква степен човек може да замени VBA с Javascript в Excel, но го има и тенденциите отиват в тази посока.
Все повече с времето ще става така, че с JavaScript можеш да си автоматизираш всяка една повтаряща се и хамалогична задача, която ти отнема време, независимо с кой софтуер работиш.
Езикът за програмиране JavaScript става нещо като английския език – с него можеш да се оправиш на всякъде.
Естествено най-популярен е за уеб и мобилни приложения, но ние тук говорим как един специалист да може да си автоматизира работата със софтуера, който вече използва.
Колко трудно е да се научи човек да програмира?
Звучи много по-трудно отколкото всъщност е.
Повечето хора, които се занимават с AutoCAD са инженери, архитекти или дизайнери и са учили в университета базата и основните понятия по математика, които са им необходими.
Особено при скриптовите езици всъщност ние задаваме последователност от команди, които така или иначе бихме направили на ръка.
Например при един обект имаше изчертани надлъжни профили и се оказа, че кота дъно на всичките профили (4,000 точки) трябва да се задълбаят с 5 сантиметра. Направих програмка от няколко реда която гласеше:
1. Избери всичките текстове от този слой;
2. За всеки текстов обект направи следното:
2.1. Вземи стойността на котата
2.2. Извади от стойността числото 5 и запиши новата стойност
5-6 реда ми спестиха цял ден работа. Така или иначе правя същите операции, просто компютърът ги прави вместо мен.
Кой няма нужда да учи програмиране?
Най-вероятно само хората на мениджърски позиции, които така или иначе не отварят софтуер като AutoCAD, Revit, Civil или ArchiCAD.
Също така и на чистачката не и е необходимо.
Заключение
Колкото и екстремна да ти звучи тази мисъл, ако искаш да си 10 пъти по ценен за твоят фирма или твоите клиенти, започни да учиш JavaScript за програмата, която използваш най-често.
Моето предсказание е, че за в бъдеще JavaScript ще стане универсален език, който ще ни помага в работата с компютъра. Нещо като английски език за хората, които работят с компютър. Може и да оцелееш без него, но няма да стигнеш далеч.
Да не програмираш е все едно да ползваш сметачна линия, а другите да ползват калкулатор или Excel.
Ако човек вече има опит с друг език за програмираме разбира се това само може да му помогне. Дори да тръгне сега да учи VBA или Autolisp например, това отново ще му е от голяма полза.
Ако темата ви е интересна, само оставете коментар и ще добавя публикация с повече ресурси и информация.
Какво е вашето мнение? Има ли смисъл един проектант да учи програмиране?
Като малък исках да уча информатика. Занимавам се с програмиране от 14 годишен :). В последствие завърших геодезия.
Винаги компютърната част от геодезията ми е била като детска игра. Безспорно ако се оправяш добре с компютрите може да си в пъти по-продуктивен. Но пък не може човек да разбира от всичко..
Темата е много полезна. Добре е човек да се учи да програмира, дори и да не му трябва в момента. Така когато се сблъскаш с някой проблем ще знаеш че може да се направи програмка за него.
пък и вече програмирането е много много по-лесно и приятно. Има си готови алгоритми, библиотеки и т.н.. Просто пишеш скрипт и подреждаш действия.
не е като да учиш С+, асемблер и т.н. 🙂
В тази сфера има голяма дупка и поле за действие. Програмистите не разбират какви са нуждите на проектантите, а другите пък не могат да осъзнаят колко могат да си улеснят работата 🙂
Статията и идеите в нея са изключително полезни.
Аз съм ПГС и навремето си бях купил един програмируем калкулатор на старо „Texas Instruments“ 59 за доста високата по онова време сума от 500 лв, при положение, че млад инженер започваше в проектантската организация като проектант VI степен със заплата от 105 лв. – това беше около 1980 – 83 г.
Понеже ми беше интересно, а и бях решил, че мога да си улесня живота на проектант, вечерите след работа седях и успях да си направя програмки за решаване на непрекъснати греди, плочи и фундаменти, както и ред други по-малки, но много полезни приложения, като спесификации на армировка и др.
Това доста ми улесняваше живота, пък и КТК-то свикна с програмките / бях ги направил във вид на таблица – входни данни, междинни и крайни резултати / и се оправях с проектите доста бързо.
След това не съм се занимавал с ЛИСП или някакво друго програмиране, но смятам, че наистина човек трябва да има някакъв определен минимум от познания в тази област.
Според мен за всеки проектант ще е полезно да се научи да програмира – още повече, че това ще му отвори нови хоризонти. В момента в ИТ сектора средната заплата е около 2400лв и има очевиден глад на кадри (очакват се към 20000 вакантни места до 2020г.), докато в нашия бранш е пълна мизерия – с мъка може да достигнете 1500лв, при пренаситен пазар с чертожници (нарочно не казвам проектанти, защото в 80% от случаите фирмите наемат хора само за изчертаване на проекти, не и да вършат това, за което са учили) и разпределени обекти по политическа линия (а.к.а. – „еврофондовете“).
Така, че смело към програмирането – там е бъдещето.
Програмирането си е много полезно е проектантската област. Който има време и може да го отдели за тази цел, рано или късно ще разбере, че е имало за какво.
В офиса няколко пъти са ме гледали, че от време на време ми стоят отворени разни прозорци и са се чудели, какво правя, а не съм в AutoCAD-а. След известно време започват да идват да те питат: ама това при теб, как стана толкова бързо.
Не знаех, че AutoDesk са се насочили към JavaScript. Добре да се знае!
Отдавна смятам да се заема, но все не ми остава време. Като студент писах приложение за Autocad на VBA за триизмерно изчертаване на трафопост при въведени параметри. Получи се доста впечатляващо за онези години (2005). Макар че всъщност програмата имаше скромни възмножности подходът изглеждаше многообещаващ, а като човек изучавал програмирането на макроси чисто аматьорски ми костваше доста усилия. Но пък бях много доволен от себе си.
Наскоро започнах да преоткривам VBA. Писах си една програмка към Excel, която ми четеше база данни от текстови файл на една стара досовска строителна програма. Програмата сортира отделните колони, подрежда ги в клетките на ексел, разпознава точния тип на информация и преценява къде да я сложи и дали е необходима тази информация и задължително прави проверка за идентичност на данните, защото става въпрос за количествена сметка цени и пр. Не шега работа.
Сега като имам време си човъркам VBA в аутокад и мисля, как да го впрегна в работа, но е доста по-трудно от колкото в Ексел – спор няма. Сума идеи ми се въртят в главата по темата, но кога ще се заема по-сериозно не зная.
Последното ми най-голямо „постижение“ е да маркирам автоматично с кръгчета всички ел.контакти на даден чертеж. Може да изглежда елементарно, но бая се изпотих докато разнищя всички неща за да стане работата 🙂 .
На мен темата ми е много интересна, бих изучавал JavaScript ако е по-функционален и перспективен от VBA.
Ако нещо те интересува бих споделил нещо от опита си в писане на макроси с ВБА, но разбира се, изобщо не претендирам за голяма изчерпателност и оптималност в решенията.
Поздрави!
Чета статията, чета коментарите и си давам сметка колко лесно човек може да изостане от заобикалящия го свят. Неслучайно изоставих средното си образование на компютърен специалист и продължих със ССС, програмирането не ми се отдаваше, по милост ми писаха 3. Останах си с неприязън и ето че това дава отражение в момента. Като чета разбирам, че всъщност не става въпрос за къртовски труд и ползите от изучаването и прилагането на JavaScript в програма като AutoCAD са големи. Аз съм от онези чертожници, както колегата Георгиев е посочил за повечето млади инженери, като до вчера съм чертала дипломната си работа, но без да обърна внимание на алтернативни методи за чертане в средата на AutoCAD. Благодаря за темата!
Поздрави!
Към днешна дата препоръката за JavaScript още ли е валидна?
Защо питам?
Инженер-проектант съм. Харесва ми да работя с AutoCAD и също така да подобрявам знанията и уменията си. Не съм се занимавал с програмиране, но реших и придобих основни познания по AutoLISP. Чудесно е, че с него мога автоматизирам повторяеми процеси, но ми се струва НЕпривлекателна идеята да задълбавам в език, който може да се ползва основно само за AutoCAD. Иска ми се да се насоча към език с по-широко приложение.
Поздрави!