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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > lisp-программы для nanoCAD

lisp-программы для nanoCAD

Ответ
Поиск в этой теме
Непрочитано 04.07.2012, 23:09 #1
lisp-программы для nanoCAD
Кулик Алексей aka kpblc
Moderator
 
LISP, C# (ACAD 200[9,12,13,14])
 
С.-Петербург
Регистрация: 25.08.2003
Сообщений: 39,787

Тема создана для размещения вопросов по функционированию lisp-программ под nanoCAD версии от 4.0 и выше.

Просьба размещать либо готовые и гарантированно работающие в nanoCAD lisp-коды, либо, если есть какие-либо вопросы по программированию на lisp, задавать именно их. Любой оффтоп будет удаляться.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Просмотров: 28754
 
Непрочитано 04.07.2012, 23:48
#2
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


Условное обозначение проема в строительной конструкции (в стене, перекрытии).
Порядок ввода: отметить точку в левом нижнем углу проема, затем в левом верхнем, затем в правом верхнем. В другом порядке рисует неправильно (
Вложения
Тип файла: lsp a2otverstie.lsp (607 байт, 302 просмотров)
357 вне форума  
 
Автор темы   Непрочитано 05.07.2012, 00:05
#3
Кулик Алексей aka kpblc
Moderator

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


У меня нет nanoCAD, но я бы попробовал код наподобие:
Код:
[Выделить все]
 (defun c:a2otverstie (/ *error* osmode p1 p2 p3 dlin p4)

  (setq osmode (getvar "osmode"))
  (setvar "osmode" 631)
  (setq p1   (getpoint "\nУкажи точку лево-низ:")
        p2   (getpoint p1 "\nУкажи точку лево-верх:")
        p3   (getpoint p2 "\nУкажи точку право-верх:")
        dlin (min (distance p1 p2) (distance p2 p3))
        dlin (* dlin 0.25)
        p4   (polar p2 (* 1.75 pi) dlin)
        ) ;_ end of setq
  (command "_.solid" "_none" p1 "_none" p2 "_none" p4 "_none" p3 "")
  (setvar "osmode" osmode)
  (princ)
  ) ;_ end of DEFUN
Поскольку я не знаю, что там с отловом ошибок, с определением локальных функций, с обработчиком ошибок и т.п., дальше код улучшать не буду. Хотя вариантов там - море
P.S. Можно в получении p2 заменить getpoint на getcorner (ИМХО) - будет немного нагляднее. Наверное...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.07.2012, 01:05
#4
dows

nanoCAD, ArchiCAD - все что с ними связано :-)
 
Регистрация: 25.12.2008
Москва
Сообщений: 607


А чего должен скрипт делать? У меня отрисовал объект Фигура по трем точкам...
В чем полезность?
Миниатюры
Нажмите на изображение для увеличения
Название: 0000001.png
Просмотров: 687
Размер:	33.0 Кб
ID:	83336  
dows вне форума  
 
Непрочитано 05.07.2012, 02:00
#5
yal

dev.nano
 
Регистрация: 21.03.2009
Сообщений: 363


Добрый вечер!
Итак, немного информации о лиспе. Лисп у нас в бете, поэтому нужно относиться несколько снисходительно.
Из известных проблем:
1. appload/autoload временно отключен. (Проблемы с запуском при открытии документа)
2. Конструкция command pause (и в вариациях с аргументами) пока не работает.
3. Не отрабатываются некоторые VLA проперти (ошибка релиза). Поправлено, войдёт в апдейт (см. клуб разработчика).
4. Нет реализации некоторых VLAX функций. Поправлено, войдёт в апдейт. (см. клуб разработчика).
5. Проблемы с совместимостью вызова команд с параметрами - над этим работаем.
yal вне форума  
 
Непрочитано 05.07.2012, 07:12
#6
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


2 Кулик Алексей aka kpblc
Спасибо!
2 dows
Эту фигуру он и должен отрисовать...
Полезность ... конечно же сомнительна )
2 yal
- В составе кода есть строка
(command "_.pline" p2 "_W" (* 0.5 msc) (* 0.5 msc) p4 "")
В автокаде и интелликадах она отрисовывает полилинию толщиной 0,5. В нанокаде эта линия имеет толщину "по слою". Какие изменения в строку надо внести?
- С составе кода есть строка
(command "_.text" "_bl" p7 (* 2.5 msc) 0 txt0)
В автокаде и интелликадах она отрисовывает набранный текст. В нанокаде не отрисовывает ничего. Какие изменения в строку надо внести?
Если вопросы не по адресу - извините

Последний раз редактировалось 357, 05.07.2012 в 08:03.
357 вне форума  
 
Непрочитано 05.07.2012, 08:34
#7
Makswell

Инженер-строитель
 
Регистрация: 15.08.2007
Киров
Сообщений: 2,204


Цитата:
Сообщение от dows Посмотреть сообщение
А чего должен скрипт делать? У меня отрисовал объект Фигура по трем точкам...
В чем полезность?
Так написано же.
Цитата:
Сообщение от 357 Посмотреть сообщение
Условное обозначение проема в строительной конструкции (в стене, перекрытии).
Очень полезно. Часто таким пользуюсь.
Впервые увидел в VetCAD++ после чего сам запилил свой аналог на лиспе.
Makswell вне форума  
 
Непрочитано 05.07.2012, 08:58
#8
MCAD


 
Блог
 
Регистрация: 05.01.2005
Сообщений: 1,694


Цитата:
Сообщение от dows Посмотреть сообщение
А чего должен скрипт делать? У меня отрисовал объект Фигура по трем точкам...
В чем полезность?
Аналогов в СПДС выкладывалось довольно много. Например
Миниатюры
Нажмите на изображение для увеличения
Название: ScreenShot083.png
Просмотров: 521
Размер:	16.6 Кб
ID:	83348  
MCAD вне форума  
 
Автор темы   Непрочитано 05.07.2012, 09:02
#9
Кулик Алексей aka kpblc
Moderator

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


MCAD, я так понимаю, что хочется обойтись без СПДС
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.07.2012, 09:12
#10
MCAD


 
Блог
 
Регистрация: 05.01.2005
Сообщений: 1,694


Кулик Алексей aka kpblc, Да это даже мне понятно :-)) Это был ответ на впрос для Чего это. Плюс к этому могу добавить кучу фенечек, но ты же сочтёшь это рекламой и удалишь.
MCAD вне форума  
 
Непрочитано 05.07.2012, 09:19
#11
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
... я так понимаю, что хочется обойтись без СПДС
Дело в том, что в нанокаде кроме выносок нет других элементов оформления. А вычерчивать надо и отметки, и линии разрыва и еще многое другое.
357 вне форума  
 
Автор темы   Непрочитано 05.07.2012, 09:44
#12
Кулик Алексей aka kpblc
Moderator

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


... а платить за СПДС не хочется. Это понятно.
ИМХО: надо на самом деле создавать "единичный" блок и работать уже с ним. Намного сложнее код получается, но ИМХО - более верный идеологически и намного проще в применении.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.07.2012, 10:09
#13
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
надо на самом деле создавать "единичный" блок и работать уже с ним
Согласен полностью! Но для этого надо как минимум научить нанокад качественно работать с блоками )
357 вне форума  
 
Непрочитано 05.07.2012, 12:10
#14
dows

nanoCAD, ArchiCAD - все что с ними связано :-)
 
Регистрация: 25.12.2008
Москва
Сообщений: 607


Offtop:
Цитата:
Сообщение от 357 Посмотреть сообщение
Дело в том, что в нанокаде кроме выносок нет других элементов оформления. А вычерчивать надо и отметки, и линии разрыва и еще многое другое.
Елки! А я не понял, что это обозначение проема! )))) фигура и фигура... зашорен уже :-)
dows вне форума  
 
Непрочитано 05.07.2012, 14:06
#15
yal

dev.nano
 
Регистрация: 21.03.2009
Сообщений: 363


Цитата:
Сообщение от 357 Посмотреть сообщение
(command "_.pline" p2 "_W" (* 0.5 msc) (* 0.5 msc) p4 "")
(command "_.text" "_bl" p7 (* 2.5 msc) 0 txt0)
Попробуйте так (command "_.pline" p2 "Ширина" (* 0.5 msc) (* 0.5 msc) p4 "") В будущем поправим.
С текстом сложнее - команду нужно рихтовать. Но можно переписать на VLA-ADDTEXT и VLA-PUT-TEXTSTYLE.
yal вне форума  
 
Автор темы   Непрочитано 05.07.2012, 14:10
#16
Кулик Алексей aka kpblc
Moderator

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


yal, так я не понял, ActiveX (точнее, аналоги vl-*, vla-*, vlax-* функций) в nanolisp есть или не совсем?
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 05.07.2012, 14:16
#17
yal

dev.nano
 
Регистрация: 21.03.2009
Сообщений: 363


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
yal, так я не понял, ActiveX (точнее, аналоги vl-*, vla-*, vlax-* функций) в nanolisp есть или не совсем?
Есть весь наш ActiveX, который совместим с. Кое что конечно нужно дописать, но в основном есть и работает. Если не считать отвалившегося по дороге vla-put И DCL, кстати есть.
yal вне форума  
 
Непрочитано 05.07.2012, 14:16
#18
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


2 yal
Спасибо, вечером попробую
===========
Попробовал: работает! Спасибо! Теперь бы с текстовыми строками решить...

Последний раз редактировалось 357, 05.07.2012 в 19:50.
357 вне форума  
 
Непрочитано 05.07.2012, 18:59
#19
gomer

строю, ломаю
 
Регистрация: 03.04.2008
Украина
Сообщений: 5,515


Цитата:
Сообщение от 357 Посмотреть сообщение
Надо вырабатывать правила правописания нанолиспов )))
Надо сделать нормальный интерпретатор лиспов
Цитата:
Сообщение от 357 Посмотреть сообщение
А Вы файлы *.mnl не подгружали?
А свои меню можно уже подгружать?
gomer вне форума  
 
Непрочитано 05.07.2012, 19:27
#20
357

бывший...
 
Регистрация: 13.08.2009
Краснодар
Сообщений: 1,171
<phrase 1=


В справке написано, что можно файлы *.mnl. При меню ничего не сказано ;-)
Если есть желание реально чем-то помочь - http://forum.dwg.ru/showthread.php?t=85892
357 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > lisp-программы для nanoCAD

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Filedia Возможно ли и каким именно образом обойти появление диалогового окна при работе программы на LISP? Дмитрий Асташев LISP 7 01.09.2011 13:58
В каком текстовом редакторе писать lisp программы? Skilpadde LISP 37 24.02.2011 00:14
{Конкурс} Lisp. Задачки для студентов gomer LISP 10 05.01.2011 16:33
Файл, созданный в учебной версии программы с программой на LISP divega AutoCAD 7 20.05.2010 14:12
проблема с написанием программы на Lisp Voyager LISP 9 07.04.2010 10:12