Тема: Аналог (entlast)

Есть ли в ARX'е аналог лисповской функции (entlast) ?
Беглый просмотр мануала показал, что все aced-функции требуют указания на примитив пользователем, а мне нужно получение id'шника автоматически отрисованного примитива, для его дальнейшей автоматической обработки....

Re: Аналог (entlast)

> supremum

acdbEntLast

P.S.: Бегло просматривать "мануал" нельзя!

Re: Аналог (entlast)

Спасибо !

Re: Аналог (entlast)

Эээ, а что из себя представляет ads_name ?

#typedef long ads_name[2]

Точечная пара, а как она соотносится с возвращаемым значением лисповского (entlast) ?

 (setq kontur (entlast))
(command "_.hatch" "line" "4" "45" kontur "") 

- прекрасно работает, acedCommand(RTSTR, "_.hatch", RTSTR, "line", RTSTR, "4", RTSTR, "45", RTENAME, izdID, "", RTNONE); - уже нет....

Re: Аналог (entlast)

> supremum
Посмотри функции:

acdbGetObjectId()
acdbGetAdsName()

Они позволяют выполнять преобразование ads_name <-> AcDbObjectId

acedCommand(RTSTR, "_.hatch", RTSTR, "line", RTSTR, "4", RTSTR, "45", RTENAME, izdID, "", RTNONE);

В этой строке у тебя как минимум одна ошибка:

acedCommand(RTSTR, "_.hatch", RTSTR, "line", RTSTR, "4", RTSTR, "45", RTENAME, izdID, RTSTR, "", RTNONE);

Re: Аналог (entlast)

Так я и получал izdID как

ads_name izd;
acdbEntLast(izd);
acdbGetObjectId(izd, izdID);

В любом случае, не штрихуется ни так ни так:

acedCommand(RTSTR, "_.hatch", RTSTR, "line", RTSTR, "4", RTSTR, "45", RTENAME, izd, RTSTR, "", RTNONE);
//второй вариант
acedCommand(RTSTR, "_.hatch", RTSTR, "line", RTSTR, "4", RTSTR, "45", RTENAME, izdID, RTSTR, "", RTNONE);

Re: Аналог (entlast)

> supremum
Второй вариант в любом случае неправильный, а для проверки первого варианта включи CMDECHO и посмотри что ему не нравится.

Re: Аналог (entlast)

Разобрался, действительно, Вы были правы, надо делать:

acedCommand(RTSTR, "_.hatch", RTSTR, "line", RTSTR, "4", RTSTR, "45", RTENAME, izd, RTSTR, "", RTNONE);