Опрос: есть ли смысл накатать небольшую статью по разработке lisp-приложения под Civil 3D
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Опрос: есть ли смысл накатать небольшую статью по разработке lisp-приложения под Civil 3D

Опрос: есть ли смысл накатать небольшую статью по разработке lisp-приложения под Civil 3D

Ответ
Поиск в этой теме
Непрочитано 27.11.2012, 16:07 #1
Опрос: есть ли смысл накатать небольшую статью по разработке lisp-приложения под Civil 3D
Мансур
 
Инженер САПР
 
Тюмень
Регистрация: 12.11.2004
Сообщений: 36

Будет ли кому-нибудь интересен сабж?
Месяц назад по производственной необходимости занялся написанием расчета плана земляных масс под Civil 3D, а-ля Геоникс (привет CSoft-у!), но с учетом осадок на болоте
В качестве языка разработки выбран Visual lisp. На сегодняшний день программа в принципе уже готова. По ходу разработки конечно огреб кучу всяких мелких граблей, о коих можно было бы поведать, если это кому-нибудь интересно будет. И может с этим вопросом надо не сюда, а в caduser? Что скажете?

upd: Статья готова

Последний раз редактировалось Мансур, 08.03.2013 в 10:02. Причина: коррекция заголовка
Просмотров: 5548
 
Непрочитано 28.11.2012, 06:21
#2
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Наверно любая статья чего-нибудь да стоит, так что "катай", но я не думаю, что она уж очень будет востребовано, в основном приложения пишутся под "голый" AutoCAD, т.к. он "голый", а для вертикальных решений, там как правило и так уже всё необходимое навешано. Тот же Civil отлично считает объёмы, правда не оформляет картограмму, но для этого опять же есть оф. приложение Модуль «Картограмма» для AutoCAD Civil 3D
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Автор темы   Непрочитано 28.11.2012, 08:00
#3
Мансур

Инженер САПР
 
Регистрация: 12.11.2004
Тюмень
Сообщений: 36
<phrase 1=


практически единственная причина написания очередного "велосипеда" - необходимость расчета осадки на болотах. Я так понимаю - официальное приложение про торф и болота ничего не знает?
Мансур вне форума  
 
Непрочитано 28.11.2012, 08:20
#4
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от Мансур Посмотреть сообщение
расчета осадки на болотах
А что, вы её как-то по особенному учитывает? Мы вообще тупо брали среднею осадку и умножали на площадь, Хотя сейчас думаю, надо было просто за исходную поверхность брать не поверхность болта до начала работ, а построить её по "просевшим" отметкам "плит-марок"
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Автор темы   Непрочитано 28.11.2012, 09:11
#5
Мансур

Инженер САПР
 
Регистрация: 12.11.2004
Тюмень
Сообщений: 36
<phrase 1=


мы осадку считаем по ВСН 26-90, там надо в каждой точке рассчитывать эквивалентную толщину торфа, затем осадка считается итеративной формулой. Математика простая, но руками считать застрелишься
Мансур вне форума  
 
Непрочитано 28.11.2012, 09:12
#6
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Мансур, если есть что написать - пиши не раздумывая и не спрашивая.

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

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

В-третьих, разработка своих приложений под "вертикальные" приложения AutoCAD дело интересное и нужное. То, что ты сделал послужит толчком для других.

Успехов!
ShaggyDoc вне форума  
 
Непрочитано 28.11.2012, 09:31
#7
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Да, будет интересно!
Под сивил на лиспе писать - труд неблагодарный и бесперспективный. Для этих целей больше подходит дотнет.
Интересно, каким образом удалось добраться из лиспа до объектов сивила? Сивильные COM библиотеки?
Цитата:
а для вертикальных решений, там как правило и так уже всё необходимое навешано
а не хватает в них еще больше по крайней мере в сивиле. Его еще допиливать и допиливать...
Do$ вне форума  
 
Автор темы   Непрочитано 08.03.2013, 09:59
#8
Мансур

Инженер САПР
 
Регистрация: 12.11.2004
Тюмень
Сообщений: 36
<phrase 1=


Ну вот, как говорится, не прошло и полгода
Вчера ночером неожиданно родилось нечто. Не знаю, тянет ли на статью, но собственно вот: статья
Цитата:
Сообщение от Do$ Посмотреть сообщение
Да, будет интересно!
Под сивил на лиспе писать - труд неблагодарный и бесперспективный. Для этих целей больше подходит дотнет.
Интересно, каким образом удалось добраться из лиспа до объектов сивила? Сивильные COM библиотеки?
С этим я таки не согласен. Писать на лиспе под Civil удобно, если знать как. По поводу чего и статья.
Хотелось бы услышать отзывы и замечания.
Мансур вне форума  
 
Непрочитано 08.03.2013, 11:12
#9
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
Хотелось бы услышать отзывы и замечания.
Ну вот, а ты сомневался. Очень полезная статья.

Замечания - чисто оформительские.

1. Текст плохо воспринимается. Кажется "многобукаф". Вставь двойные переводы, вообще делай короткие строки - для читабельности. Это же интернет, тут тебя площадью не ограничивают, зато смысл надо быстро улавливать.

2. Выделяй в тексте жирным шрифтом всякие названия, наподобие VisualLisp, Land Desktop.

3. Замени последовательные setq на один вызов. А то всё уважение пропадает.

Молодца!
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 08.03.2013, 17:29
#10
Мансур

Инженер САПР
 
Регистрация: 12.11.2004
Тюмень
Сообщений: 36
<phrase 1=


ShaggyDoc, благодарю за помощь. Поправил, надеюсь теперь стало получше. Пока правил, вспомнил и добавил еще некоторые моменты
Мансур вне форума  
 
Непрочитано 08.03.2013, 19:17
#11
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Мансур, если честно ваш код совсем не пример для подражания...
Цитата:
обсуждаем чей-то код на работе:
xxx: Так вы представляете, у него там фрагмент кода в 15 строк повторяется 37 раз. Если вынести в функцию можно сэкономить полтыщи строк!
yyy: это припев.
gomer вне форума  
 
Непрочитано 09.03.2013, 00:05
#12
Олег (jr.)

специалист по околачиванию грушевых деревьев
 
Регистрация: 14.09.2004
Pietari, Venäjä
Сообщений: 811


Цитата:
Сообщение от gomer Посмотреть сообщение
если честно ваш код совсем не пример для подражания...
Просьба для сообщества твой пример для подражания
(в кратце, с пояснениями)
Сами то мы не местные в Civil
Олег (jr.) вне форума  
 
Непрочитано 09.03.2013, 06:10
#13
ShaggyDoc

Thượng Tá Quân Đội Nhân Dân Việt Nam
 
Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372


Цитата:
если честно ваш код совсем не пример для подражания...
Вообще-то Мансур и не писал "пример кода для подражания". Он описал изученные им лично приемы работы. Об этом вообще никто не писал, по крайней мере я не встречал. Теперь каждый желающий может сам, на своем сайте, написать "опровержение", добавить, и привести обазцы для подражания.
ShaggyDoc вне форума  
 
Автор темы   Непрочитано 09.03.2013, 06:49
1 | #14
Мансур

Инженер САПР
 
Регистрация: 12.11.2004
Тюмень
Сообщений: 36
<phrase 1=


gomer, если честно, я вообще не умею писать код, достойный подражания . Каждый раз получается по-другому. Суть статьи всего лишь в том, чтобы обозначить грабли, которые встретились. А еще у нас есть такая поговорка: "критикуешь - предлагай (свое решение)". Было бы интересней услышать более конструктивные замечания. В нашей отрасли и в нашей местности к сожалению нужен точный расчет осадок, "умножаем среднюю на площадь" не подходит. Поэтому собственно и велосипедостроение.
Мансур вне форума  
 
Непрочитано 09.03.2013, 09:59
1 | #15
hwd

C, C++, C#
 
Регистрация: 07.10.2009
С-Пб.
Сообщений: 2,762
Отправить сообщение для hwd с помощью Skype™


Цитата:
До сих пор не разочаровался в выборе, хотя под конец пришлось пару небольших функций переписать на C#.
...
Плохо то, что некоторые новые функции появляются только в .NET, а COM-интерфейсов к ним нет. А это значит, что напрямую из лиспа к ним уже не обратиться и нужно писать лисп-функцию на C#.
К сожалению, как только появляется такой момент - сразу исчезает независимость AutoLISP\Visual LISP кода от версий AutoCAD (один из основных плюсов этого языка в AutoCAD). Со временем таких функций будет становиться всё больше...

Цитата:
Почувствуйте, как говорится разницу: в C# для отладки нужно каждый раз перезапускать Civil и ждать несколько минут, в случае с VisualLisp я в Civil набираю определенную мной же команду LPZM и вуаля - через секунду загружена свежая версия исходников.
Насчёт нескольких минут - это преувеличение, хотя, если у вас слабый компьютер, который загружается минут 15, то возможно так и есть... Скорость загрузки AutoCAD 2013 вообще не радует, даже на мощных компьютерах. Разница в загрузке плагина для отладки конечно существует, но нужно чётко понимать, что обусловлена она не самим C#, а тем, как разработчики AutoCAD спроектировали приложение. По грамотному, загрузку .NET плагинов следует выполнять в отдельный домен (AppDomain), что даст возможность в любой момент выгружать его содержимое и загружать заново (если понадобится). Однако AutoCAD к сожалению спроектирован так, что все .NET плагины приходится грузить в основной домен приложения. Так же разработчиками AutoCAD совершенно не продумана возможность модульного тестирования .NET плагинов, что является огромным минусом в их огород.
Цитата:
В случае необходимости IDE VisualLisp можно запустить прямо на компьютере пользователя и посмотреть, что пошло не так. Выручало уже несколько раз.
MS Visual Studio позволяет выполнять удалённую отладку. В сети находится компьютер разработчика, на котором установлена IDE и нужные версии AutoCAD. На прочих сетевых машинах установлен AutoCAD. Если на какой-то машинке возникает проблема, разработчик запускает удалённую отладку, указав имя нужной машины. В результате на целевом компьютере автоматом запускается acad.exe, к процессу которого цепляется IDE и далее процесс отладки происходит точно так же, как на "своём" компьютере. Т.о. можно изучить проблему "на месте". Всё это происходит "прозрачно" для разработчика.
Цитата:
Для построения картограммы я использую обычный блок с автоматической генерацией имени.
Любопытно глянуть на блок.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:

Последний раз редактировалось hwd, 09.03.2013 в 10:11.
hwd вне форума  
 
Непрочитано 09.03.2013, 16:52
#16
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от Мансур Посмотреть сообщение
критикуешь - предлагай (свое решение)
К сожалению (имхо), когда программа переносится в плоскость работы с ActiveX, количество вариантов реализации катастрофически стремится к единице, поэтому мое замечание, так же, как и замечание ShaggyDoc относится к оформлению. Собственно, я намекнул уже в своем посте на проблемные места. Могу только добавить:
- для начала нужно определиться откуда что загружается и зачем (как следствие когда), с прицелом на компиляцию всего этого безобразия в модуль vlx
- затем определиться что по сути мы делаем и создать целевые функции, выполняющие конкретные задачи, избежав при этом "припевов", а также избежать появления возможных ошибок по ходу разработки приложения, в частности это касается функции SetItem
- исходя из вышесказанного, отказаться от > - подобных сокращений (вот ведь любят некоторые крайности, то название в стопиццот букаф, то в 2 и ничего не понятно)
- добавить (vl-load-com) и другие недостающие функции или указать необходимость его добавления где-то там...
- добавить адекватные комментарии соответственно наличию граблей и бубнов, все таки это публичный пример и читателю общее положение дел должно быть понятно без рысканья по коду
- добавить небольшой пример прикладной программки + картинки или видео
зы мне казалось, что ТС все таки тяготеет к ARX
gomer вне форума  
 
Непрочитано 09.03.2013, 23:14
#17
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Выбор небольшой - VisualLisp либо C# (ну или даже VB.NET). Учитывая мою любовь к первому и стойкое отвращение ко второму начал писать на лиспе.
Дело хозяйское, конечно. Мне непонятна причина этого "стойкого отвращения". У более-менее профессионального программиста, как мне кажется, не должно быть каких-то "стойких отвращений", и выбор инструмента должен быть основан на здравом смысле. Можно приводить много аргументов в пользу C#(VB,JS...) или LISP, но что-то мне подсказывает, что каждый останется при своем мнении
Мое мнение такое: если программирование под AutoCAD Civil 3D - это хобби или дополнение к основной деятельности, а аудитория, на которую рассчитаны эти программы - одна проектная группа, то LISPа в данный момент может оказаться достаточно. Если же все серьезнее, то стОит все же перебороть свою неприязнь(боязнь, недоверие...) к NET языкам и переходить на их использование. На истину в последней инстанции не претендую

P.S. Надеюсь, с этим видео уже знакомы?

P.P.S.
Цитата:
Писать на лиспе под Civil удобно
Ничего себе удобно! Это во VLIDE - то? После VS он кажется "слегка расширенной версией блокнота"

Последний раз редактировалось Do$, 09.03.2013 в 23:53.
Do$ вне форума  
 
Автор темы   Непрочитано 10.03.2013, 07:52
#18
Мансур

Инженер САПР
 
Регистрация: 12.11.2004
Тюмень
Сообщений: 36
<phrase 1=


Спасибо высказавшимся за полезную информацию.
Цитата:
Сообщение от Do$ Посмотреть сообщение
P.S. Надеюсь, с этим видео уже знакомы?
Нет, как-то не натыкался, спасибо.
Цитата:
Сообщение от Do$ Посмотреть сообщение
Ничего себе удобно! Это во VLIDE - то?
Ах вот оно чё, Михалыч!(c) А кто заставляет кодить именно в VLIDE? Лично я на этот раз в нем не написал ни строчки. Коллеги подсказали отличный редактор Notepad++ (раньше как-то тяготел к PSPad). Чуть позже для сравнения пробовал Sublime, в чем-то он оказался лучше, но как-то не прижился.
Коллеги, можно не объяснять мне, что такое .NET и C#, я более-менее представляю. К тому же в молодости под автокад на чем только не пробовал писать: Delphi, VBA, C++, Asm.
Кстати сильно повлияло знакомство с таким интересным диалектом как picoLisp. Особенно с учетом когда-то давно прочитанной статьи Пола Грэма
Мансур вне форума  
 
Непрочитано 10.03.2013, 22:04
#19
Do$

AutoCAD/Civil3D LISP/C#
 
Регистрация: 15.08.2008
Санкт-Петербург
Сообщений: 1,701
Отправить сообщение для Do$ с помощью Skype™


Цитата:
Сообщение от Мансур Посмотреть сообщение
А кто заставляет кодить именно в VLIDE?
У VLIDE есть огромный плюс - возможность загружать код сразу в AutoCAD, проводить отладку на лету. Пробовал другие редакторы (Notepad++ тоже), но без отладки уже не то. "Ощущения не те"

Цитата:
Сообщение от Мансур Посмотреть сообщение
Особенно с учетом когда-то давно прочитанной статьи Пола Грэма
Интересная статья, тоже читал ее когда-то. Но в ней про другой LISP, не про Auto-VisualLISP, который в AutoCADе. Автокадовский LISP сильно обделен в возможностях, т.к., по сути - это инструмент для простой автоматизации с синтаксисом LISPа.
Do$ вне форума  
 
Непрочитано 19.04.2013, 13:42
#20
Deniska_che

Генпланист
 
Регистрация: 19.04.2013
St. Petersburg
Сообщений: 154


Цитата:
Будет ли кому-нибудь интересен сабж?
Очень интересен. А можно получить итоговый вариант программки?
Deniska_che вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Опрос: есть ли смысл накатать небольшую статью по разработке lisp-приложения под Civil 3D

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Civil 3D 2010. Какие есть способы перевода значения атрибута в z координату? Kondrat Вертикальные решения на базе AutoCAD 15 09.04.2025 12:20
Civil 3d 2013. Есть ли для него шаблон _AutoCAD Civil 3D (Metric) RUS.dwt? Nitrogenium Вертикальные решения на базе AutoCAD 8 08.09.2013 02:41
есть ли смысл чертить стропилку в 3D Саша1983 Конструкции зданий и сооружений 18 03.10.2012 18:19
Есть ли у кого русский перевод "Руководство Civil 3D Developer's Guide" rassom Поиск литературы, чертежей, моделей и прочих материалов 1 04.06.2011 22:07
Есть ли в Civil 3D возможность выравнивания дорожного покрытия? 19th Вертикальные решения на базе AutoCAD 4 30.03.2009 17:48