13/12/2013
Использование набора предварительного выбора в команде копирования
Вопрос :
У меня есть набор предварительного выбора и я хотел бы получить его копию сразу и целиком, а не копировать последовательно каждый примитив из набора при помощи вызова функции acedCommand (RTSTR, "_copy",..). Есть ли возможность вызвать однократно acedCommand (RTSTR, "_copy",..) для всего набора, как это делает AutoCAD?
Ответ :
Вы можете использовать набор, передав RTPICKS и набор в функцию acedCommand:
Код - C++: [Выделить]
- // Так как мы собираемся использовать набор предварительного выбора,
- // команда должна быть зарегистрирована с флагом ACRX_CMD_USEPICKSET
- static void AdskArxProject1_CopyPF(void)
- {
- ads_name ss;
- acedSSGet(_T("_I"),NULL,NULL,NULL,ss);
- acedCommand(
- RTSTR,
- _T("_copy"),
- RTPICKS,
- ss,
- RTSTR,
- _T(""),
- RTNONE
- );
- acedSSFree(ss);
- }
Так как мы собираемся использовать набор предварительного выбора, команда должна быть зарегистрирована с флагом ACRX_CMD_USEPICKSET
Для того чтобы предварительный выбор в AutoCAD был разрешен, системная переменная PICKFIRST должна быть равна единице.
Обсуждение: http://adn-cis.org/forum/index.php?topic=396
Опубликовано 13.12.2013