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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > проблема с vlax-ename->vla-object

проблема с vlax-ename->vla-object

Ответ
Поиск в этой теме
Непрочитано 05.04.2011, 11:20 #1
проблема с vlax-ename->vla-object
slogos
 
Регистрация: 02.06.2009
Сообщений: 36

Возникла проблема с функцией vlax-ename->vla-object. передаю в DEFUN имя примитива (3dface), где собираюсь через ActiveX взять координаты. Получаю ошибку, LISP не видит примитива, а значит vla-об-ект = nil.
Примитв есть, его имя есть, а vlax-ename->vla-object дает nil.
Проверяю
(if (and imya (= (type imya) 'ENAME))
(princ "\n переменная imya верна")
(princ "\n переменная imya ошибочно")
) ;_ end of if
и все нормально! Более того все это делается в цикле и до определенного момента работает. И впечатление такое, что попадает какая то "кривая" 3Dface. Но какая бы она не была кривая Entyti-name то есть. Почему же vlax-ename->vla-object его не берет? Кто подскажет что нибудь.
Просмотров: 3757
 
Непрочитано 05.04.2011, 12:04
#2
VVA

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


То, что возвращает (and imya (= (type imya) 'ENAME)) не гарантирует, что примитив существует. Что возвращает этот код
Код:
[Выделить все]
(if (and imya (= (type imya) 'ENAME)(entget imya))
(princ "\n переменная imya верна")
(princ "\n переменная imya ошибочно")
) ;_ end of if
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Автор темы   Непрочитано 05.04.2011, 12:20
#3
slogos


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


При попытке взять список dxf тоже получаю nil. Почему же примитва нет, а его имя есть, я ведь вообще не удаляю примитивы? Где зарыта собака?
slogos вне форума  
 
Непрочитано 05.04.2011, 12:37
#4
TararykovDG

Программист-энтузиаст
 
Регистрация: 17.07.2009
Воронеж
Сообщений: 575


slogos, как вариант виной сему может быть функция (entdel).
__________________
cadtools
TararykovDG вне форума  
 
Автор темы   Непрочитано 06.04.2011, 09:46
#5
slogos


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


И все таки, чудес не бывает, конечно же удаляется 3Dface в некотрых критических ситуациях. Ошибка найдена, могу выложить приложение для построения рельефа местности, реализованное 2-мя алгоритмами. Кому интересна тема пишите.
slogos вне форума  
 
Непрочитано 06.04.2011, 10:20
#6
Лиспер


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


А при чем тут vlax-ename->vla-object? Проблема-то не в нем...
__________________
(/= RegDate StartReadDate)
Лиспер вне форума  
 
Непрочитано 06.04.2011, 10:34
#7
Disney

Геодезист
 
Регистрация: 12.03.2009
Сибирь (где медведи по улицам ходят)
Сообщений: 860
Отправить сообщение для Disney с помощью Skype™


Цитата:
Сообщение от slogos Посмотреть сообщение
могу выложить приложение для построения рельефа местности, реализованное 2-мя алгоритмами. Кому интересна тема пишите.
Пишу. Интересно. Выкладывай.
__________________
Почему все вдруг становятся умными, когда уже не надо?
Disney вне форума  
 
Автор темы   Непрочитано 06.04.2011, 10:47
#8
slogos


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


Лисперу. А кто говорит, что в нем? Конечно проблема в программисте! Вечером выложу, сейчас должен убежать.
Выложил. В архиве VLX и примерчик. 1) удалить все 3Dface 2)загрузить VLX 3 )команда - BUILD_DELONE далее диалог. Указать примитив (любой) которым представлены пикеты (point, insert), программа по образцу выбирет их все.
Вложения
Тип файла: rar DWG.rar (56.5 Кб, 48 просмотров)

Последний раз редактировалось slogos, 06.04.2011 в 11:56. Причина: Вложение
slogos вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > проблема с vlax-ename->vla-object



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить доступ к таблице Access Cleper Программирование 22 02.02.2016 07:05
Express Tools Perezz!! AutoCAD 483 13.02.2015 10:57
Проблема с Object Enabler SPDS Krieger AutoCAD 3 07.04.2008 12:15