LINUX.ORG.RU
 
bioreactor

Изучаем Common-Lisp


0

0

Изучаем Common-Lisp

Все банально - емакс с набираемым кодом и результат исполнения этого кода. Пишем CAD по мере изучения.

>>> Просмотр (1680x1050, 545 Kb)


[#]  

прикольно :) CAD какого направления?

* ()
[#] Ответ на: комментарий от Harald 30.01.2010 1:39:50  
bioreactor

Пока общего. Just чертилка с автоматизацией

*** ()
[#]  
fat_angel

Шикаарно!!!

Каково текущее положение дел, что уже умеет? Где на него можно взглянуть?

GUI как я понял на GTK? Ели да то какой виджет используешь для самого окна отрисовки? GtkCanvas? При большой числе элементов тормозить не станет?

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

Хм... Еще не заметил строки состояния, как служебную информацию (ну там тип линии, толщина, сообщения требующие немедленного внимания) собираешься выводить?

И последний вопрос касаемо интерфейса, ты его планируешь резиновым (в смысле чтоб все панели можно было убрать и все вводить с клавиатуры) или все прибито гвоздями, прикручено винтами, скручено болтами-шпильками и заварено?

Ну и общий вопрос, что за WM/DE, тема GTK.

***# ()
[#]  
fat_angel

И какой формат файла на данный момент используешь?

***# ()
[#] Ответ на: комментарий от fat_angel 30.01.2010 15:15:07  
bioreactor

Формат свой, смотреть можно на гитхубе. Там же лежит запускаемый образ чтобы не морочится с лисп софтом. Пока что ничего не умеет))) ибо пишу по мере изучения языка (за месяц работы почти ничего не успел). Использую cl-gtk2 для виджетов и cl-cairo2 для отрисовки рисунка (на скрине демка с расположением мебели в моей комнате). Как осилю ООП и разберусь с некоторыми затыками то сразу и версию 0,1 зарелизю.

*** ()
[#] Ответ на: комментарий от fat_angel 30.01.2010 15:13:28  
Hetor

>Ну и общий вопрос, что за WM/DE, тема GTK.

GTK похожа на Elementary, а WM скорее всего Compiz или Metacity.

* ()
[#]  
stave

линк на вп дашь? )

**** ()
[#] Ответ на: комментарий от stave 31.01.2010 19:17:35  
bioreactor

неа)) рано еще, а то скончаетесь от ржаки

*** ()
[#]  
queen3

Впервые вижу нормальные, большие шрифты в редакторе, а не мелочь 8pt. +1.

*** ()
[#]  
shty

круть! респект неимоверный :)

ЗЫ какой лисп? gnucl или sbcl или ещё какой?

*** ()
[#]  
shty

эх, жалко пока немного времени, а то обязательно бы присоединился (если это возможно)

*** ()
[#]  

эпическая картина - лисперы онанируют на кривую поделку на лиспе :)

**** ()
[#] Ответ на: комментарий от lester 02.02.2010 11:25:31  
shty
>>-----Цитата---->>

эпическая картина - лисперы онанируют на кривую поделку на лиспе :)

<<-----Цитата----<<

бгггг... ога, ога, а на <подставьте что хотите> программы сразу рождаются готовыми и с тестами, конечно

*** ()
[#] Ответ на: комментарий от lester 02.02.2010 11:25:31  
bioreactor

Прошу излагать свои претензии в виде патчей!

*** ()
[#] Ответ на: комментарий от shty 02.02.2010 11:27:19  

> бгггг... ога, ога, а на <подставьте что хотите> программы сразу рождаются готовыми и с тестами, конечно

на других языках уже есть готовые полноценные программы

**** ()
[#] Ответ на: комментарий от shty 02.02.2010 11:22:57  
bioreactor

sbcl, я не против присоединения, но цель проекта - мое обучение и гимнастика ума. Скоростная разработка в коллективе не для меня =(

*** ()
[#] Ответ на: комментарий от lester 02.02.2010 11:33:29  
bioreactor

объектом работы был выбран кад, как раз по причине отсутствия вменяемых аналогов

*** ()
[#] Ответ на: комментарий от lester 02.02.2010 11:33:29  
shty
>>-----Цитата---->>

> бгггг... ога, ога, а на <подставьте что хотите> программы сразу рождаются готовыми и с тестами, конечно

на других языках уже есть готовые полноценные программы

<<-----Цитата----<<

и взаправду, зачем нужен какой-то там "линюкс" когда есть кошерный "виндавс" с рюшечками, свистелками и перделками, не правда ли?

*** ()
[#] Ответ на: комментарий от shty 02.02.2010 11:37:49  

> и взаправду, зачем нужен какой-то там "линюкс" когда есть кошерный "виндавс" с рюшечками, свистелками и перделками, не правда ли?

не тупи, я всего-лишь ответил на твой вопрос про "другие языки"

**** ()
[#] Ответ на: комментарий от bioreactor 02.02.2010 11:34:05  
shty
>>-----Цитата---->>

я не против присоединения, но цель проекта - мое обучение и гимнастика ума. Скоростная разработка в коллективе не для меня =(

<<-----Цитата----<<

с учётом того что мои познания в CL ограничиваются чтением книги Питера Сайбеля, не думаю что речь будет идти про скоростную разработку :)

скорее действительно гимнастика для ума + область разработки всяческих cad'ов мне интересна :)

*** ()
[#] Ответ на: комментарий от lester 02.02.2010 11:39:03  
shty
>>-----Цитата---->>

я всего-лишь ответил на твой вопрос про "другие языки"

<<-----Цитата----<<

дорогой мой, я не задавал никаких вопросов... не верите - перечитайте тред, благо тут немного постов

и, Ваша фраза:

>>-----Цитата---->>

на других языках уже есть готовые полноценные программы

<<-----Цитата----<<

имеет скорее отношение к "полноценным программам", нежели к ЯП

*** ()
[#]  

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

* ()
[#] Ответ на: комментарий от bioreactor 02.02.2010 11:35:11  

> объектом работы был выбран кад, как раз по причине отсутствия вменяемых аналогов

навскидку:

платные:
VariCAD
bricscad

бесплатные:
gcad3d
kicad

**** ()
[#]  
void

И никто не скажет про курсор из винды?..

Как скриншот - тема, обои, шрифты, курсор - горманично и красиво.

Нравится компактное расположение элементов интерфейса в программе.

* ()
[#] Ответ на: комментарий от void 02.02.2010 11:53:00  
bioreactor

Это убунтовый курсор, ну нравятся они мне

*** ()
[#] Ответ на: комментарий от lester 02.02.2010 11:49:44  
bioreactor

Платные программы это хорошо но платно

gcad3d почему то считал их загнувшимися. а так - глазки в кучку

kicad "слегка" специализирован

*** ()
[#] Ответ на: комментарий от bioreactor 02.02.2010 11:59:41  

> gcad3d почему то считал их загнувшимися. а так - глазки в кучку

ну скриншоты - http://www.gcad3d.org/gCAD3D.htm#Gallery, показывают, что проект достаточно продвинутый

**** ()
[#] Ответ на: комментарий от lester 02.02.2010 12:01:14  

да и даты у файлов для скачивания говорят, что проект совсем не мертв

**** ()
[#]  
jcd

Клёвый скрин

*** ()
[#]  
Zubok

Дело полезное. Главное — это довести его до конца, а вот с этим всегда тяжело. Начать просто.

Я еще прошлой осенью сел тоже писать CAD на CL с некоторыми более грандиозными идеями, чем просто чертилка, и он даже у меня простые DXF открывал, имел зачатки интерактивности. В прошедшем времени говорю, так как пока проект заснул. Времени нет. Надеюсь, что очухаюсь. Год назад заснул на сплайнах, так как слишком углубился в теорию: начиная от истории вопроса (Безье, де Кастелье, полиномы Бернштейна и пр.) и заканчивая разными C. de Boor, Farin, Boehm и др.

Ну, в общем, удачи. CADы нужны!

***** ()
[#] Ответ на: комментарий от lester 02.02.2010 11:49:44  
Zubok

>kicad

kicad — это все-таки больше EDA, чем CAD. QCad тогда лучше привести как пример.

***** ()
[#] Ответ на: комментарий от Zubok 02.02.2010 12:34:34  

> QCad тогда лучше привести как пример.

qcad примитивен, тот же gcad3d гораздо продвинутей

**** ()
[#] Ответ на: комментарий от lester 02.02.2010 12:38:11  
Zubok

>qcad примитивен, тот же gcad3d гораздо продвинутей

Я не о продвинутости, а о приведенных примерах программ. KiCAD вообще ничего начертить внятного, кроме схем не позволит. Он заточен под это. А я пользуюсь gEDA. Тогда ее тоже в список добавить, если все хочется в кучу.

***** ()
[#]  
Zubok

А что из приведенных кнопок функционирует? По скриншоту пока только ясно, что прямоугольники и линиии работают. Большинство кнопок ничего не делают? А хоть какое-то редактирование объектов работает или пока просто графический вывод?

***** ()
[#]  
madcore

Занятно. А какой на текущий момент объем кода?

***** ()
[#] Ответ на: комментарий от Zubok 02.02.2010 12:32:28  
bioreactor

Друг, скинь на litetabs@rambler.ru наработки, если уж решил это дело заморозить. Думаю это даст мне хороший материал для размышления да и идей подчерпну

*** ()
[#] Ответ на: комментарий от Zubok 02.02.2010 12:48:48  
bioreactor

Проекту от силы больше месяца. Почти ничего не работает. Все что на экране - отрисовано напрямую (минуя кнопки) для теста. Оживет это дело не менее чем через месяц, я так думаю

*** ()
[#] Ответ на: комментарий от Zubok 02.02.2010 12:32:28  
bioreactor

ну или ссылку покажи для ознакомления

*** ()
[#] Ответ на: комментарий от bioreactor 02.02.2010 13:19:32  
Zubok

>Друг, скинь на litetabs@rambler.ru наработки, если уж решил это дело заморозить. Думаю это даст мне хороший материал для размышления да и идей подчерпну

Проект не заморожен. Он приостановлен. :)

Тут такой момент. Существует такой код, который я не готов показывать. Не потому, что он секретный (напротив, я за свободный код всегда), а потому что он ugly, так как я сперва делаю technical preview и экспериментирую. Чтобы соблюсти комильфо, я раньше момента, когда решу, что код готов для опубликования, и за него не стыдно, не решаюсь его показывать. Некоторые куски, однако, я могу прислать. Надо только поднять все и посмотреть, на каком этапе все находится. Я уже все забыл. Вот, например, первый вариант парсера DXF могу прислать. Идя там проста: DXF — это автомат. Эта идея заложена в сам формат. Я только написал макрос с функцией, которые разворачивают описания подавтоматов в программную реализацию.

Далее, насчет underlying geometry. Я за основу взял стандарт STEP. Идея примерно такая же, как в OpenCASCADE. Эта модель описана в 42-й части стандарта ISO 10303-42. Этот стандарт ГОСТом не адаптирован. Есть набор некоторых адаптированных стандартов ГОСТ Р ИСО 10303, но этого нет.

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

Вот такие вот пока идеи. Главное — это математику написать. А это сумасшедшего объема задача. Поэтому направлению у меня в коде одни недоделки. Вот как раз на сплайнах застрял. А еще NURBS-кривые надо... А линии, кружочки, квадраты — это ничто просто. Нужна исчерпывающая библиотека пересечений кривых, преобразований кривых и пр. Про 3D даже не заикаюсь.

***** ()
[#] Ответ на: комментарий от Zubok 02.02.2010 13:59:23  
bioreactor

Математика это да!! А парсер было бы неплохо посмотреть, а то в формат тот даже не заглядывал пока

*** ()
[#] Ответ на: комментарий от bioreactor 02.02.2010 13:28:01  
Zubok

>ну или ссылку покажи для ознакомления

У меня, к сожалению, нет пока моего сайта. Сейчас сорваться не могу прямо, чтобы поднять проект и посмотреть, что там вообще сейчас работает, но постараюсь это сделать в ближайшее время. Основные детали я описал выше. Пока можно и самому покопаться.

Я считаю, что для успешного проекта в этой области, надо отбросить все ковыряния с GUI как первостепенные и сконцентрироваться на математике и модели. GUI — это задача третьестепенная и не составляет большой проблемы. Почему-то обычно народ первым делом хватается за GUI, будто это самое важное. Я McCLIM выбрал еще потому, что он мне позволил быстро стартануть с визуализацией и интерактивными вещами.

***** ()
[#] Ответ на: комментарий от Zubok 02.02.2010 13:59:23  

> Эта модель описана в 42-й части стандарта ISO 10303-42. Этот стандарт ГОСТом не адаптирован. Есть набор некоторых адаптированных стандартов ГОСТ Р ИСО 10303, но этого нет.

http://webstore.ansi.org
Price: $307.00
Full MBR Price: $245.60
File Size: 1.8 MB

забавный фитнес ))

*** ()
[#]  
Komintern

common lisp учишь как? по каким мануалам? :)
да, респект. ты труЪ.

видишь ауру, кодишь на лиспе. вот он, сверхчеловек будущего. учитесь.

***** ()
[#] Ответ на: комментарий от Komintern 02.02.2010 14:19:09  

))

http://www.equi4.com/jcw/files/5b2a3b1d971d429578e20517e47738a4-56.html
When Alan Kay speaks, I want to hear every word he says. Or read it, at least. This talk is about the abysmal state of computer science.

> When people react instantly, they're not thinking, they're doing a table lookup.



Not particularly relevant, but a neat quote nevertheless... Here's another one I wholeheartedly agree with:


> Lisp is the most important idea in computer science.



The one thought I came away with after reading this was: thinking takes time.

*** ()
[#] Ответ на: комментарий от Komintern 02.02.2010 14:19:09  
bioreactor

>видишь ауру, кодишь на лиспе

многие считают что это как то связано!

*** ()
[#] Ответ на: комментарий от elipse 02.02.2010 14:16:42  
Zubok

Ну, кто ищет, тот найдет. :) Я, кстати, не нашел. Очень усердно искал, да. Видел, однако, что они у кого-то имеются. В форумах кто-то кому-то лично пересылал. Варезники, блин. :)

Есть библиотеки и проекты, которые используют такое же представление. И описание их API и объектной структуры можно найти в сети (ifc, например) дают некоторое представление, пригодное для реализации. Что касается 10303-42, то в недрах интернета (не по прямым ссылкам) отыскал проект его адаптации (читай — тупо переведенный на русский язык) для Государственного стандарта Республики Беларусь. Ну а кому сейчас легко. :)

***** ()
[#] Ответ на: комментарий от Zubok 02.02.2010 14:09:29  
bioreactor

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

*** ()
[#] Ответ на: комментарий от bioreactor 02.02.2010 14:28:45  

Прочитал как : Изучаем bioreactor on Common-Lisp)

()