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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Некорректная работа command «_line»

Некорректная работа command «_line»

Ответ
Поиск в этой теме
Непрочитано 15.03.2019, 00:33
Некорректная работа command «_line»
sergeyVostok
 
Регистрация: 15.03.2019
Сообщений: 18

Здравствуйте ) Подскажите пожалуйста, такая проблема. Рисую прямоугольник по точкам, командой _line. В отладке могу наблюдать координаты этих точек, все нормально. Но при при изменении размеров экрана колесом мыши до определенной величины (когда все мелко) вертикальные стороны рисуются точками и выводится сообщение о том, что создана линия нулевой длины. Соответственно вертикальные стороны вырождаются в точки и прямоугольник вырождается в линию. Вертикальные стороны не равны тем значениям, которые указаны в координатах. При увеличении изображения на экране, все строится нормально. В чем может быть дело ? Голову себе уже сломал.
Померил линейкой сторону прямоугольника при которой программа еще отрисовывает его корректно. Размер прямоугольника 40х25. Так вот, при уменьшении экрана так, что высота 25 мм равна 7 мм (померил линейкой по экрану) еще фигура строится. Если крутануть колесо и уменьшить экран на одну позицию, уже не строится. Текст программы простейший:
Код:
[Выделить все]
 (DEFUN c:excToACad (/)
(setq a 40)
(setq b 60)
(setq p1 (getpoint «\nУкажите базовую точку:»))
(setq k1 (mapcar ‘+ p1 (list a 0)))
(setq k2 (mapcar ‘- k1 (list 0 b)))
(setq k3 (mapcar ‘- k2 (list a 0)))
;;;(command «_line» p1 k1 k2 k3 p1 «»)
(command «_line» p1 k1 «»)
(command «_line» k1 k2 «»)
(command «_line» k2 k3 «»)
(command «_line» k3 p1 «»)
)

Последний раз редактировалось Кулик Алексей aka kpblc, 15.03.2019 в 06:37.
Просмотров: 2483
 
Автор темы   Непрочитано 19.03.2019, 23:42
#21
sergeyVostok


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Че ета? subst в первую очередь - и понеслась.
Ну если мне память не изменяет, эта функция заменяет все найденные вхождения указанного элемента, начиная с указанной позиции.
Еще есть правда защищенные там какие-то массивы, vlax- функция по моему, но до этого пока я не дошел.
sergeyVostok вне форума  
 
Непрочитано 20.03.2019, 08:29
#22
CalcProg


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


не парься пиши на делфи.
а в автокад передавай готовый массив координат элементов и вычерчивай их лисп программой.
CalcProg вне форума  
 
Непрочитано 20.03.2019, 10:21
#23
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 7,026


Цитата:
Сообщение от CalcProg Посмотреть сообщение
не парься пиши на делфи.
а в автокад передавай готовый массив координат элементов и вычерчивай их лисп программой.
чудеса велосипедостроения? И не внешняя программа на дельфи через COM, и не внутренняя на лиспе...
Сергей812 вне форума  
 
Автор темы   Непрочитано 20.03.2019, 19:42
#24
sergeyVostok


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


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
И не внешняя программа на дельфи через COM, и не внутренняя на лиспе...
Наверно имелось ввиду, что на Делфи будет внешняя программа через COM ? Ну тогда и БД наверно на Делфи можно прикрутить ?
sergeyVostok вне форума  
 
Непрочитано 20.03.2019, 20:06
#25
Кулик Алексей aka kpblc
Moderator

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


А ничего, что раздел "lisp"?
__________________

---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 20.03.2019, 21:28
#26
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 7,026


Offtop:
Цитата:
Сообщение от sergeyVostok Посмотреть сообщение
Наверно имелось ввиду, что на Делфи будет внешняя программа через COM ? Ну тогда и БД наверно на Делфи можно прикрутить ?
Можно. Только зачем промежуточные и достаточно тормозные костыли? Либо продолжать изучать лисп, либо переходить на другие технологии - но изнутри акада. Лисп требует достаточно активной практики - Вы еще не до конца осознали его списочную сущность, похоже) Мне лично оказалось проще в свое время с Delphi перейти в конечном итоге на C# и VS, на лиспе могу писать простые вещи - но медленно и печально, "куря" Полещука и форумы)
Сергей812 вне форума  
 
Непрочитано 21.03.2019, 18:22
#27
rebus


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


Цитата:
Сообщение от Кулик Алексей aka kpblc Посмотреть сообщение
Че ета? subst в первую очередь - и понеслась.
Скорее всего, sergeyVostok имел в виду что для списков нет прямого аналога конструкции вида
Код:
[Выделить все]
arr[i]=newValue
из языков типа C/Pascal/Basic.
rebus вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > LISP > Некорректная работа command «_line»

Tekla Structures. Видеокурс. ЖЕЛЕЗОБЕТОН
Размещение рекламы
Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический блок с полярным растяжением. Совмещение ручек - некорректная работа Donhuan Динамические блоки 2 04.09.2018 11:26
Некорректная работа автокада при копировании в буфер обмена dimasic2 AutoCAD 12 16.05.2018 15:33
Некорректная работа с ручками объектов в блоках. sunrise713 AutoCAD 5 11.04.2012 14:18
некорректная и неустойчивая работа BOUNDARY в режиме "Pick Points" АлексЮстасу Баги и пожелания в Autodesk 10 25.03.2010 03:39
SCAD. Команда "Разделение элементов". Некорректная работа Den_Den SCAD 4 04.12.2008 16:51