| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Подскажите, существуют ли практические руководства по Lisp?

Подскажите, существуют ли практические руководства по Lisp?

Ответ
Поиск в этой теме
Непрочитано 07.03.2006, 15:51
Подскажите, существуют ли практические руководства по Lisp?
vn
 
Регистрация: 10.02.2006
Сообщений: 373

Недавно купил книгу. Полный сборник команд Lisp с их описанием.
Но на этом все и кончилось. Никаких примеров для начинающих.
Если кто знает, с чего начинать изучение Lisp медленно и шаг за шагом , подскажите пожалуйста.
Просмотров: 73616
 
Непрочитано 17.04.2009, 20:42
#221
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Лично я остерегаюсь использовать LwDefault где бы то ни было... Слишком высока вероятность, что найдется местный кулибин, который установит значение в 211 системной переменной и все построения накроются медным тазом. Дырявым.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 18.04.2009, 12:38
#222
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


До LwDefault еще блоки как-то сделать нужно. Кстати у нас в институте цветозависимая печать.
Рyslan вне форума  
 
Непрочитано 19.04.2009, 20:57
#223
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Есть 3 варианта.
1. Отрисовывать, постоянно добавляя примитивы в SelectionSet, а затем через комаду _.-block преобразовать отрисованные примитивы в блок.
2. Через entmakex создать начало описания блока; через entmakex, например, создавать примитивы; не забыть создать описание "окончания" блока. См.в справке описание BLOCK.
3. Использовать ActiveX-методы создания блока и добавлять примитивы "прямо в описание блока".
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.04.2009, 21:56
#224
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


по первому варианту пытаюсь сделать. пока не получается
Рyslan вне форума  
 
Непрочитано 20.04.2009, 22:48
#225
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Я (если честно) предпочитаю именно последний
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 21.04.2009, 18:45
#226
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


пишу- (Command "_.-block" "Переход" pt1 SS ""). Вроде все ок, блок создается...и потом пропадает. не вставляется сразу. Если добавить Insert, то рисуется сам переход и еще блок перехода. Причем если второй раз рисовать другой переход, то требует переопределения блока. кароче муть какая то получается
Рyslan вне форума  
 
Непрочитано 21.04.2009, 18:59
#227
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Особенность лиспового вызова _.block: после создания блока все примитивы "исчезают" и надо блок принудительно вставлять.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 21.04.2009, 19:24
#228
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


надо что-то и как-то придумать для имени блока. не дело, одно название. облазил прокат Кондрата, думал там чоньть спереть. как он блоки делает. не нашел ничего
Рyslan вне форума  
 
Непрочитано 22.04.2009, 20:24
#229
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


этот Актив Х вообще дебри, сегодня почитал немного, чуть не умер. Думал там как в Лиспе функции. а там черт значит что. непонятно
Рyslan вне форума  
 
Непрочитано 22.04.2009, 23:47
#230
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Там все просто до невозможности
http://www.cad.dp.ua/stats/vla_doc.php
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.04.2009, 06:46
#231
ShaggyDoc

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


Рyslan, Алексей правильно написал - "до невозможности". Вообще-то проще только command. Удобна инженерам - они знают команды, знают опции и могут легко применить. Именно функция command сделала программирование в AutoCAD доступным "простым инженерам" - они разработали десятки тысяч больших и маленьких программ.

ActiveX удобен тем, что используются осмысленные имена методов и свойств.

Третий метод - через entmake неудобен тем, что надо знать "человекобессмысленные" DXF-коды.

Но есть ещё лучший способ - разделение труда. Сложные функции делают "низкоуровневые" программисты и помещают их в библиотеки. А "прикладные" программисты или простые инженеры используют их результаты для создания конечных программ.

Например, программа для рисования отвода заключается в таком случае в 1 строчку:

Вот крутоизогнутый отвод в 2D - то, что ты делаешь:
Код:
[Выделить все]
(ru-pipe-draw-any (quote ru-pipe-turn-bend)(list  400.0 600.0 90.0) "Начало  отвода" "Направление центрального угла")
Измени 400 - это Ду, 600 - это Rср и 90 - это угол, на любые значения и сразу будешь иметь сколь угодно вариантов.

А вот вариант, когда тебе надо рисовать отвод от угла поворота трассы (часто так и надо):
Код:
[Выделить все]
(ru-pipe-draw-any (quote ru-pipe-turn-bend-by-ang)(list  400.0 600.0 90.0) "Точка поворота трассы" "Направление конца отвода")
Вот этот микрокод делает то же, но уже в 3D:
Код:
[Выделить все]
(ru-3d-pipe-turn-by-vertex-std  426.0 6.0 600.0 90.0)
А вот этот - от точки начала отвода, причем отвод уже не крутоизогнутый, а сварной секторный:

Код:
[Выделить все]
(ru-3d-pipe-turn-weld-by-prev  630.0 10.0  900.0 90.0 2)
Последним аргументом можно задавать количество секторов.

И задвижку, да ещё в 3D не сложнее заставить моделироваться:

Код:
[Выделить все]
(ru-3d-valve-gate-simple  (ru-3d-pipe-flange-std-200-16)  330.0 900 280)
Будет нарисована задвижка с ответными фланцами. И это не будет блок. Аналогично и с прочей арматурой (краны вентили и т.п.)

И всё это ты когда-то сможешь сам!
Миниатюры
Нажмите на изображение для увеличения
Название: otvd_ki_60.png
Просмотров: 99
Размер:	824 байт
ID:	19354  Нажмите на изображение для увеличения
Название: otvd_weld_90.png
Просмотров: 103
Размер:	1.0 Кб
ID:	19355  Нажмите на изображение для увеличения
Название: turn_90_ki.png
Просмотров: 99
Размер:	7.9 Кб
ID:	19356  Нажмите на изображение для увеличения
Название: gate_steel_150_3d_ru.png
Просмотров: 103
Размер:	32.0 Кб
ID:	19357  Нажмите на изображение для увеличения
Название: valve_flange_ch_3d_ru.png
Просмотров: 106
Размер:	27.8 Кб
ID:	19358  

ShaggyDoc вне форума  
 
Непрочитано 27.04.2009, 18:24
#232
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


ShaggyDoc, показал бы хоть один код полностью. а то даешь одни названия. я так тоже могу - rus-tee-go-her-znaet-kuda...рисует тройник в неизвестном направлении
Рyslan вне форума  
 
Непрочитано 27.04.2009, 20:00
#233
ShaggyDoc

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


Рyslan, все коды, кроме 3D, опубликованы в книге "САПР на базе AutoCAD - как это делается". И приложены на CD.

Уже ссылался на неё. ты писал "листаю". Читать надо. Изучать. Ответы на все твои вопросы там есть, в том числе в виде готового кода, даже набирать не нужно.

Здесь публиковать нет возможности, так как любая функция вызывает десяток-другой других, низкоуровневых библиотечных функций. Именно это позволяет делать короткие прикладные программы - в одну строчку.
ShaggyDoc вне форума  
 
Непрочитано 11.05.2009, 19:07
#234
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


в книге написано: "Функция getpoint дает возможность пользователю ввести точку с помощью клавиатуры или мыши. Если задан аргумент <точка1>, то при вводе точки с помощью мыши рисуется резиновая нить, начинающаяся в точке, заданной аргументом <точка1>"
странно, а вот резиновая нить то и не рисуется
Рyslan вне форума  
 
Непрочитано 11.05.2009, 20:34
#235
Кулик Алексей aka kpblc
Moderator

LISP, C# (ACAD 200[9,12,13,14])
 
Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832


Специально проверил - все отображается (настройки по умолчанию; цвет курсора - стандартный и не меняется в зависимости от цвета рабочего слоя). AA2008Eng+SP1, запущенный как AutoCAD 2008
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 01.06.2009, 10:51
#236
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


К посту 231.
Уважаемый ShaggyDoc.
Для меня почему-то оказались более понятными "человекобессмыссленные" DXF-коды, чем ActiveX.
Не лезут в голову эти vl-vla-vlax-реновые функции, хоть тресни.
Посоветуйте пожалуйста литературу "для чайников" по этому вопросу.
E-degtyarev вне форума  
 
Непрочитано 01.06.2009, 14:31
#237
ShaggyDoc

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


E-degtyarev, литература практически единственная - Н.Полещук, П.Лоскутов - "AutoLISP и Visual LISP в среде AutoCAD". Там всё подробно.

А "не лезущие" функции как раз просты - надо только понять объектную модель и принцип формирования имен. В этом поможет acadauto.chm
ShaggyDoc вне форума  
 
Непрочитано 01.06.2009, 14:52
#238
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,991
<phrase 1= Отправить сообщение для VVA с помощью Skype™


В дополнение к ShaggyDoc, могу посоветовать еще
The Visual Lisp Developers Bible by David M Stein (см. ссылку в #20)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 02.06.2009, 10:19
#239
E-degtyarev

Помогаю, кому делать нечего.
 
Регистрация: 27.03.2009
Русская деревня
Сообщений: 394


ShaggyDOC,VVA, спасибо.
Буду познавать.
E-degtyarev вне форума  
 
Непрочитано 30.07.2009, 19:09
#240
Рyslan


 
Регистрация: 25.07.2007
Сообщений: 2,508


Кто хочет написать программу диалоговых окон для имеющих лиспов элементов деталей трубопроводов, по аналогу проката Василия Кондрата? Будет неплохое подспорье для трубопроводчиков
ясно, никто не хочет. как пофлудить так все тут как тут, как лисп написать для непойми чего так пожалуйста.....

Последний раз редактировалось Рyslan, 31.07.2009 в 16:11.
Рyslan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Подскажите, существуют ли практические руководства по Lisp?

Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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