| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Оффтоп про AutoLisp и .Net:
1. Я бы не сказал что автолисп проще в изучении чем .Net - "порог входа" там безусловно ниже (можно через час чего-то самому написать), но для написания чего-то нормального - требуется достаточно приличная подготовительная работа + для использования приемуществ лисп программирования - надо писать в соответствующей парадигме - а она сильно не похожа на классику мейнстрима. ИХМО для человека знакомого с .Net гораздо быстрее освоить .Net Api нежели лисп (хотя для человека знакомого с не авто лиспом - последний покажется детской игрушкой - но таких людей меньше). 2. В автолиспе есть проблемы с рядом вышеописанных "функционалов". Но, хоть и криво - они решаются, и самое главное - не стоит сравнивать в этом аспекте "общие" языки со скриптовым диалектом программы - хоть и хорошо сделанном. 3. Если нужен "инструмент под автокад" - автолисп идеален для его разработки - в большинстве случаев все требования красоты и окон - это больше придирки чем необходимость - "большая половина" штатных команд автокада работает без них - и думаю если все их "разукрасить" получиться "винегрет" который хорош для рекламных роликов - а не для работы. Другое дело если речь идет о специалазированном приложении которое "для удобства" работает из-под автокада, но основная его работа это "математика" (в автолиспе с ней кстати все совсем не плохо - за исключением того, что медленно), общение с СУБД, формирование отчетов во всевозможных форматах ну и конечно GUI. У меня например одно из таких, если мерить в процентах строк кода - то "автокадных" там - 2% - jig, чтение данных, публикация + еще по мелочи (к слову публикацию автокад делает одинаково отвратительно во всех вариантах - что лисп, что .Net - и все что можно печатать без него - формирую автоматом в PDF через .Net библиотеки - в общем львинная доля печати - опять-же не в нем). Если сразу понятно что пишется и в каких масштабах - то это сильно облегчит будущую работу и стратегии выбора, не забываем кстати - что автолисп и .Net это в общем не исключающие друг-друга технологии - которые могут прекрасно взаимодействовать между собой в "обе стороны". Резюме - часто почему-то не берут в расчет один из наиважнейших параметров ПО - скорость разработки (то есть, с некоторыми коэффицентами - ее себестоимость) и по этому, повторюсь, крайне важному параметру лично я не могу выделить фаворита - зависит от ТЗ - возможны сильные перекосы в ту или иную сторону.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,844
|
Offtop: Добавлю только одно: совместимость по версиям. .NET библиотеки приходится компилировать под определенные требования; lisp-приложения (если, конечно, они написаны более-менее нормально) будут работать и в 2004, и в 2016 версиях
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Цитата:
Или, не открывая чертеж в AutoCAD, пересохранить его в другой версии. Или, опять же, не открывая чертеж в AutoCAD, получить список блоков из чертежа с их картинками-превьюшками и вывести этот список в диалог. Много примеров придумать можно.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
Цитата:
Ну, например, определи при помощи лиспа что чертеж создан в Учебной версии AutoCAD. Или определи в какой версии AutoCAD или вертикального приложения чертеж был сохранён (не путай только с версией dwg-файла).
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
Или у меня пробел в знаниях, или такое ощущение - что немного терминология не точна. Под:
подразумевается, что не загружается визуально чертеж (открытие документа), но в сам файл dwg то влезаем (т.е. просто напрямую работаем с БД чертежа через соответствующие функции)? |
|||
|
||||
Цитата:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Да, именно так. Просто, насколько я помню, в Auto-,VisualLISP API нет такого понятия, как "база данных чертежа". Поэтому, я его и не использовал.
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Почему нет, если мы под базой данных принимаем реляционный вид данных (что не является таковым - но терминологически так сложилось), то в таком виде ее нет ни в каком из представленных автодеском API (хотя написать конечно можно). COM имеет "чистое" ООП представление, в том-же виде и .Net API, просто для более низкоуровневой "сишной" совместимости моделей вывели наружу еще и указатели. В лиспе представлена разновидность очень мощной списочной базы данных - DXF. Свою эффективность и гибкость она доказала годами использования и с абстрактной точки зрения именно она лежит в основе представления данных чертежа - а как раз низкоуровневое "сишное" представления - это только вариант ее реализации.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Цитата:
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Цитата:
__________________
Толковый выбор приходит с опытом, а к нему приводит выбор бестолковый. (The Mechanic) |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Вот я когда перечитал, что сам написал - сразу подумал что именно Вы меня будете "подлавливать". Тем не менее - базовое представление чертежа это именно dxf - что не все выраженно непосредственно в нем (но тем не менее все сохраниться если сохранить-прочитать в dxf) это факт - чего-то просто решили не выносить в формат - а оставлять в "сыром" виде. Но, например, у меня самого есть функция для сериализации, запаковки и занесении в расширенные данные готового объекта который при "оверрулях" распаковывается (или читается из кеша по ключу ObjectId) и исполняется - что это в данном случае? ARX в "голом" виде Вам тут тоже не поможет.
з.ы. В вышеупомянутых реляционных СУБД - основой является SQL представление - именно через него выраженна вся абстракция данных, но тем не менее в каждой конкретной физической реализации есть "потроха" недоступные для SQL представления, что кстати противоречит нулевому (то есть самому первому) правилу Кодда, но реальность такова. ИХМО здесь аналогичная ситуация. з.з.ы. to Dos - На .Net так-же мало знакомы с тем-же DXF - и ничего.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
На мой взгляд не профессионального программиста, который пробовал писать на VBA, lisp и Net -> ObjectARX как был изначально средой разработки приложений для AutoCAD для профессиональных программистов (в данном случае под профессиональными понимаю - те, у кого это один из основных, а не прикладной вид деятельности), так ею и остался. Net очень много вещей скрывает внутри своей среды исполнения, и сравнивать его с С++
Цитата:
|
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Ну тогда, в вашей терминологии, я профессионал - но на ARX я не пишу, хоть иногда и пишу на Си - но не под автокад - как это сочетается с Вашей теорией?
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,041
|
Вы спутали язык программирования и сферу (вид) деятельности) Здесь чисто логически - если человек занимается основную часть рабочего времени определенным видом деятельности (за которую ему платят деньги) и у него есть желание развиваться - то со временем он достигнет определенного профессионального уровня. Он может достичь этого в нескольких областях (если хватит силы воли и будет время и возможность). А есть люди интересующиеся и думающие, которые не просто делают свои работу, а стараются изучить и применить на практике что то новенькое для себя, включая и другие области.
|
|||
|
||||
Нет. Неоднократно сталкивался с тем, что dxf-файл, сохранённый из вертикального приложения (конкретно AutoCAD Architecture), не открывается ни в этом вертикальном приложении, ни в чистом AutoCAD той же версии. Т.е. dxf-файл не является достаточно полным отображением dwg-файла. Причина в том, что многие методы dxfOutFields оставляют пустыми (в отличие от dwgOutFields) в Custom objects.
__________________
Сообщество программистов Autodesk в СНГ - техническая поддержка |
||||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Лентяи... Хотя конечно ничто не вечно под луной и быть может в этом виде оно уже действительно не актуально, расстраивает что другой абстрактной модели данных такого-же уровня не предложенно.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
AutoCAD 2012 Поиск по атрибутам блоков | yurka52rus | AutoCAD | 8 | 17.07.2020 12:09 |
Выгрузка данных SQL server в значения атрибутов блоков Autocad | Cosmosila | Прочее. Программное обеспечение | 14 | 05.03.2013 13:04 |
Копирование блоков из AutoCad Civil 2010 в AutoCad 2007 | BoTTePa3 | AutoCAD | 2 | 13.02.2012 18:50 |
Извлечение значений атрибутов блоков AutoCAD Electrical с помощью AutoLisp | zaraki_kenpachi | LISP | 16 | 19.02.2011 15:30 |
Системные переменные для AutoCAD Architecture? | Павлюкас | Программирование | 6 | 09.06.2009 08:23 |