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

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

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

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

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

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

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

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

Всем заранее благодарен.
Просмотров: 78322
 
Автор темы   Непрочитано 25.02.2006, 12:38
#41
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


Цитата:
Сообщение от vk
Много кода... Ниасилил...

Освистали

Ну да ладно, когдато я в автокаде и элипса не мог начертить.

А освистали зря -- многа кода это потому, что она работает без глюков(у меня). Я не стал заниматься математикой чтобы высчитать положения рамок и штампов, прсто я решил двигать ПСК и все рисования рести от левого нижнего угла и возвращать ее на место в конце программы, тоже самое и с привязками(здесь сам Полещук подсказал)

Первоначально не предполагалось никаких DEFUN, но суровая жизнь заставила меня применить это чудо, А потом как все глюки были устранены оказалось, что никакой DEFUN и не был нужен, ошибки были не в его отсутствии, но править код обратно не было никаких сил, поэтому решил оставить как есть, но все равно воспользуюсь советами vk.
Ну и соответственно я получил кое какие знания.


Например очень полезная вещь на мой взгляд

Код:
[Выделить все]
(vl-cmdf "_layer или _style или _hatch итд" "")
вместо диалоговых окон, операции выводит командную строку, что облегчает создание программ с помощью COMMAND те увидев глазами командный сценарий данных операций мне становится легче писать программу создания слоя, текстового стиля, штриховки.
Впринципе должны быть команды-дубли работающие без диалогов, но я их не знаю, а если это какие нибудь ситемные переменные отключающие диалоги в этих командах, то их я трогать не хочу тк придется возвращать обратно.
mmax вне форума  
 
Автор темы   Непрочитано 25.02.2006, 12:43
#42
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


Цитата:
Сообщение от forMA
Учиться прикладному программированию, занятие конечно полезное и нужное. Но вот относительно рамок и штампов даже не знаю как сказать, что бы не разозлить почтенную публику. Короче, в результате многолетнего использования всяческих программ, блоков, шаблонов в AutoCAD-е и в других CAD-ах осталось только две "синтетические рамки": горизонтальная и вертикальная. Тяну Stretch- ем. И горя не знаю. . А с появлением ACAD-2006 с экранным редактированием текста я вообще на все приблуды по оформлению рамок и штампов "забил". Типа, есть дела и поважнее. Может быть я глубоко не прав и нахожусь в крайней степени заблуждения, но от суровой правды жизни никуда не денешься. Так оно есть на сегодняшний день. Есть предложение потренироваться на ....фланце в 2d и 3d. И я бы поучился и программа, уверен, получилась бы востребованная и как бы типовая. Как предложение? Что скажете?
forMA, это мое первое произведение
Например в первом классе школы учат таблицу умножения.
Здесь примерно тоже самое.
И эту хигню я продам какому нибудь студенту с кафедры САПР там им такие задания на дом дают.
mmax вне форума  
 
Непрочитано 25.02.2006, 13:11
#43
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
Сообщение от favorite
Скажите а в чем отличие vl-cmdf от command/


Изучаю Lisp по пособиям в инете поэтому не все операторы есть.
vl-cmdf вообще еще ниразу не видел.
В первом приближении это практически одно и то же.

Маленький секрет: в Лиспе нет ни одного оператора. Есть только функции. Кстати, все они достаточно подробно описаны в хелпе. Даже с примерами.

Цитата:
Странно, у меня фАйл в PDF, там также как у него написано и не получается нифига.
Что написано? Как у кого написано? что не получается?

Цитата:
Скажите а как добавить ELSe?
Третий аргумент функции (if)
vk вне форума  
 
Непрочитано 25.02.2006, 13:35
#44
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
Сообщение от mmax
Цитата:
Сообщение от vk
Много кода... Ниасилил...

Освистали

Ну да ладно, когдато я в автокаде и элипса не мог начертить.

А освистали зря -- многа кода это потому, что она работает без глюков(у меня).
Не хотел обижать. Извини.
vk вне форума  
 
Непрочитано 25.02.2006, 13:40
#45
favorite

инженер
 
Регистрация: 05.12.2005
Москва
Сообщений: 425


Код:
[Выделить все]
(Setq DLSVAI (getint "Çàäàéòå äëèíó ñâàè Ì 6Ì 8Ì 10Ì:"))
 (if (and
       (= DLSAVAI 6 )
       (= DLSAVAI 8 )
       (= DLSAVAI 10)
     )
(progn (Setq DLSVAI dLSVAI))
       (Setq DLSVAI (getint "Çàäàéòå äëèíó ñâàè Ì 6Ì 8Ì 10Ì:"))
   (terpri)
 )
Посмотрите почему ошибку выдает.

Здесь идет проверка длины сваи на соответствие , если такой длины нет, то должен производится запрос на ввод заново.
favorite вне форума  
 
Непрочитано 25.02.2006, 14:31
#46
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Тэээксь...
Запускаем, смотрим что пишет
Цитата:
_$
; error: too many arguments: (IF ................
Потому форматируем код в удобочитаемый вид
Код:
[Выделить все]
(if (and
      (= DLSAVAI 6)
      (= DLSAVAI 8)
      (= DLSAVAI 10)
    ) ;_  and
  (progn
    (setq DLSVAI dLSVAI)
  ) ;_  progn
  (setq DLSVAI (getint "Введите длину:"))
  (terpri)
) ;_  if
....и обнаруживаем, что в функцию if передали не три, а четыре аргумента. Один лишний.
vk вне форума  
 
Непрочитано 25.02.2006, 14:35
#47
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Вдогонку:
Запутались в алгоритме....
так проще
Код:
[Выделить все]
(if (member DLSAVAI '(6 8 10))
  ..............
vk вне форума  
 
Непрочитано 25.02.2006, 16:36
#48
forMA


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


для mmax
-----------------
Цитата:
И эту хигню я продам какому нибудь студенту с кафедры САПР там им такие задания на дом дают.
Н-да...А, я дурак распинался. :cry: Опять облом...
Ну что же. Желаю успеха в коммерции...
forMA вне форума  
 
Автор темы   Непрочитано 25.02.2006, 17:21
#49
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


Цитата:
Сообщение от forMA
для mmax
-----------------
Цитата:
И эту хигню я продам какому нибудь студенту с кафедры САПР там им такие задания на дом дают.
Н-да...А, я дурак распинался. :cry: Опять облом...
Ну что же. Желаю успеха в коммерции...
forMA, прошу не обижаться. Хигней я назвал свое первое произведение исскуств -- программу рисования рамки и штампа. Не знаю насколько она будет востребована среди студентов кафедры САПР, но проект мой некоммерческий. Создавая этот "шедевр" я познал многие вещи -- GP отдыхает, но и советы vk не пропадут даром.

А вот насчет фланцев это ты верно подметил. Меня просто убивает рисовать эти чертовы круги в кругах, а по краям еще маленькие кружочки, а если это еще фланец муфты вала то еще + шпоночный паз, а еще бывают лючки разной формы, прародителем которых является все тот же круглый фланец, вобщем полная ....... учитывая еще то, что черчение я с детства ненавижу.
Так что не думай что проблема фланцев интересна только тебе одному.

Создать программу рисования фланца, вид с торца, я хочу уже давно. идея родилась еще раньше чем я обзавелся необходимыми бумажными справочными пособиями по ЛИСПУ.
Алгоритм этой программы я пока еще ношу в голове тк программировать еще не умею.
Жди, скоро выйдет в свет и эта программа, но сначала я займусь болтами.
mmax вне форума  
 
Непрочитано 25.02.2006, 19:32
#50
pyatifan


 
Регистрация: 29.10.2005
Нижегородская обл.
Сообщений: 219
<phrase 1=


>mmax и forMA
хочу вас поддержать в этих начинаниях, в смысле параметризации, и в частности 3-х мерной на lisp
Я сам студент.
Вот курсовой:
http://dwg.ru/forum/attach_dwg/1139695170.dwg
(расширение заменить на zip); выкладывал сдесь уже как-то раз, в теме про дин. блоки (которые кстати меня и разочеровали в конце концов). Фычертил ферму в 3D. Есть мысли параметризировать, (хотя разбиение на виды в акаде некудышное).
С удовольчтвием посмотрю на Ваши заморочки. И если их окажется мало, то брошу Inventor и сяду за этого коня Vlisp.
pyatifan вне форума  
 
Непрочитано 25.02.2006, 19:50
#51
forMA


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


для pyatifan
--------------------
Цитата:
то брошу Inventor
Может не следует делать такие резкие движения. Одно другому не помешает.
forMA вне форума  
 
Непрочитано 25.02.2006, 21:33
#52
favorite

инженер
 
Регистрация: 05.12.2005
Москва
Сообщений: 425


Помогите мне сделать модуль проверки длины сваи.
Программа должна , если длины нет, делать запрос на ввод длины сваи заново, если есть выполняться дальше.У меня почему-то она из
цикла не выходет, если я после не правильной длины задаю правильную.
Код:
[Выделить все]
 (While (and
      (/= DLSAVAI 6)
      (/= DLSAVAI 8)
      (/= DLSAVAI 10)
       )
(progn  (Setq DLSVAI (getint "Çàäàéòå äëèíó ñâàè Ì 6Ì 8Ì 10Ì:")))
)
favorite вне форума  
 
Непрочитано 25.02.2006, 21:56
#53
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


> favorite
Код:
[Выделить все]
(while (not (member dlsavai '(6 8 10)))
  (initget 7)
  (setq dlsavai (getint "\nВыбрать длину [6/8/10] : "))
)


(princ "\nВы выбрали длину ")
(princ dlsavai)
(princ)

PS на всякий случай, проверяйте по буквам имена переменных
Цитата:
(/= DLSAVAI 10)
)
(progn (Setq DLSVAI
vk вне форума  
 
Непрочитано 25.02.2006, 21:59
#54
Profan


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


У меня какая-то абракадабра отображается, только кажется мне, что DLSAVAI и DLSVAI - разные переменные.
Profan вне форума  
 
Непрочитано 25.02.2006, 22:03
#55
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


> Profan

Именно так, не успел отослать )
vk вне форума  
 
Непрочитано 25.02.2006, 22:07
#56
favorite

инженер
 
Регистрация: 05.12.2005
Москва
Сообщений: 425


Спасибо большое , а то запарился прям не мог сделать.
favorite вне форума  
 
Непрочитано 25.02.2006, 22:18
#57
Profan


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


Для VK
Я вот видел, когда посылал свое сообщение, что вы не успел, однако, когда посмотрел тему еще раз, то увидел, что вы каким-то образом успел.
Profan вне форума  
 
Непрочитано 25.02.2006, 22:21
#58
Profan


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


А, увидел, у меня появились две кнопочки: "Правка" и "Крестик".
Profan вне форума  
 
Непрочитано 25.02.2006, 22:24
#59
vk

сисадмин
 
Регистрация: 26.08.2003
Самара
Сообщений: 1,022
<phrase 1=


Цитата:
Сообщение от Profan
что вы каким-то образом успел.
Просто мы одновремено делали... Я правил свое сообщение, а Вы отсылали свое
vk вне форума  
 
Непрочитано 25.02.2006, 22:32
#60
Profan


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


Наверное. У меня до этого не было кнопки "Правка", вот я и удивился.
Profan вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Я начинаю заниматься программированием LISP (help)

Размещение рекламы