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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Я начинаю заниматься программированием LISP (help)

Я начинаю заниматься программированием LISP (help)

Ответ
Поиск в этой теме
Непрочитано 19.02.2006, 20:00
Я начинаю заниматься программированием LISP (help)
mmax
 
Программист широкого профиля.
 
Челябинск
Регистрация: 08.09.2005
Сообщений: 722

Гопода, я начал этим заниматься совсем недавно, буквально в этом месяце. И у меня уже есть грандиозные планы например: чтобы автокад рисовал какие нибудь стандартные детали сам (болты, гайки шурупы итд)

И соответственно у меня начали появляться вопросы на которые г-н Полещук НН в своих произведениях не смог ответить в полном объеме, значит мне понадобится чья нибудь еще помощь.

У меня уже были вопросы которые я задал здесь и получил исчерпывающие ответы. Но если я на кждый вопрос буду создавать отдельный топик, то количество топиков будет = кол-ву вопросов, а вопросов миллион -- администраторы и модераторы данного ресурса наверное понимают о чем я. Да и такое кол-во ссылок не влезет мой..........

Вобщем я хотел бы все свои вопросы помещать в этот топик и надеюсь на поддержку знающих людей.

Всем заранее благодарен.
Просмотров: 78317
 
Непрочитано 04.04.2008, 23:22
#241
Кулик Алексей aka kpblc
Moderator

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


Установи (на всяк случай) service-pack - возможно, ошибка исчезнет.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 04.04.2008, 23:34
#242
Kline_Kinder

проектант
 
Регистрация: 31.01.2007
город-Герой ОДЕССА
Сообщений: 26


Нет его . Есть старый кад.
Начальству выскажу ФЭ, пусть ищет SP
Устанавливаю счас старый кад, а план местности по данным с буссоли буду чертить уже завтра.
Спасибо, за то что наставили на путь истинный. То что это не мой баг, избавляет от штудирования основательно подзабытой инфы о лиспе .
Еще раз спасибо.
Kline_Kinder вне форума  
 
Непрочитано 05.04.2008, 02:37
#243
Кулик Алексей aka kpblc
Moderator

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


А чего его искать-то, этот service-pack? Вот оно
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.04.2008, 19:45
#244
Kline_Kinder

проектант
 
Регистрация: 31.01.2007
город-Герой ОДЕССА
Сообщений: 26


Вай спасибо! Вы всегда помогаете.
Kline_Kinder вне форума  
 
Непрочитано 07.04.2008, 17:38
#245
Kline_Kinder

проектант
 
Регистрация: 31.01.2007
город-Герой ОДЕССА
Сообщений: 26


Новости
SP2 для 2007рус- ошибку не исправил
SP для 2005рус- ошибку не исправил (монтировал 2005+SP поверх 2007р)
Монтаж 2008 (англ)- ошибки нет, прога работает !
Спасибо!
Я сюда наверняка загляну, по-этому напишите если прога кому-нить нужна.
Прога чертит характерные точки плана местности, по данным полученным при съемке артиллерийской буссолью ПАБ-2Б
Kline_Kinder вне форума  
 
Непрочитано 07.05.2008, 13:28
#246
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


Надо начертить линию р1 р2 Координату p1 получаю через getpoint , точку p2 следующим оброзом
(setq p2 (vlax-curve-getclosestpointto (vlax-ename->vla-object (car ent)) p1) )
Теперь через команду (command "_line" p1 p2 "")... ничего не получаетья
и через (vl-cmdf "_line" p1 p2 "")... вроде понимаю что чего то не хватает а вот чего не знаю... подскажите как правильно сделать пожалста
ALFMario вне форума  
 
Непрочитано 07.05.2008, 13:36
#247
VVA

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


1.
vlax-curve-* принимают и возвращают координату в МСК (WCS)
getpoint, entsel и command - в ПСК (UCS) (наводка: trans)
2. Отключить привязки (OSMODE) или так
(command "_line" "_non" p1 "_non" p2 "")
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 07.05.2008, 13:48
#248
Рyslan


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


Всем привет. Посоветуйте нормальную литературу по lisp. Купил себе Полещука, написано много, только вот как-то справочно. Он по-моему вообще книги писать не умеет.
Рyslan вне форума  
 
Непрочитано 07.05.2008, 16:10
#249
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


Кода такой (код кажеться kpblc писал) хочу сделать для себя... но не получаеться, должен рисоваться перпендикуляр к выбранной линии до точки... не получаеься ничего... возрващает тока значение точки и все..
больше ничего сделать не могу... не понимаю... помогиет плз
(defun C:test (/ ent p1 p2)
(vl-load-com)
(if
(and
(= (type
(setq
ent (vl-catch-all-apply
'(lambda ()
(entsel
"\nВыбрать объект (линия) <Выход> : "
) ;_ end of entsel
) ;_ end of lambda
) ;_ end of vl-catch-all-apply
) ;_ end of setq
) ;_ end of type
'list
) ;_ end of =

(= (type
(setq p1
(vl-catch-all-apply
'(lambda ()
(cond
((getpoint
"\n Точка <или последнее> : "
) ;_ end of getpoint
)
(t (cadr ent))
) ;_ end of cond
) ;_ end of lambda
) ;_ end of vl-catch-all-apply
) ;_ end of setq
) ;_ end of type
'list
) ;_ end of =

) ;_ end of and


(setq p2 (trans (vlax-curve-getclosestpointto (vlax-ename->vla-object (car ent)) p1) 1 0)


) ;_ end of setq
(command "_line" "_non" p1 "_non" p2 "")


) ;_ end of if
) ;_ end of defun
ALFMario вне форума  
 
Непрочитано 07.05.2008, 16:16
#250
VVA

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


Про progn в IF забыл
Код:
[Выделить все]
(defun C:test (/ ent p1 p2)
  (vl-load-com)
  (if
    (and
      (= (type
           (setq
             ent (vl-catch-all-apply
                   '(lambda ()
                      (entsel
                        "\nВыбрать объект (линия) <Выход> : "
                      ) ;_ end of entsel
                    ) ;_ end of lambda
                 ) ;_ end of vl-catch-all-apply
           ) ;_ end of setq
         ) ;_ end of type
         'list
      ) ;_ end of =

      (= (type
           (setq p1
                  (vl-catch-all-apply
                    '(lambda ()
                       (cond
                         ((getpoint
                            "\n Точка <или последнее> : "
                          ) ;_ end of getpoint
                         )
                         (t (cadr ent))
                       ) ;_ end of cond
                     ) ;_ end of lambda
                  ) ;_ end of vl-catch-all-apply
           ) ;_ end of setq
         ) ;_ end of type
         'list
      ) ;_ end of =

    ) ;_ end of and
    (progn
     (setq p2 (trans (vlax-curve-getclosestpointto
                       (vlax-ename->vla-object (car ent))
                       p1
                     ) ;_ end of vlax-curve-getclosestpointto
                     1
                     0
              ) ;_ end of trans
     ) ;_ end of setq
     (command "_line" "_non" p1 "_non" p2 "")
    )
  ) ;_ end of if
) ;_ end of defun
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 07.05.2008, 16:34
#251
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


2VVA. Не подумал что надо, но и не понимаю почему progn стоит не сразу после IF. Подскажи еще как вставлять код лиспа как у тебя.
ALFMario вне форума  
 
Непрочитано 07.05.2008, 17:02
#252
VVA

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


Нажимаешь на # , появляются тэги
Цитата:
[code]
Здесь код лиспа
[/code]
Или набираешь их ручками
По поводу IF
(IF <УСЛОВИЕ> <УСЛОВИЕ=ИСТИНА> <УСЛОВИЕ=ЛОЖЬ>)
Конструкцию IF тоже расткасил в эти же цвета
Код:
[Выделить все]
  (if

    (and
      (= (type
           (setq
             ent (vl-catch-all-apply
                   '(lambda ()
                      (entsel
                        "\nВыбрать объект (линия) <Выход> : "
                      ) ;_ end of entsel
                    ) ;_ end of lambda
                 ) ;_ end of vl-catch-all-apply
           ) ;_ end of setq
         ) ;_ end of type
         'list
      ) ;_ end of =

      (= (type
           (setq p1
                  (vl-catch-all-apply
                    '(lambda ()
                       (cond
                         ((getpoint
                            "\n Точка <или последнее> : "
                          ) ;_ end of getpoint
                         )
                         (t (cadr ent))
                       ) ;_ end of cond
                     ) ;_ end of lambda
                  ) ;_ end of vl-catch-all-apply
           ) ;_ end of setq
         ) ;_ end of type
         'list
      ) ;_ end of =

    ) ;_ end of and


    (progn
     (setq p2 (trans (vlax-curve-getclosestpointto
                       (vlax-ename->vla-object (car ent))
                       p1
                     ) ;_ end of vlax-curve-getclosestpointto
                     1
                     0
              ) ;_ end of trans
     ) ;_ end of setq
     (command "_line" "_non" p1 "_non" p2 "")
    )

  ) ;_ end of if
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 09.05.2008, 01:21
#253
ALFMario


 
Регистрация: 11.10.2007
Gomel
Сообщений: 68


Еще вопрос есть. функция Fix возвращает целое число, но происходит у меня не всегда правильно, (fix 23.0) возвращает в какой то ситуации 23 а иногда 22, что может быть причиной ?

Последний раз редактировалось ALFMario, 13.05.2008 в 11:02.
ALFMario вне форума  
 
Непрочитано 22.05.2008, 00:15
#254
Syrex


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


неподскажите как менять цвет фона у модели? листа програмно чтобы кнопку назначить? заранее спасибо
Syrex вне форума  
 
Непрочитано 22.05.2008, 00:53
#255
Кулик Алексей aka kpblc
Moderator

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


ALFMario, твою ситуацию повторить не удалось (сколько ни пытался).
Syrex, поищи по форуму. Такая тема точно была, это я помню.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 22.05.2008, 01:49
#256
forMA


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


Цитата:
Сообщение от Syrex Посмотреть сообщение
неподскажите как менять цвет фона у модели? листа програмно чтобы кнопку назначить? заранее спасибо

http://www.caduser.ru/cgi-bin/f1/board.cgi?t=19162TV
forMA вне форума  
 
Непрочитано 23.05.2008, 19:25
#257
Syrex


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


forMA спасибо большое поиском пользовался но ненашел программу
Syrex вне форума  
 
Непрочитано 19.06.2008, 09:59
#258
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Тему не читал. Посоветуйте пожалста книжку по изучению лисп-а, только так чтобы для полного чайника в этом деле.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 21.06.2008, 18:40
#259
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, Տ.Գ.Թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,980
Отправить сообщение для Red Nova с помощью Skype™


Ладно, с летературой разобрался, пытаюсь написать с другом лисп, и вот возникли вопросы, может кто подскажет.
1. Как определить список выделенных обьектов?
2. Как определить тип выделенного обьекта?
3. Как получить текст из выделенного Mtext а или Text a?
4. Как получить имена Layout ов?
Заранее спасибо.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 21.06.2008, 19:24
#260
VVA

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


1.Создаем набор
(setq ss (ssget))
Преобразуем набор в список
(setq lst (_dwgru-conv-pickset-to-list ss))
Код _dwgru-conv-pickset-to-list
2. Имя примитива хнатится в поле с номером 0
Код:
[Выделить все]
(setq en (car(entsel "\Выберите объект")))
(princ "\nТип объетка: ")
(princ (cdr(assoc 0 (entget en))))
3. Опять же текстовая строка хранится с поле с номером 1, соответсвенно надо вызывать assoc с ключом 1.
4. (getvar "CTAB") - текущий
(layoutlist) - все
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Я начинаю заниматься программированием LISP (help)

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

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