Тема: Как создать resbuf из vector<double>?
Помогите пожалуйста.
Мне нужно создать extensionDictionary из vector<double>
и из массива с координатами точек.
Функция setFromRbChain в качестве параметра принимает resbuf,
как его можно создать?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → ObjectARX → Как создать resbuf из vector<double>?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Помогите пожалуйста.
Мне нужно создать extensionDictionary из vector<double>
и из массива с координатами точек.
Функция setFromRbChain в качестве параметра принимает resbuf,
как его можно создать?
Используйте ф-ю acutBuildList.
Пример исходника:
www.arxmaster.by.ru/sourcecode/xRecordSample.zip
Спасибо за ответ. Правда acutBuildList мне не подходит.
В acutBuildList кол-во параметров должно быть известно во время компиляции, а у меня только во время выполнения программы будет известно сколко элементов в vector<double>
т.е. код как я понимаю должен быть таким
for(i = 0 ; i < vectorDouble.size() ; i++)
{
добавляем в resbuf vectorDouble[i];
}
Как добавлять я не знаю
resbuf это вроде однонаправленный список, как с ним работать я не оч. понимаю
Спасибо за помощь.
Нашел несколько решений на http://discussion.autodesk.com/forum.js … mp;start=0
Не проверял их на работоспособность, но, думаю, они должны работать.
Вот одно:
void AddResBuf(resbuf *pRb, resbuf *pInsert) { resbuf *pTemp; pTemp = pRb; while (pTemp->rbnext) // find the end pTemp = pTemp->rbnext; pTemp->rbnext = pInsert; } usage example: for (i = 1; i <= num; i++) AddResBuf(command, acutBuildList(RTSTR, "?", RTNONE) );
Второе:
//built the filter list. struct resbuf* prebNext=NULL; struct resbuf* prebPrev=NULL; struct resbuf* prebFilter=NULL; prebFilter = acutBuildList(-4, "<or",0); prebPrev=prebFilter; ASSERT(prebPrev!=NULL); for(long i=1;i<layerInfoArr.GetSize();i++){ prebNext = NULL; prebNext = acutBuildList(8,layerInfoArr.chName,0); ASSERT(prebNext!=NULL); prebPrev->rbnext= prebNext; prebPrev = prebNext; } prebNext = NULL; prebNext = acutBuildList(-4,"or>",0); ASSERT(prebNext!=NULL); prebPrev->rbnext = prebNext;
Третье:
Класс ArxDbgRbList
файлы
ArxDbgRbList.cpp
ArxDbgRbList.h
в папке
...samples\ARXDBG\Inc
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → ObjectARX → Как создать resbuf из vector<double>?
Форум работает на PunBB, при поддержке Informer Technologies, Inc