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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Учу VLISP методом опроса населения: Некоторые концептуальные вопросы.

Учу VLISP методом опроса населения: Некоторые концептуальные вопросы.

Ответ
Поиск в этой теме
Непрочитано 19.10.2012, 15:52 #1
Учу VLISP методом опроса населения: Некоторые концептуальные вопросы.
fasadel
 
Регистрация: 17.03.2009
Сообщений: 316

Третий день, как решил освоить Vusual LISP. Нормального пособия нет, нахожу лишь отрывочные статейки в Интернете, а в основном читаю хепл AutoCAD 2013.

1. Если в автокадовском хелпе нормальное оглавление. Пользуюсь строкой search, т.е. пока вопрос правильно не задашь — подборку заметок не получишь. А когда ЛИСП не знаешь, то что собственно спрашивать, не совсем понятно. Нет ли структурированного содержания? А то я с трудом нашел даже полный список функций, и ещё большим — полный список групповых DXF-кодов. (А перечень наименований типов сущностей так и нашел до сих пор). И вся извлекаемая таким образом информация из хелпа носит отрывочный и разрозненный характер.


2. Прошу прокомментировать правильно ли я понимаю концепцию автоЛИСП.

Есть два подхода к доступу к объектам (для начала, пусть для простоты, к графическим примитивам) и их свойствам:

а). Как к сущностям, получаемых, например, через entsel. При этом доступ к свойства осуществляется через групповые DXF-коды, которые "нумеруют" свойства.
б). Как к VLA-объектам со структурированной иерархией объектной модели документа.

Вариант (б), разумеется, мне нравится больше, как более современный и концептуально развитый.


3. Посему несколько вопросов по работе с VLA-объектами.

3.1. Как выбирать графические примитивы сразу как VLA-объекты? Неужели нет другого пути кроме как entsel, а затем конвертировать полученные сущности в VLA-объекты?

3.2. Как создавать новые VLA-примитивы, минуя аналогичный путь entmake и vlax-ename->vla-object?

А то, мне сейчас кажется, что ActiveX подход какой-то хромой, не самодостаточный, и приходится обращаться к сущностям. Или у меня есть какое глобальное непонимание?
Просмотров: 5025
 
Непрочитано 19.10.2012, 15:57
#2
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Цитата:
Сообщение от fasadel Посмотреть сообщение
Третий день, как решил освоить Vusual LISP.
А не врёшь?
Profan вне форума  
 
Непрочитано 19.10.2012, 16:23
1 | #3
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от fasadel Посмотреть сообщение
. Как выбирать графические примитивы сразу как VLA-объекты? Неужели нет другого пути кроме как entsel, а затем конвертировать полученные сущности в VLA-объекты?
способ есть но он "концептуально" не лисповский, то есть функция не возращает, а заполняет
(vla-getentity (vla-get-utility (vla-get-activedocument (vlax-get-acad-object))) 'obj 'pt)
(list obj pt)
Цитата:
Сообщение от fasadel Посмотреть сообщение
3.2. Как создавать новые VLA-примитивы, минуя аналогичный путь entmake и vlax-ename->vla-object?
(vla-addcircle (vla-get-modelspace(vla-get-activedocument (vlax-get-acad-object))) (vlax-3d-point '(0 0 0)) 100)
Цитата:
Сообщение от fasadel Посмотреть сообщение
А то, мне сейчас кажется, что ActiveX подход какой-то хромой, не самодостаточный, и приходится обращаться к сущностям. Или у меня есть какое глобальное непонимание?
Он хромой, устаревший, заброшенный (как впрочем и сам автолисп) Autodesk'ом и далеко не все через него можно сделать, но для начала пойдет.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 19.10.2012, 16:59
1 | #4
gomer

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


fasadel, используй активикс только для работы с неактивными документами, в текущем документе классический код всегда меньше по объему, да и быстрее, как оказывается...
gomer вне форума  
 
Автор темы   Непрочитано 19.10.2012, 17:10
#5
fasadel


 
Регистрация: 17.03.2009
Сообщений: 316


Цитата:
А не врёшь?
Ну, типа, я молодец, умею программировать на дофига языках. В VLISP ничего сложного не вижу. Проблема одна — грёбаный кривой автодесковский хелп.

Цитата:
(vla-getentity (vla-get-utility (vla-get-activedocument (vlax-get-acad-object))) 'obj 'pt)
Вот где эти все: vla-getentity, vla-get-utility, vla-addcircle?... А?!?.. (Это я не хелп ругаюсь.) Вот, максимум того, что я разрыл в хелпе (см. скриншот). Докладываю: про написанные вами функции автокадовский хепл ничего не слышал! Где, блин, хотя бы полный список функций — уж разобрался бы. Где найти, ребята, справочники по VLISP?

Цитата:
Он хромой, устаревший, заброшенный (как впрочем и сам автолисп) Autodesk'ом и далеко не все через него можно сделать, но для начала пойдет.
Может лучше тогда VBA разучить?
fasadel вне форума  
 
Непрочитано 19.10.2012, 17:36
#6
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от fasadel Посмотреть сообщение
Может лучше тогда VBA разучить?
VBA уже три версии как нет в стандартном комплекте поставки (ставится как отдельнозагружаемое дополнение).
Цитата:
Ну, типа, я молодец, умею программировать на дофига языках.
Скажи какие, просто многие языки тебе больше мешать пониманию лиспа будут нежели наоборот.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 19.10.2012, 17:40
#7
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Цитата:
Сообщение от fasadel Посмотреть сообщение
Ну, типа, я молодец, умею программировать на дофига языках. В VLISP ничего сложного не вижу. Проблема одна — грёбаный кривой автодесковский хелп. Может лучше тогда VBA разучить?
Offtop: Дык, ежели "я молодец, умею программировать на дофига языках", - то вполне можно ударить по автокаду своим сишарпом, сиплюсплюсом али там вэбенетом.. Некоторые дельфями бьють..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Автор темы   Непрочитано 19.10.2012, 18:33
#8
fasadel


 
Регистрация: 17.03.2009
Сообщений: 316


Цитата:
вполне можно ударить по автокаду своим сишарпом, сиплюсплюсом али там вэбенетом.. Некоторые дельфями бьють..
По ходу, так и придётся. Не с того конца зашёл. Я рассчитывал, что LISP — это для архитекторов кошерно. Сейчас поразбираюсь, чтобы что-нибудь полезное написать, а там видно будет.

Пока задача такая: есть отдельно стоящий дом. Юзер выбирает камеру, и хоба-на для этой камеры сзади дома выскакивает ширма, которая используется в качестве фона при рендере, ровно по полю зрения камеры, перпендикулярно оптической оси. А потом дом автоматом крутится вокруг себя с заданными параметрами и автоматически рендерятся картинки для квази-3D-кино.

Всё почти готово, кинчик под разными углами с камеры рендерит зачипись, осталось вставку нового объекта-ширмы доделать.

Последний раз редактировалось fasadel, 19.10.2012 в 18:43.
fasadel вне форума  
 
Непрочитано 21.10.2012, 16:34
1 | #9
Disney

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


Цитата:
Сообщение от fasadel Посмотреть сообщение
Вот где эти все: vla-
Четрые правила для работы с ActiveX в Visual Lisp
AutoCAD Объектная модель
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Автор темы   Непрочитано 22.10.2012, 11:24
#10
fasadel


 
Регистрация: 17.03.2009
Сообщений: 316


1. Большое спасибо! Отличные ссылки, всё стало на место. Понял, что на LISP надо положить с прибором, а пользоваться надо VBA. Понял, что попытки совместить объектную модель и ЛИСП — это всё равно, что пытаться скрестить жирафа с бегемотом.

2. Вы будете смеяться, но у меня хелпе (2013) нет закладок Content и Index, а только Search и Favorites (см. скриншот). Это меня сильно вымораживает. Их как-то можно включить?
Миниатюры
Нажмите на изображение для увеличения
Название: acadhelp.jpg
Просмотров: 47
Размер:	331.6 Кб
ID:	88909  
fasadel вне форума  
 
Непрочитано 22.10.2012, 11:37
#11
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от fasadel Посмотреть сообщение
Понял, что на LISP надо положить с прибором, а пользоваться надо VBA.
(с). "Чем шире круг знаний, тем больше граница с непознанным"
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 22.10.2012, 11:41
#12
hwd

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


Цитата:
Сообщение от Дима_ Посмотреть сообщение
(с). "Чем шире круг знаний, тем больше граница с непознанным"
Offtop: Имхо - это очередной топик аля "ни о чём"
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.10.2012, 11:45
#13
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Цитата:
Сообщение от fasadel Посмотреть сообщение
1. Большое спасибо! Отличные ссылки, всё стало на место. Понял, что на LISP надо положить с прибором, а пользоваться надо VBA. Понял, что попытки совместить объектную модель и ЛИСП — это всё равно, что пытаться скрестить жирафа с бегемотом.
2. Вы будете смеяться, но у меня хелпе (2013) нет закладок Content и Index, а только Search и Favorites (см. скриншот). Это меня сильно вымораживает. Их как-то можно включить?
можно, конечно, и vba пользоваться, пока микрософт с автодеском на него окончательно не "положили с прибором"..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 22.10.2012, 12:00
#14
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


То hwd - мне сразу хочется спросить у человека пару вопросов, у которого хватило 1 недели, чтоб такое понять, но боюсь он слабовато изучил вопрос, а выводы уже сделал, т.к. по моему мнению жираф с бегемотом появлется только из-за непонимания самых элементарных основ лиспа (но я разумеется могу ошибаться).
p/s/ исправил очепятку
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 22.10.2012 в 12:07.
Дима_ вне форума  
 
Непрочитано 22.10.2012, 12:15
#15
hwd

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


Цитата:
Сообщение от fasadel
Учу VLISP методом опроса населения
Offtop: Чем-то напоминает "Учу VLISP методом изучения обложек книг по LISP", или "Учу VLISP по фотографиям людей, пишущих на LISP"
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.10.2012, 13:21
#16
Do$

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


Offtop:
Цитата:
Сообщение от Дима_ Посмотреть сообщение
Скажи какие, просто многие языки тебе больше мешать пониманию лиспа будут нежели наоборот.
Из собственного опыта, верно и обратное - с лиспа на другой язык тоже довольно сложно перейти.

Последний раз редактировалось Do$, 23.10.2012 в 09:19.
Do$ вне форума  
 
Непрочитано 22.10.2012, 15:14
#17
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от Do$ Посмотреть сообщение
Из собственного опыта, верно и обратное - с лиспа на другой язык тоже довольно сложно перейти.
Ну конечно смотря какой язык, но я бы сказал:
Из собственного опыта, верно и обратное - с лиспа на другой язык тоже довольно сложно, заставить себя, перейти.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 22.10.2012, 15:49
#18
Do$

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


Offtop:
Цитата:
Сообщение от Дима_ Посмотреть сообщение
Ну конечно смотря какой язык
Я про C# говорил.
Цитата:
Сообщение от Дима_ Посмотреть сообщение
заставить себя
С этим порядок. Слову "НАДО" обучен

Последний раз редактировалось Do$, 23.10.2012 в 09:19.
Do$ вне форума  
 
Непрочитано 22.10.2012, 16:05
#19
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


НАДО чтоб задача работала и была эффективно разработанна, а когда перфоратором НАДО омлет взбить (ведь перфоратор мощнее)...
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 22.10.2012, 17:49
#20
hwd

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


Цитата:
Сообщение от Дима_ Посмотреть сообщение
НАДО чтоб задача работала и была эффективно разработанна, а когда перфоратором НАДО омлет взбить (ведь перфоратор мощнее)...
Решение задачи с помощью ObjectARX или .NET API, это не то же самое, что
Цитата:
перфоратором омлет взбить
Сравнения подобного рода называются софистикой. Кроме того, если уж говорить о том, чтобы
Цитата:
задача работала и была эффективно разработанна
то код, написанный на обозначенных выше платформах, работает быстрее, чем код, написанный на AutoLISP\VisualLISP.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.10.2012, 17:59
#21
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 22.10.2012, 18:39
#22
Do$

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


Offtop: Перфоратор, конечно, вещь незаменимая
Недавно имел возможность поближе познакомиться с C# - оказалось, не такой уж он страшный, как я себе представлял.
Плюс к этому, возможности Visual Studio - просто впечатляющие! Теперь вечерами осваиваю потихоньку.
Но разница с лиспом большая, довольно сложно дается материал. За почти 3 недели еще ни одного приложения под автокад на C# не написал (HelloWorld не в счет ).

Последний раз редактировалось Do$, 23.10.2012 в 09:18.
Do$ вне форума  
 
Непрочитано 22.10.2012, 21:03
#23
hwd

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


Цитата:
Сообщение от Do$ Посмотреть сообщение
C# - оказалось, не такой уж он страшный, как я себе представлял.
Примерно то же я сейчас думаю о C и C++.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 22.10.2012, 23:20
1 | #24
gomer

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


Может хватит трепаться на околонаучные темы? Создайте свою тему "Научите сишарпу на примере (или как hwd и компания пытаются обучить чайника сишарпу)" И вперед!!!
gomer вне форума  
 
Непрочитано 23.10.2012, 10:14
#25
AlexV

Инженер
 
Регистрация: 02.10.2008
С-Пб
Сообщений: 3,692


Цитата:
Сообщение от gomer Посмотреть сообщение
Может хватит трепаться на околонаучные темы? Создайте свою тему "Научите сишарпу на примере (или как hwd и компания пытаются обучить чайника сишарпу)" И вперед!!!
Offtop: Да чайники уж больно дремучие! Я такую тему насчет vb.net создавал, но большинство вопросов упирались в ответы "сначала изучите основы дотнета!". А хочется то, - сел за руль и поехал, какие там еще нафиг правила вождения..
__________________
...Не пытайся гнуть ты ложку,
Не вяжи её узлом.
Ложка - ложка понарошку,
А по правде, - это лом!
AlexV вне форума  
 
Непрочитано 23.10.2012, 11:06
#26
hwd

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


Offtop:
Цитата:
Сообщение от gomer Посмотреть сообщение
Может хватит трепаться на околонаучные темы? Создайте свою тему "Научите сишарпу на примере (или как hwd и компания пытаются обучить чайника сишарпу)" И вперед!!!
Эк его колбасит-то...
gomer во всём видит призраки C# и агитацию на его изучение. Не знает уж как красочней показать своё к нему пренебрежение, а так же теперь "в одну корзину складывает" C/C++ и C# - это плохие симптомы...
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 23.10.2012, 11:14
#27
Дима_

Продуман
 
Регистрация: 22.02.2007
Питер
Сообщений: 2,839


Цитата:
Сообщение от hwd Посмотреть сообщение
"в одну корзину складывает" C/C++ и C#
Ну в общем недостатки у них общие.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 23.10.2012, 11:16
#28
hwd

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


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Ну в общем недостатки у них общие.
я этого не вижу, да и на эту тему, думаю, что лучше в какой-нибудь "курилке" писать (имхо).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome:
hwd вне форума  
 
Непрочитано 23.10.2012, 11:41
#29
Admin
Administrator


 
Регистрация: 21.08.2003
Сообщений: 4,466


Заканчиваем оффтопить
Admin вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Учу VLISP методом опроса населения: Некоторые концептуальные вопросы.