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

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

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

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

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

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

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

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

Всем заранее благодарен.
Просмотров: 79681
 
Старый 01.04.2008, 17:20
#221
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Цитата:
Сообщение от VVA Посмотреть сообщение
Пока лентяй будет наматывать километры, двигая мышку с текущей позиции курсора до кнопки и обрато, не лучше ли ему кликнуть правой кнопрой мыши и выбрать "Отменить выбор". Побереги экран для более полезных кнопок.
С этим я вкурсе - но это 2 щелчка мышью

Zouss, спасибо за подсказку чего-то тормознул и не поискал хорошо. Хотя искал...
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Старый 01.04.2008, 17:36
#222
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Еще проблемка-вопросик: Нужно нарисовать точку из штриховки.
Делаю я ее так:
Код:
[Выделить все]
^C^C_circle;\_d;1.25;_-bhatch;_s;_l;;_p;SOLID;;
но мне нужно удалить окружность которая была создана для штриховки.
Как это проделать?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Старый 01.04.2008, 17:54
#223
Zouss


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


Shoorup, чем вам не нравится команда Donut?
Код:
[Выделить все]
^C^C_Donut;0;1.25
если же программным путем, то сразу после создания окружности сохраняем ее имя
Код:
[Выделить все]
(setq cname (entlast))
и после выполнения всех необходимых операций удаляем ее
Код:
[Выделить все]
(entdel cname)
Zouss вне форума  
 
Старый 01.04.2008, 18:08
#224
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Zouss, Donut в процессе эксплуатации не оправдал себя. 1.я причина: при растягивании некоторых объектов иногда захватывается точка и получается квадратное кольцо - что ни есть гуд. 2.я причина: при использовании привязки иногда привязывается к маркеру не к тому которому надо. У Donutа их 4 и расположены они не так как хотелось бы, а у штриховки один маркер и точно по центру - что очень удобно.
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Старый 01.04.2008, 18:21
#225
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Пробуй так
Код:
[Выделить все]
 
^C^C_circle;\_d;1.25;(setq en (entlast));_-bhatch;_s;_l;;_p;SOLID;;_erase;!en;;
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Старый 01.04.2008, 18:29
#226
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Zouss, Спасибо еще раз
VVA, сделал так:
Код:
[Выделить все]
^C^C_circle;\_d;1.25;(setq c125 (entlast));_-bhatch;_s;_l;;_p;SOLID;;(entdel c125);
у меня 3 кнопки (1, 1.25, 1.5)
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Старый 01.04.2008, 18:29
#227
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Еще вариант без лиспа
Код:
[Выделить все]
^C^C_expert;5;_circle;\_d;1.25;_-group;_c;tmp;;_l;;_-bhatch;_s;_l;;_p;SOLID;;_erase;_g;tmp;;
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Старый 01.04.2008, 18:41
#228
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


VVA, изящно!
Не понял только как работает и для чего переменная _expert - 5?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Старый 01.04.2008, 18:41
#229
Кулик Алексей aka kpblc
Moderator

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


А, может, как-нибудь так?
Код:
[Выделить все]
(defun c:myhatch (/ pt adoc ent hatch locked)
  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-StartUndoMark
  (if (= (type (setq pt
                      (vl-catch-all-apply
                        '(lambda ()
                           (trans (getpoint "\nУкажите центр <Отвали, без тебя тошно> : ")
                                  1
                                  0
                                  ) ;_ end of trans
                           ) ;_ end of lambda
                        ) ;_ end of vl-catch-all-apply
                     ) ;_ end of setq
               ) ;_ end of type
         'list
         ) ;_ end of =
    (progn
      (setq locked (vla-get-lock (vla-get-activelayer adoc)))
      (vla-put-lock (vla-get-activelayer adoc) :vlax-false)
      (setq ent (vla-addcircle
                  (vla-get-modelspace adoc)
                  (vlax-3d-point pt)
                  1.25
                  ) ;_ end of vla-AddCircle
            ) ;_ end of setq
      (setq hatch (vla-addhatch
                    (vla-get-modelspace adoc)
                    achatchpatterntypepredefined
                    "SOLID"
                    :vlax-false
                    ) ;_ end of vla-AddHatch
            ) ;_ end of setq
      (vla-appendouterloop
        hatch
        (vlax-make-variant
          (vlax-safearray-fill
            (vlax-make-safearray
              vlax-vbobject
              '(0 . 0)
              ) ;_ end of vlax-make-safearray
            (list ent)
            ) ;_ end of vlax-safearray-fill
          ) ;_ end of vlax-make-variant
        ) ;_ end of vla-AppendOuterLoop
      (vla-evaluate hatch)
      (vla-erase ent)
      (vla-regen adoc acallviewports)
      (if locked
        (vla-put-lock (vla-get-activelayer adoc) locked)
        ) ;_ end of if
      ) ;_ end of progn
    ) ;_ end of if
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
Хотя лично я создавал бы блок и не мучался.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 01.04.2008, 18:50
#230
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Кулик Алексей aka kpblc, отличный макрос
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Старый 01.04.2008, 19:10
#231
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Shoorup Посмотреть сообщение
VVA, изящно!
Не понял только как работает и для чего переменная _expert - 5?
На запрос "Выбарите объеткы" помимо _all; _last можно отвечать _group (группа)ю Будет выбрана именованная группа.
  • ^C^C - это понятно
  • _expert;5; - Подавляет запрос “Это имя уже используется; переопределить его?” (вдруг группа с именем tmp существует?) Считается, что по умолчанию ответили "Да"
  • _circle;\_d;1.25; - рисуем круг
  • _-group;_c;tmp;;_l;; - создаем группу TMP и запихиваем в нее круг
  • _-bhatch;_s;_l;;_p;SOLID;; - рисуем штриховку
  • _erase;_g;tmp;; - удаляем опцией группа (_g) группу tmp
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Старый 02.04.2008, 09:23
#232
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Еще вопрос:
Не очень понимаю как работает ^P. В каких случаях это будет работать, а в каких нет?

Как в макросах можно подавить запросы в командной строке?
__________________
Поезд который устал от ржавого здравомыслия рельсов...

Последний раз редактировалось Shoorup, 02.04.2008 в 09:45.
Shoorup вне форума  
 
Старый 02.04.2008, 09:26
#233
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


^P - аналог в меню переменной MENUECHO
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Старый 02.04.2008, 09:43
#234
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


VVA, справку умею открывать - пасибо.
Вопрос не в том что это, а как это работает?
Выдержка из справки для переменной MENUECHO:
Цитата:
Устанавливает битовый код управления эхо-выводом и запросами меню . Код является суммой следующих значений:
1-Подавляет эхо-вывод пунктов меню (переключатель в меню ^P)
2-Подавляет системные запросы во время выполнения команд из меню
4-Подавляет переключателя ^P эхо-вывода пунктов меню
8-Отображает все выводимые и вводимые строки (режим отладки для макросов DIESEL)
Если честно то ничего не понял. Что будет происходить при изменениии переменной? Что за "пункты меню"? Данная переменная работает только с Дизелем?
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Старый 02.04.2008, 10:29
#235
Zouss


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


эхо-вывод в командную строку, меню в acad это ведь ничего особенного, просто оно (меню) пишет то что нужно в командную строку вместо вас и гораздо быстрее
MENUECHO или ^p это чисто косметика
работает не только с diesel, но и вообще. просто иногда при отладке макросов бывает нужно посмотреть, что же все таки происходит, вот и включаем отображение всех запросов, даже тех на которые сам макрос и отвечает
Zouss вне форума  
 
Старый 02.04.2008, 20:50
#236
Vova

Engineer
 
Регистрация: 05.09.2003
New-York
Сообщений: 10,288


19-02-06 ММАХ сказал
Цитата:
Гопода, я начал этим заниматься совсем недавно, буквально в этом месяце. И у меня уже есть грандиозные планы например:...
Через 3 дня исполнится 2 года с его последнего сообщения в этой теме. Интересно, как продвинулоь программирование у него за это время?
Vova вне форума  
 
Старый 02.04.2008, 21:32
#237
Shoorup


 
Регистрация: 16.09.2006
Минск
Сообщений: 1,587
<phrase 1= Отправить сообщение для Shoorup с помощью Skype™


Я следующий "ученик" по программированию на Lisp
__________________
Поезд который устал от ржавого здравомыслия рельсов...
Shoorup вне форума  
 
Старый 04.04.2008, 20:19
#238
Kline_Kinder

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


Люди, помогите чайнику, а?
Наваял когда-то, при неоценимой помощи форумчан программулину.
Она долго работала, радость приносила.
Так долго, что я ее и подзабывать начал.
Потом сменили кад, я подгрузил ее, но программулина работать перестала.
Файл с прогой старый, и не отлажен (конечный вариант не сохранил- да знаю кто я...).
Может это и старая версия, не без багов. Но те баги я хоть и смутно но помню.
Вроде их поправил
Но прога стала выдавать непонятное сообщение в редакторе (окно консоль VL):
$
; ошибка: unknown format directive: "["
А такой не было, это точно.

Я точно помню что раньше хоть в проге и и были дурацкие ошибки, но такой мессаги она мне не давала!

Кстати символа "[" в тексте проги нет совсем!

Да и еще. Кусочки проги проверка пропускает, в комстроку када они лезут без матюков, а при выполнении функции кад пишет что она не определена, хотя съедает ее без претензий!
Если надо текст проги выложу (он махонький), просто чтоб здесь не пачкать..., может есть простой моментальный ответ на вопрос что значит это сообщение, и как это лечится?
Спасибо!

Последний раз редактировалось Kline_Kinder, 04.04.2008 в 20:33.
Kline_Kinder вне форума  
 
Старый 04.04.2008, 20:48
#239
Кулик Алексей aka kpblc
Moderator

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


Подобное бывало на официальных локализациях AutoCAD 2005 (как с сервис-паком, так и без) и на 2006 (без сервис-пака). На последующих вроде не было.
Выкладывать код лично я особого смысла не вижу - ошибка самого AutoCAD'a (спасибо кривым ручкам локализаторов). Решение на caduser.ru Profan выкладывал - оно сводилось к редактированию штатных dll.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 04.04.2008, 23:09
#240
Kline_Kinder

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


Спасиб! Буду смотреть. Только вот ковырять штатную д-библ. честно скажу- страшно.
Да. кад поставили мне -2007 рус
Kline_Kinder вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Я начинаю заниматься программированием LISP (help)

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

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