Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу) - Страница 36
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)

Ответ
Поиск в этой теме
Старый 20.07.2008, 20:12 1 |
Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)
Red Nova
 
ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Торонто
Регистрация: 23.10.2007
Сообщений: 1,990

Со школы не ладится у меня с программированием. Все предметы щелкал, а на экзамене по информатике (Visual foxpro) программку типа суммирования столбцов списал у соседа (это уже в университете).
Не смотря на эте намерен научится писать программы для Автокада на лиспе, скачал книгу Хювенена, несколько примеров создания программ, но после получасового “смотрения” таких книг мое мышление явно притормаживает.
Решил пойти другим путем.
Нашел самый короткий лисп из моей коллекции, и прошу программистов с этого форума пошагово объяснить какой символ что означает. Надеюсь на вашу помощь.


Код:
[Выделить все]
(defun c:make-blocks-explodeable (/ adoc)
  (vl-load-com)
  (vla-startundomark
    (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
    ) ;_ end of vla-startundomark
  (vlax-for blk_def (vla-get-blocks adoc)
    (if (and (equal (vla-get-isxref blk_def) :vlax-false)
             (equal (vla-get-islayout blk_def) :vlax-false)
             ) ;_ end of and
      (vl-catch-all-apply '(lambda () (vla-put-explodable blk_def :vlax-true)))
      ) ;_ end of if
    ) ;_ end of vlax-for
  (vla-endundomark adoc)
  (princ)
  ) ;_ end of defun
_____________________________________________________________________________________________________________

Прошло много лет и топик теперь представляет из себя площадку для обучения азов программирования для многих начинающих.
Так что начинающие лиспогрызы приветствуются .
__________________
Блог

Последний раз редактировалось Red Nova, 12.07.2017 в 05:43.
Просмотров: 2049785
 
Старый 03.06.2009, 17:18
#701
Do$

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


Цитата:
Сообщение от Juss_00 Посмотреть сообщение
Взялся за Лисп. Читаю эту тему с начала. Если кого не затруднит, назовите посты или ссылки на описание функций на русском языке. Или быть может есть в Автолисп справка как родная но на русском?

п.с. понимаю что вопросы уже тут шумевшие не раз. Если что удалите мой пост, но получив в личку ответ был бы признателен.
Не знаю, как насчет этого форума, а в инете сегодня наткнулся вот на это:
http://aco.ifmo.ru/~nadinet/html/oth...book/lisp.html
А вообще пользуюсь книжкой Полещука и Лоскутова AutoLISP и VisualLISP в среде AutoCAD . Если мне память не изменяет - тут где-то скачал.

У меня вопрос к опытным людям по функции initget:

...
(initget "Yes No")
(setq antw (getkword "\nContinue?[Yes/No]:<Yes>"))
...

Выглядит это как показано на первой картинке.
А хотелось бы, чтоб было похоже на вызов стандартной функции, как на второй картинке.
Есть какие-нибудь параметры initget, чтобы варианты не выскакивали сразу, а их можно было высветить, если стрелочку "вниз" нажать.
Мелочь кнешна, но вот такая тонкость интересует .
Миниатюры
Нажмите на изображение для увеличения
Название: initget1.JPG
Просмотров: 195
Размер:	14.2 Кб
ID:	21651  Нажмите на изображение для увеличения
Название: initget2.JPG
Просмотров: 184
Размер:	15.0 Кб
ID:	21652  
Do$ вне форума  
 
Старый 04.06.2009, 10:54
#702
VVA

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


Do$, getkword не запрашивает точки, соответственно нет координат. Сравни:
Код:
[Выделить все]
(initget "Yes No")
(setq antw (getpoint "\nPick point or Continue?[Yes/No]:<Yes>"))
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Старый 04.06.2009, 11:07
#703
Кулик Алексей aka kpblc
Moderator

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


Помимо этого, еще и биты для initget не помешают
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 04.06.2009, 22:14
#704
Do$

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


Супер! Я почему-то думал, что если в запрос getpoint ввести что-то кроме координат точки, то Лисп выдаст ошибку. Опять же, в initget прописаны допустимые варианты ввода только "Yes" или "No" (ну то есть еще подойдет "Y" и "Ye" и "N"), однако, координаты точки тоже принимаются! Я думал это какими-то особыми битами указывается!
В той программе, из которой этот фрагмент, в этом месте точку указывать не надо. Там смысл именно в том, что либо "да" либо "нет" или же пустой ввод, что равносильно "да" - Пользователь выбирает пару объектов, затем выскакивает этот запрос: выбрать еще пару или выход? Если "да" или пустой ввод - то цикл повторяется, пользователь выбирает еще пару объектов.
Дело только в том, что таких пар может быть больше сотни, и рука отвалится на "enter" жать каждый раз... Наверное, лучше тогда перед выбором первого объекта из пары сделать запрос такого вида:
...
(initget "Exit")
(setq text1 (entsel "\nSelect first object or Exit?[Exit]:<Exit>"))
...

Там правда не entsel а ssget используется... Код на работе, к сожалению.
Буду пробовать, спасибо VVA!

Насчет битов, чтоб с ошибками не вылетало при неправильном вводе... Запретить пустой ввод, и ... все?
Do$ вне форума  
 
Старый 04.06.2009, 22:30
#705
Кулик Алексей aka kpblc
Moderator

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


Сейчас кад не запустить, но можно попробовать (initget 169 "Да Нет Yes No _ Y N Y N") перед getpoint.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 29.06.2009, 17:42
#706
Aminka

проектировщик CТБ
 
Регистрация: 03.03.2009
Сообщений: 28


День добрый!
Подскажите, пожалуйста, как лучше реализовать следуюющее:
Есть программка на автолиспе, в которой выполняется цикл. Необходимо написать прерывание цикла по некоторой клавише или комбинации клавиш, при этом программа на автолиспе должна продолжить свою работу дальше.
Правильно ли я понимаю, что нужно писать макрокоманду для "привязки" некоторого действия к комбинации клавиш, причем писать макрокоманду нужно внутри той же программы?
И еще вопрос: во многих языках программмирования имеется возможность устанавливать "метки" на строчки и при необходимости перейти к необходимой строчке, которую пометили, из любой точки программы. Есть ли такая возможность в автолисп?
Поскольку с автолиспом я на "Вы", буду благодарна за простые и понятные новичку ссылки по теме)

Если не очень хорошо объяснила, что нужно, то вот:

(начало программы()

(начало функции "клавиша"()
(если нажаты клавиши "ST" (setq условие2 nil))
)

(while (условие1)
(программа что-то делает в цикле 1)
(setq условие2 T)
(while (условие2)
(программа что-то делает в цикле 2)
)
)
)
Т.е. если в процессе выполнения цикла2 будут нажаты клавишы ST, произойдет выход из цикла.
Aminka вне форума  
 
Старый 30.06.2009, 19:54
#707
Do$

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


Насчет меток: тоже озадачился этим вопросом, когда начинал изучение ЛИСПа. В фортране: goto <метка> и переход на нужную строку. Тут такого нет, поэтому программы по другому приходится выстраивать. Честно говоря, особых сложностей из-за отсутствия такого оператора безусловного перехода не возникало.
Насчет цикла : делал похожую программу, выкрутиться можно так - в процессе выполнения цикла 2 выводится запрос: введите "Да" или "Нет" (к примеру). Если "Да" - условию 2 присваивается Т, если Нет - присваивается nil и цикл завершается.
Do$ вне форума  
 
Старый 01.07.2009, 10:13
#708
vovkam


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


сории за офф топ
объясните пожалуйста почему вот этот код не хочет работать?
Код:
[Выделить все]
(setq 
 	E 8872
 	F 8652
 	J 2322
 	H 93720
 	I 91398
 	tx 15
 	ty 15
)
(setq 
 	;K (- H (sqrt(- (sqr(H)) (sqr(/ E 2)) ) ) )	;105
 	;L (- I (sqrt(- (sqr(I)) (sqr(/ F 2)) ) ) )	;102
 	;G (+ J L) ;2425
	 A1x tx
	 A1y (+ (- H (sqrt(- (sqr(H)) (sqr(/ E 2)) ) ) ) ty)
	 A2x (+ E tx)
	 A2y (+ (- H (sqrt(- (sqr(H)) (sqr(/ E 2)) ) ) ) ty)
	 B1x (+ tx (/ (- E F) 2))
	 B1y (+ (+ J (- I (sqrt(- (sqr(I)) (sqr(/ F 2)) ) ) )) ty )
	 B2x (+ tx (/ (+ E F) 2))
	 B2y (+ (+ J (- I (sqrt(- (sqr(I)) (sqr(/ F 2)) ) ) )) ty )
	 ARx (+ tx (/ E 2))
	 ARy (+ H ty)
	 BRx (+ tx (/ E 2))
	 BRy (- (+ I G ty) (- I (sqrt(- (sqr(I)) (sqr(/ F 2)) ) ) ) )
 	 LA E
	 LB F
	 n1 (fix (/ E 400))
	 n2 (fix (/ F 400))
)

(entmakex (list '(0 . "point") (list 10 A1x A1y)))

(setq c  (list ARx ARy)
      p  (list A1x A1y 0.)
      r  (distance c p)
      a1 (angle c p)
      a2 (+ a1 (/ E r))
) ;_  setq
(entmakex (list '(0 . "ARC")
                (cons 10 c)
                (cons 40 r)
                (cons 50 a1)
                (cons 51 a2)
          ) ;_  list
) ;_  entmakex
а в данном случае работает
Код:
[Выделить все]
(setq 
           E 8872
 	F 8652
 	J 2322
 	H 93720
 	I 91398
 	tx 15
 	ty 15
)
(setq 
 	 K 105	;(- H (sqrt(- (sqr(H)) (sqr(/ E 2)) ) ) )	;105
 	 L 102  ;(- I (sqrt(- (sqr(I)) (sqr(/ F 2)) ) ) )	;102
 	 G 2425	;(+ J L) ;2425
	 A1x tx
	 A1y (+ K ty)
	 A2x (+ E tx)
	 A2y (+ K ty)
	 B1x (+ tx (/ (- E F) 2))
	 B1y (+ G ty )
	 B2x (+ tx (/ (+ E F) 2))
	 B2y (+ G ty )
	 Cx (+ tx (/ E 2))
	 Cy (+ H ty)
 	 LA E
	 LB F
	 n1 (fix (/ E 400))
	 n2 (fix (/ F 400))
)
%|

Последний раз редактировалось vovkam, 01.07.2009 в 16:49.
vovkam вне форума  
 
Старый 01.07.2009, 10:53
#709
Aminka

проектировщик CТБ
 
Регистрация: 03.03.2009
Сообщений: 28


Цитата:
Сообщение от Do$ Посмотреть сообщение
Насчет цикла : делал похожую программу, выкрутиться можно так - в процессе выполнения цикла 2 выводится запрос: введите "Да" или "Нет" (к примеру). Если "Да" - условию 2 присваивается Т, если Нет - присваивается nil и цикл завершается.
Этот вариант применять бы не хотелось изначально, потому что нажимать триста раз ентер в цикле - монтонно слишком и времени займет много.
Aminka вне форума  
 
Старый 01.07.2009, 11:33
#710
Кулик Алексей aka kpblc
Moderator

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


vovkam, мой AutoCAD 2008 не знает функции sqr, это раз. Второе: где и что конкретно не работает?
Aminka, а что конкретно хочется сделать-то? Полный код кусков "что-то делать" покажи.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 01.07.2009, 11:37
#711
E-degtyarev

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


Потому что функция sqr не определена, а в Lispe такой встроенной функции нет.
E-degtyarev вне форума  
 
Старый 01.07.2009, 11:50
#712
Кулик Алексей aka kpblc
Moderator

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


E-degtyarev, vovkam говорит, что во втором случае код работает. А sqr там используется. Значит, она уже определена и загружена.
---
Добавлено: методика записи
Код:
сразу в глаза не бросается, но в данном случае вряд ли правомерна... Или есть еще и функция i, помимо переменной? Ну так тогда она переопределяется на значение...
Короче, код написан "не для лиспа"
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 01.07.2009, 16:46
#713
vovkam


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


Кулик Алексей aka kpblc самое интересное, что при вводе !K !L оно правильно считает...
Короче, подскажите, пожалуйста, как мне решить эту задачу. Как избавиться от этих выражений??
vovkam вне форума  
 
Старый 01.07.2009, 17:01
#714
Кулик Алексей aka kpblc
Moderator

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


vovkam, с тебя значение переменной g:
Код:
[Выделить все]
(defun test (/ e f j h i tx ty a1x a1y a2x a2y b1x b1y b2x b2y arcx arcy brx bry la lb n1 n2)
  (setq e    8872.
        f    8652.
        j    2322.
        h    93720.
        i    91398.
        tx   15.
        ty   15.
        a1x  tx
        a1y  (+ (- h (sqrt (- (sqrt h) (sqrt (/ e 2.))))) ty)
        a2x  (+ e tx)
        a2y  (+ (- h (sqrt (- (sqrt h) (sqrt (/ e 2))))) ty)
        b1x  (+ tx (/ (- e f) 2.))
        b1y  (+ (+ j (- i (sqrt (- (sqrt i) (sqrt (/ f 2.)))))) ty)
        b2x  (+ tx (/ (+ e f) 2.))
        b2y  (+ (+ j (- i (sqrt (- (sqrt i) (sqrt (/ f 2.)))))) ty)
        arcx (+ tx (/ e 2.))
        arcy (+ h ty)
        brx  (+ tx (/ e 2.))
        bry  (- (+ i g ty) (- i (sqrt (- (sqrt i) (sqrt (/ f 2.))))))
        la   e
        lb   f
        n1   (fix (/ e 400.))
        n2   (fix (/ f 400.))
        c    (list arcx ary)
        p    (list a1x a1y 0.)
        r    (distance c p)
        a1   (angle c p)
        a2   (+ a1 (/ e r))
        ) ;_ end of setq
  (entmakex (list (cons 0 "POINT") (cons 10 (list a1x a1y))))
  (entmakex (list '(0 . "ARC")
                  (cons 10 c)
                  (cons 40 r)
                  (cons 50 a1)
                  (cons 51 a2)
                  ) ;_  list
            ) ;_ end of entmakex
  )
Не проверял
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 04.07.2009, 19:10 Учиться никогда не поздно
#715
СИД


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


Добрый день (или вечер) уважаемые корифеи Лиспа!
Я еще только как месяц пробую освоить программирование на Лиспе. Маленькие программки вроде как освоил и тут замахнуться (дурень думками богат?) на расчет эвакуации людей из здания. Может это уже кто и без меня придумал, но я об этом пока не знаю. Задумка была такова чтобы можно было нарисовать пути эвакуации людей на чертеже, ввести количество людей в чертёж и в таблице получить все результаты вычислений, и в конце время эвакуации из здания.
Это была такая задумка, а сталкнулся я с проблемой, когда пытался ввести длину участка маршрута в таблицу, для дальнейших вычислений. Длину участка изображенного до этого графически я так и не смог вычислить и ещё не смог научиться определять длины различных участков одного маршрута. Пока что дальше не пошел. Если кто может подсказать, каким образом можно информацию о длине линий из чертежа вставить в таблицу Автокада (или экселя) , для использования в вычислениях, то очень буду тому благодарен. И вообще возможно ли это в Лиспе?
СИД вне форума  
 
Старый 16.07.2009, 18:04
#716
Aminka

проектировщик CТБ
 
Регистрация: 03.03.2009
Сообщений: 28


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Aminka, а что конкретно хочется сделать-то? Полный код кусков "что-то делать" покажи.
Попробовала поискать, как делать выход по пустому вводу. Получилась откровенная ерунда. Цикл, который должен выполняться N раз, не выполняется. Подскажите, пожалуйста, почему так происходит и что на данную тему почитать, наверняка это уже где-то обсуждалось.

Код:
[Выделить все]
(defun c:T5 (/ eNizv i inc )
  (setq Nizv nil)
  (setq inc nil)
  (setq i 1)
  (setq Nizv 6)
 
 (while (<= i Nizv)
  (setq flag nil) 
  (while (null flag) 
   (setq s (car (nentsel "\Будут ли указаны датчики с данным шлейфом и прибором? Если будут, то нажмите ENTER или правую клавишу мыши. Для смены этажа, номера шлейфа или ПКП выберите любой объект) ")));имя примитива или имя атрибута
   (cond
   ((= s nil) 
     (
      (princ "\nВыберите что-нибудь ") 
      (setq gr (ssget))
      ;;программа выполняет действия с выбранными блоками
      (setq inc (sslength gr))
      (setq i (+ i 1))
     )
   )    
   ((/= s nil) (setq flag T)) 
   );; endof cond
  );; endof (while null_flag_new
 );end of while Nizv 
);end of defun
(princ)
Aminka вне форума  
 
Старый 17.07.2009, 00:10
#717
Кулик Алексей aka kpblc
Moderator

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


не вникая в код (поздновато уже):
Код:
[Выделить все]
(defun c:t5 (/ enizv i inc)
  (setq nizv nil)
  (setq inc nil)
  (setq i 1)
  (setq nizv 6)

  (while (<= i nizv)
    (setq flag nil)
    (while (null flag)
      (setq s
             (car
               (nentsel
                 (strcat
                   "\Будут ли указаны датчики с данным шлейфом и прибором? "
                   "Если будут, то нажмите ENTER или правую клавишу мыши. "
                   "Для смены этажа, номера шлейфа или ПКП выберите любой объект) "
                   ) ;_ end of strcat
                 ) ;_ end of nentsel
               ) ;_ end of car
            )                           ;имя примитива или имя атрибута
      (cond
        ((= s nil)
                                        ;( Зачем здесь скобки?
         (princ "\nВыберите что-нибудь ")
         (setq gr (ssget))
         ;;программа выполняет действия с выбранными блоками
         (setq inc (sslength gr))
         (setq i (+ i 1))
                                        ;  )
         )
        ((/= s nil)
         (setq flag t)
         )
        ) ;_ end of cond
      ;; endof cond
      ) ;_ end of while
    ;; endof (while null_flag_new
    ) ;_ end of while
  ) ;_ end of defun
(princ)
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Старый 17.07.2009, 10:56
#718
Дима_

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


Цитата:
Сообщение от СИД Посмотреть сообщение
Добрый день (или вечер) уважаемые корифеи Лиспа!
Я еще только как месяц пробую освоить программирование на Лиспе. Маленькие программки вроде как освоил и тут замахнуться (дурень думками богат?) на расчет эвакуации людей из здания. Может это уже кто и без меня придумал, но я об этом пока не знаю. Задумка была такова чтобы можно было нарисовать пути эвакуации людей на чертеже, ввести количество людей в чертёж и в таблице получить все результаты вычислений, и в конце время эвакуации из здания.
Это была такая задумка, а сталкнулся я с проблемой, когда пытался ввести длину участка маршрута в таблицу, для дальнейших вычислений. Длину участка изображенного до этого графически я так и не смог вычислить и ещё не смог научиться определять длины различных участков одного маршрута. Пока что дальше не пошел. Если кто может подсказать, каким образом можно информацию о длине линий из чертежа вставить в таблицу Автокада (или экселя) , для использования в вычислениях, то очень буду тому благодарен. И вообще возможно ли это в Лиспе?
Да можно, только ньюансов в Вашей программе - уверею больше чем кажеться, свойства объектов можно вычислять либо из dxf представления (entget (car (entsel))) - поличите список dxf кодов - их расшифровку см. в справке по Acad'у, либо vla-методами - для получения длинны например (vla-get-length (vlax-ename->vla-object (car (entsel)))) - чтобы занести в таблицу - аналогично - но проще с помощью vla. В ексель либо изучай объектную модель екселя, либо при помощи sql запрса к установленному диапазону - короче изучать еще много чего, если совсем ничего не понятно, пишите конкретными задачами с примерами.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Старый 17.07.2009, 14:44
#719
Aminka

проектировщик CТБ
 
Регистрация: 03.03.2009
Сообщений: 28


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
не вникая в код (поздновато уже
скобка появилась потому, что
(
сond
(
(условие 2) ((действие2) (действие3))
(условие1) (действие1)
)
)


или так не правильно?
Aminka вне форума  
 
Старый 17.07.2009, 15:32
#720
Кулик Алексей aka kpblc
Moderator

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


По идее надо:
Код:
[Выделить все]
(cond
 ((условие 2)
  (Действие 2)
  (Действие 3)
  )
 ((условие 1)
  (Действие 1)
  )
 ) ;_ end of cond
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Научите лиспу на примере (или как kpblc, VVA и компания пытаются обучить чайника лиспу)



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LISP. Вставка в таблицу поля, соотвествующего площади примитива Profan Готовые программы 272 06.06.2021 23:12
Сейсмозащита и сейсмоизоляция существующих, построенных зд. IANationalInformAgentstvo Прочее. Архитектура и строительство 216 20.01.2015 16:51
Мониторы LCD CRT Разное 94 17.06.2008 10:51
ЮМОР 2006 =) Perezz!! Разное 1122 04.01.2007 00:46