| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Складывается такое впечатление, что здесь его недолюбливают.
Перейдя в проектный институт, 3 мес назад, для меня сложились благоприятные условия для автоматизации работы (в Автокадк в первую очередь). Начал изучить лисп. Между прочим посматривал VBA. Оказалось, что он намного проще. Переключился на него. В итоге, получилось написать макрос (в одном файле ~1Мб), для расчета и построения чертежей спецификаций ростверка. Так вот, есть желание продолжить изучение VBA и возможно ARX. На этом форуме, стоит это делать? Судя по нескольким моим темам. Как-то не очень. Кроме Алексея Кулика, который плохо относится к VBA (где-то встречал в его постах), никто не помогает. Куда податься? Мне нравится этот форум. Хотелось, что бы здесь было побольше тем по VBA и ObjectARXу. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Почему лично я не люблю VBA:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 05.10.2007
р. Татарстан
Сообщений: 4,840
|
прошу прощения - грубо говоря ничего не понимаю в данном вопросе, но почему лисп нельзя отключить? его ведь еще включить надо сначала... или тут имеется ввиду некоторая защита от тупости?
__________________
Категории - нет Главспеца - нет ГИПА - нет Начальник - архитектор |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Имеется в виду прежде всего: поддержка VBA может быть элементарно не установлена (посмотри подробности установки). Даже на "полный" AutoCAD. LISP таким манером не отключается.
Я сейчас не помню, но где-то можно установить, что при попытке загрузки VBA-кода AutoCAD будет задавать глупые вопросы.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,386
|
"Зло VBA" заключается в том, что оно калечит мозги. Люди начинают думать примерно так:
Цитата:
С конкретными ограничениями VBA в AutoCAD столкнетесь позже. Тогда и поймете, почему столько про LISP рассуждают. Кое-где VBA совсем не "зло" - где оно к месту. В MS Office, например. И даже сам язык Basic не является "абсолютным злом". Там, где его различные диалекты встроены в разные системы и являются единственным доступным инструментом для программирования. А в AutoCAD VBA - "зло". Потому что до его встраивания туда по наущению Microsoft уже было достаточно разных инструментов - LISP и ARX и кое-что еще. А теперь есть и COM, и .NET. Но приделали "пятое колесо" к телеге. Исключительно в конъюнктурных целях. "Зло" еще и в том, что все MS-Basic-и продвигались как личная любимая игрушка Билла Гейтса. А теперь ушел он "на пенсию". Политику будут диктовать другие люди, которым это чудо самим обрыдло. И очень скоро (не завтра) MS "кинет" всех почитателей идеи - "раз Билл самый богатый, то он и самый умный. А раз он придумал VBA, то и я буду его пользовать и тоже буду богатым". |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
У меня пока, нет причин для сверх-универсальности программ (макросов). У всех (в отделе
![]() - По массивам. Я не очень в них разбираюсь, и пользовался коллекциями. - С формами есть косяк. Сталкивался с проблемой связанной с версией используемых Controls (типа ListViev). У меня дома (дом мой в Балаково, в Саратове я работаю и живу в коммуналке) стоит тоже АА2008 тока кря., но форма сделанная на работе, с применением этого ListViev'ера, не пашет. Уже забыл, но, пишет что-то типа: У вас нет прав на исп. этого элемента управления (тока на английском). Че за фигня, так и не понял. - по 6, пока ниче не нашел. Мне удобен VBA тем, что можно быстро сварганить макросик, для оперативной работы. Объектная модель, как на ладони (только поболее внимательности нужно ![]() Думаю о перспективе изучения ObjectARXa. Это вообще реально. С чего лучше начать. Какой язык выбрать. Пока, я не знаю никакой. Посмотрел первые шаги для Visual C++, на http://www.firststeps.ru/, и испугался, совсем не похоже на VB. Можно ли использовать VB.NET (должен быть похож на VB) с ObjectARX'ом. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Цитата:
Цитата:
У меня есть время, есть желание и мне за это еще деньги платят. Буду пытаться. И с помощью этого форума, в первую очередь (привязался уже). |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Использовать VB.NET для AutoCAD возможно. Но arx-приложения на нем писать - нет.
Лично для меня сейчас в изучении ARX несколько препятствий: слабое понимание разницы между конструкцией int* p и int *p (если она вообще есть); страх перед теми же указателями (и за компанию строками). И есть еще один момент, самый трудный - достаточно богатая фантазия + лень. Ежедневно придумываю себе несколько десятков отговорок, только чтобы не начать работать на C++ или C#. Каждый день новые...
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
- Регистрация: 24.07.2005
Москва
Сообщений: 1,335
|
Получать доступ к объектам объектной модели может оно и проще. Да вот не все можно достать через объектную модель. ето минус раз.
Работа с данными. Чтобы создать на лиспе пятимерный массив данных (к примеру) (по логике программы нужно) - ето пара строк, потому как лисп для этого предназначен. Встроенные функции, на ВБА же придется запускать кучу циклов, постоянно определять размерность динамических массивов и т.п. Про скорость работы этих высокоуровневых циклов на пятимерных массивах - молчу, лисп быстрее будет на несколько порядков. off: Цитата:
|
|||
![]() |
|
||||
Я один из тех, кто его недолюбливает.
Цитата:
Собираешься стать профессиональным программистом? Если нет, то лучше в ObjectARX не лезь. Леша. А int* p и int *p - это одно и тоже. |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,386
|
Когда говорят "не пей из копытца" или "не лижи металл на морозе" детям, обычно такой же ответ - "домыслы".
Цитата:
Цитата:
Надо не пытаться, а изучать. И если время есть, да еще и платят, то не надо тратить его на такую чепуху, как VBA - оно как раз для "деллитантов". Займитесь лучше изучением .NET, да не на диалекте VB, а на C#. Или действительно, если есть желание стать профессионалом, можно изучать ObjectARX. Пользы будет гораздо больше, в том числе и в плане дисциплины для мозга. И даже если останетесь дилетантом, это лучше, чем остеться деллитантом. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Александр Ривилис, спасибо
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
make love not war Регистрация: 22.05.2008
Сообщений: 681
|
VBA, Basic - полезные для инженера языки. Хотя бы потому, что навыки программирования пригождаются в MS Office или Open Office.
Если вы смогли написать приложение и оно работает так, как вам именно нужно, и при этом ощущаете, что и остальные приложения сможете разработать в том же духе - это и есть критерий достаточности его для вас. У инженера одна цель - повысить производительность труда и заработать больше денег, в конце концов. Продажей программ вы вряд ли будете зарабатывать, поэтому и доводить до совершенства вам их не нужно. Просто Lisp исторически лучше работает с автокадом (кстати и с интелликадом тоже работает). Критерии, перечисленные kpblс-ом довольно убойно действуют - если вам ваши знания в какой то момент окажутся бесполезными, то лучше получать те, хчто может быть немного сложнее, но прослужат вам верой и правдой при любом развитии событий и на любой работе. Будь у меня время и потребность я бы и сам Лисп подучил. |
|||
![]() |
|
||||
>ShaggyDoc
Доктор, а ходить я буду? Подпись: счастливо ударенный об VBA со стажем.
__________________
Reshaping the STEM field |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,386
|
Цитата:
Цитата:
VBA - это система, проталкиваемая (проталкивавшаяся) Microsoft для того, чтобы другие разработчики программ встраивали её в свои продукты и делились бабками с MS. Под это дело и распространяются легенды, что это "полезные для инженера языки". Когда MS впервые ввела VBA в свой Office - это было хорошо и к месту - заменили вообще ублюдочный WordBasic. VBA в Office соотносится с моделью офисных документов. Встраивать туда, например, LISP, было бы глупостью. Но даже в Office многие ли воспользовались возможностями VBA? А вот для AutoCAD LISP родной, потому что наибольшим образом соответствует структуре данных. Да и одна функция command чего стоит - именно она позволила "простым инженерам" делать в AutoCAD вполне профессиональные программы. VBA в AutoCAD появился в R14. И где результаты в виде полезных програм? Есть, конечно, единичные "полезняшки" локального значения, но разв их сравнить с LISP? Пусть я тут "злобно клевещу", так ткните мне в морду результатами - вот, мол, сумей так сделать. Для инженера по настоящему полезен грамотный родной литературный язык, технический, и иностранный (сейчас, видимо, английский). А языки программирования - ерунда, преходящее. Студентов 60-70-х годов (инженеров, не программистов) мучили Фортраном, Алголом и даже PL/1 и тоже рассказывали сказки про "полезность". В 80-х годах, когда появились Искра-226, где единственным доступным средством был Basic (очень неплохая версия), стали рассказывать сказки про него. Потом на первых PC появился BASICA, который не надо было "доставать" и на него стали напирать. Потом было еще много всяких (GW-Basic, TurboBasic, TrueBasic, QuickBasic, PowerBasic) и их стали проталкивать. Например, TurboBasic мог делать настоящие автономные EXE, и это понравилось. Но "простые инжененры" делавшие на него ставку бывали очень разочарованы в последний момент, когда натыкались на его ограничения. VisualBasic был революционным - он дал возможность намного легче проектировать интерфейс, а это самое трудоемкое. Но "визуальность" быстро вошла во все среды програмирования. Если говорить только про инженеров, не программистов, так для них гораздо лучше оказалась Delphi. Язык (именно язык) Pascal гораздо лучше, так как он специально разрабатывался Виртом чтобы вправлять мозги. А сама среда програмирования неизмеримо эффективнее. И я знаю немало "простых инженеров", которые так и работают. При этом еще и их программы очень популярны. Где-то в Download лежит Научный Инженерный Калькулятор Николая Волкова - он "простой ОВ-шник" из Минска. Есть и такие, которые "подсели" на C-платформу. Начинали с TurboC, теперь в VS работают. Немало "простых инженеров" прошли эволюцию от dBase до VisualFoxPro. Там и язык-то почти естественный, но это профессиональные инструменты. А профессиональным инструментом (хоть ножовкой, хоть автомобилем, хоть средой программирования) всегда лучше пользоваться даже любителю. Даже "для себя". Линия же VB - это любительский инструмент. Несмотря на то, что встречаются и очень хорошие програмы, сделанные на VB. Но это уж от рук мастера зависит. Только таких мастеров очень и очень мало, по сравнению с общей массой блаженно верующих. |
|||
![]() |
|
||||
Регистрация: 06.03.2008
Сообщений: 165
|
ShaggyDoc! Спасибо хоть ходить и ползать разрешили. Написать прикладные программы можно на любом языке программирования. Тут дело привычки и вкуса.VBA для AutoCAD- это математика + векторная алгебра, правда не всегда выполненая удачно. Считай и рисуй и все в одном dvb.
Хотелось бы чтобы Вы на простых примерах, а не голословно, обосновали свою точку зрения. |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,386
|
Простенькие примеры? Пожалуйста - хоть с математикой, хоть с векторной алгеброй.
1. Нарисуйте с помощью VBA интерактивный круг. Указали центральную точку - а радиус динамически, чтоб "резиновый круг" тянулся. Lisp не использовать по религиозным соображениям. А также блочки повставлять, чтоб на курсоре висели, поворочать что-то. 2. Сделайте несколько проектов, использующих одну и ту же функцию. Потом попробуйте изменить эту функцию (допустим, ошибка нашлась), и добейтесь новой работы без изменения проектов. 3. Попробуйте создать размерный стиль и установить его параметры средствами VBA. Параметры - это то, что отображается в диалоге - форма стрелок и прочее. 4. Попробуйте нарисовать какую-нибудь интерактивную трассу, наподобие того, как это делается командой PLINE. Это как раз детские задачки. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Кстати, п.4 в VBA реализовать можно. Но у меня сию секунду мозгов хватит только на прямые участки, дуговые сегменты мне не осилить. А вот п.3 на VBA нереализуем в принципе
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
От себя добавлю несколько оценок VBA (по 5-бальной шкале):
1. Возможности интерактивного взаимодействия с пользователем AutoCAD : 3 2. Отсутствуют начисто возможности по работе с кривыми: 2 3. В отличие от VisualLisp/ARX/.NET есть возможность работать с AutoCAD только через COM-интерфейс, так что возможности взаимодействия покрываются разве что на 50%: 3 P.S.: А почему тема не в программировании? Последний раз редактировалось Александр Ривилис, 30.07.2008 в 12:42. |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,599
|
Изначально тема находилась в "разном", да и заголовок такой, достаточно расплывчатый. Кто ж знал, что сюда придут такие спецы, как Александр Ривилис, ShaggyDoc. Alaspher'a еще сюда притащить бы
![]() Если есть желание - можно и перенести.
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пароль к VBA | karp_b | Программирование | 24 | 29.08.2013 12:43 |
Юмор 2007 | Огурец | Разное | 1172 | 29.12.2007 11:16 |
Чем можно удалить файл, занятый не понятно чем? | G.A.W. | Разное | 4 | 08.10.2007 15:12 |
ActiveX Automation из VBA | karp_b | Программирование | 5 | 14.09.2007 18:05 |
VBA vs LISP | Kosenko Sasha | LISP | 23 | 06.03.2007 02:56 |