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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Помогите начинающим

Помогите начинающим

Ответ
Поиск в этой теме
Непрочитано 17.10.2007, 22:00 #1
Помогите начинающим
Зодчий
 
Конструктор (начинающий)
 
Беларусь, Гродно
Регистрация: 25.01.2007
Сообщений: 44

Господа програмисты, помогите начинающему. Недавно освоил VBA для AutoCAD, но, проанализировав содержание тем на форуме, понял, что более актуален LISP. Может у кого есть толковый хелп по LISP c нуля большая прозьба выложить.
Просмотров: 3684
 
Непрочитано 17.10.2007, 22:14
#2
Кулик Алексей aka kpblc
Moderator

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


"САПР на базе AutoCAD - как это делается".
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 18.10.2007, 10:00
#3
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


и ещё поищи через "поиск" словом lisp или lsp
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 19.10.2007, 22:26
#4
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Цитата:
Господа програмисты, помогите начинающему. Недавно освоил VBA для AutoCAD, но, проанализировав содержание тем на форуме, понял, что более актуален LISP. Может у кого есть толковый хелп по LISP c нуля большая прозьба выложить.
с учетом того что от dxf кодов потихоньку отходят, то не факт что лисп актуальнее, рыться в объектной модели на Вба приятнее да и диалоги, другое дело что материала море написанного.
Sleekka вне форума  
 
Непрочитано 19.10.2007, 22:29
#5
Кулик Алексей aka kpblc
Moderator

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


До некоторых вещей лучше и проще добираться через DXF.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.10.2007, 09:35
#6
Елпанов Евгений

программист
 
Регистрация: 20.12.2005
Москва
Сообщений: 1,439
Отправить сообщение для Елпанов Евгений с помощью Skype™


Цитата:
Сообщение от Sleekka Посмотреть сообщение
с учетом того что от dxf кодов потихоньку отходят...
Все немного не так..
У кого то есть религиозные предпочтения, кто то, знает только один из путей, поэтому его и использует. Остальные, не зависят от таких предубеждений и используют кратчайший из путей.
Как пример, попробуй создать несколько тысяч отрезков каждым из способов и засеки время. Попробуй поэксперементировать с разными свойствами отрезков, например, все отрезки в определенном слое, причем каждый раз с проверкой существования слоя, определенного цвета, определенного типа линии и ширины...
В какой то момент, ты заметишь, что все проще написать сразу в dxf, чем перепроверять и при необходимости создавать, а так же, на многократное вычисление объектов документа, коллекции слоев и.т.д. тоже уходит время.
PS. Вероятно, я слишком долго объяснял, но в моих программах, тесно переплетаются оба пути.
PS. Забыл добавить, некоторые dxf объекты, возможно изменять только через dxf коды. Они просто не имеют отражения в vba модели...
Елпанов Евгений вне форума  
 
Непрочитано 21.10.2007, 01:13
#7
Дима_

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


Хотел создать свою тему - но название больно подходит. Наконец дошли руки взяться за лисп (до этого в форуме обещал), основная задача (для меня) научиться создавать параметризированные тела в 3d, так-как дин.блоки за это не беруться. Вот навоял 1-ое "убожище", большая просьба написать что сделанно не так с Вашей точки зрения, какие методы устарели - ибо сделана она только на основе хелпа - в общем нужна критика и варианты как эту программу сделать "правильнее" с точки зрения возникновения неточностей при определенных условиях, с точки зрения лисп-стандартов и т.д. - с моей точки зрения данный вариант один из самых "наикривых", но как "прямой" сделать пока не знаю, потому и обратился. Желательно пояснения расшифрововать - просьба писать по подрбнее, ну и собственно вот она:

;Рисует болт.
;Формат вызова - (bolt диаметр резьбы, длинна шпильки, "диаметр" головки, высота головки,

;размер под ключ)
; (bolt 12 30 20.9 8 19) - нарисовать болт М12 по ГОСТ 7798-70

(defun bolt (m l d h s / k1 r s2 m2)
(setq k1 (getpoint "Базовая точка")
r (/ d 2.0)
s2 (/ s 2.0)
m2 (/ m 2.0))
(command "_polygon" 6 k1 "О" s2)
(command "_extrude" (polar k1 (/ pi 2) s2) "" h 0)
(command "_zoom" "_o" (polar k1 (/ pi 2) s2) "")
(command "_cylinder" k1 m2 (- 0 l))
(command "_cylinder" k1 r h)
(command "_intersect" (polar k1 0 r) (polar k1 (/ pi 2) s2) "")
(command "_union" (polar k1 0 m2) (polar k1 (/ pi 2) s2) "")
(command "_zoom" "_P")
)
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 21.10.2007, 01:40
#8
Кулик Алексей aka kpblc
Moderator

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


  1. Ну для начала я бы не так сделал вызов. По этому вопросу я расписывал здесь. То есть в моей интерпретации функция была бы такой:
    Код:
    [Выделить все]
    (defun _kpblc-bolt(lst)
    ;|
    lst - список параметров:
    '(("diam_groove" . <Диаметр резьбы>)
      ("len" . <Длина шпильки>)
      ("diam_head" . <Размер головки>)
      ("height_head" . <Высота головки>)
      )
    |;
    ;; код
    )
    И внутри кода уже анализировал бы наличие параметров и их правильность. А то тебе завтра понадобится добавить длину нарезанной резьбы, и что будешь делать?
  2. В команде _polygon (которую, кстати, можно и заменить) опция "o" для какого языка?
  3. В команде _extrude можно использовать и выбор по _last.
  4. Перед использованием командных методов нельзя забывать о системной переменной osmode. И ее восстановлении в случае ошибки (неважно какой - ошибка кода или ошибка пользователя). [Почти]универсальный обработчик ошибок.
  5. Отсутствуют метки начала и конца отмены.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 21.10.2007, 02:06
#9
Дима_

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


Спасибо - обязательно изучу.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 10.11.2007, 14:10
#10
Дима_

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


Еще вопросик - как данную последовательность предстваить в виде цикла:
(defun draw ( / lst)
(setq lst '( (0 0) (10 10) (20 10)))
(command "_pline" (nth 0 lst) (nth 1 lst) (nth 2 lst) "")
)

подразумеваю что-то вроде:
(command "_pline" (foreach n lst (nth n lst)) "") - а не работает ?
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 10.11.2007, 15:16
#11
CB

Конструирование в области нефтеразведки
 
Регистрация: 10.02.2006
Гомель
Сообщений: 321


Код:
[Выделить все]
(apply 'command (append (list "_pline") lst (list "")))
CB вне форума  
 
Непрочитано 10.11.2007, 16:06
#12
Дима_

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


Спасибо друг осталось понять что тут есть что - но это думаю осилю.
__________________
Когда в руках молоток все вокруг кажется гвоздями.
Дима_ вне форума  
 
Непрочитано 20.11.2007, 13:21
#13
Дима_

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


Опять вернулся к любимой теме - не получаеться указать грань для сопряжения (команда _fillet) - точнее указывается та, что находиться за ней, привязки отключенны (если вместо _fillet использовать для проверки например _line с любой второй точкой то все правильно - линия идет от нужной грани), можно конечно програмно поворачивать в изометрию - но нету 100% уверенности, что эта грань с какой либо другой в чертеже не совпадет, да и не правильно это как-то (ведь координаты-то 100% верные).
P.S. Хотя наверное дело в выборе (когда _line работает он точку запрашивает, а _fillet ребро).
__________________
Когда в руках молоток все вокруг кажется гвоздями.

Последний раз редактировалось Дима_, 20.11.2007 в 15:21.
Дима_ вне форума  
 
Непрочитано 20.11.2007, 23:02
#14
fixo

Lisp/VBA/VB.NET Hobbyist
 
Регистрация: 24.03.2005
Славен Град Петров
Сообщений: 367


Цитата:
Сообщение от Дима_ Посмотреть сообщение
Опять вернулся к любимой теме - не получаеться указать грань для сопряжения (команда _fillet) - точнее указывается та, что находиться за ней, привязки отключенны (если вместо _fillet использовать для проверки например _line с любой второй точкой то все правильно - линия идет от нужной грани), можно конечно програмно поворачивать в изометрию - но нету 100% уверенности, что эта грань с какой либо другой в чертеже не совпадет, да и не правильно это как-то (ведь координаты-то 100% верные).
P.S. Хотя наверное дело в выборе (когда _line работает он точку запрашивает, а _fillet ребро).
Можешь верить или нет ни фига у тебя програмно не получится
ни в Лиспе ни в VBA ни в VB.NET ни в C++ и т.д.
Кто может оспорить, зауважаю до гроба, но пока что
таких не видел ни на одном форуме
fixo вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Помогите начинающим



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите, добрые люди несчастному нюбу. Atij Программирование 8 06.05.2008 17:42
помогите срочно пощитать теплопроводность стены Sanyok Конструкции зданий и сооружений 5 23.12.2005 11:15