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

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как создать объект XLINE?

Как создать объект XLINE?

Ответ
Поиск в этой теме
Непрочитано 22.09.2007, 06:38 #1
Как создать объект XLINE?
Таня.
 
Владивосток
Регистрация: 29.06.2007
Сообщений: 50

Как с помощью функции entmake создать объект XLINE?
Я задаю:
(entmake '((0 . "XLINE") (10 0.0 0.0 0.0) (11 1.0 0.0 0.0)))
Выдает nil.
Просмотров: 3195
 
Непрочитано 22.09.2007, 14:05
#2
fixo

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


Попробуй через Entmakex:

Код:
[Выделить все]
(setq p      (getpoint "\nSpecify a first point: ")
      ang  (getorient p "\nSpecify direction of xline: ")
) 
(entmakex (list '(0 . "XLINE")
                '(100 . "AcDbEntity")
                '(100 . "AcDbXline")
                (cons 10 p)
                (cons 11 (polar '(0 0) ang 1.0))
          ) 
)
~'J'~
fixo вне форума  
 
Автор темы   Непрочитано 23.09.2007, 08:59
#3
Таня.


 
Регистрация: 29.06.2007
Владивосток
Сообщений: 50


Спасибо. Программка работает.
Таня. вне форума  
 
Непрочитано 23.09.2007, 12:22
#4
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


Цитата:
Сообщение от Fatty
Попробуй через Entmakex:
Почему именно через entmakex? У меня и через entmake работает... Вообще в чем принципиальная разница этих функций?
Таня.
А не работала у тебя функция т.к. не указан маркер подкласса, попробуй так:
Код:
[Выделить все]
(entmake '((0 . "XLINE") (100 . "AcDbEntity") (100 . "AcDbXline") (10 0.0 0.0 0.0) (11 1.0 0.0 0.0)))
Krieger вне форума  
 
Непрочитано 23.09.2007, 14:07
#5
Кулик Алексей aka kpblc
Moderator

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


В случае успешного создания entmake возвращает список, entmakex - ename-указатель на созданный объект.
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Непрочитано 23.09.2007, 18:23
#6
Krieger

инженер (КМ)
 
Регистрация: 30.10.2004
Красноярск
Сообщений: 3,826


И все?
Спасибо за разъяснение.
Krieger вне форума  
 
Непрочитано 23.09.2007, 18:34
#7
fixo

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


Цитата:
Сообщение от Krieger
Цитата:
Сообщение от Fatty
Попробуй через Entmakex:
Почему именно через entmakex? У меня и через entmake работает... Вообще в чем принципиальная разница этих функций?
Таня.
А не работала у тебя функция т.к. не указан маркер подкласса, попробуй так:
Код:
[Выделить все]
(entmake '((0 . "XLINE") (100 . "AcDbEntity") (100 . "AcDbXline") (10 0.0 0.0 0.0) (11 1.0 0.0 0.0)))
Извиняюсь за опоздание, через entmakex я обычно
создаю объекты, которые будут удаляться
Соответственно Xline обычно удаляется после
некоторых манипуляций, а тут как бы готовый
указатель, хотя можно и через entmake и удалять
объект, определенный функцией entlast
Просто привычка...

~'J'~
fixo вне форума  
 
Непрочитано 23.09.2007, 18:42
#8
Кулик Алексей aka kpblc
Moderator

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


Если через entmake создавать, к примеру, словарь, то (entlast) вернет точно не его...
__________________
Моя библиотека lisp-функций
---
Обращение ко мне - на "ты".
Все, что сказано - личное мнение.
Кулик Алексей aka kpblc вне форума  
 
Автор темы   Непрочитано 26.09.2007, 12:03
#9
Таня.


 
Регистрация: 29.06.2007
Владивосток
Сообщений: 50


Цитата:
Сообщение от Krieger
А не работала у тебя функция т.к. не указан маркер подкласса
Спасибо. В процессе экспериментирования вставляла только (100 . "AcDbXline"), а про
(100 . "AcDbEntity") не додумалась.
Таня. вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Как создать объект XLINE?

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