Тема: Где можно найти примеры создания графических примитивов?

Народ, подскажите пожалуйста где можно найти примеры
создания на ObjectARX каких либо графических приметивов (точка, прямая и т.д. ) с описание на русском.

Re: Где можно найти примеры создания графических примитивов?

Я тоже хотел бы, подобные примеры

Re: Где можно найти примеры создания графических примитивов?

Конечно можно было бы написать "и мне!!!", не сомниваюсь в эффективности такого рода заявления. Желающих много и каждому в отдельности отправлять не рационально, поэтому предлагаю такую вещь, если кто-то вышлет мне выше указанные примеры, то я обязуюсь разместить их в интернете и дать в этом разделе ссылку, для всеобщего скачивания.

Re: Где можно найти примеры создания графических примитивов?

э-э-э... чё-то я не догоняю
Это ж самое начало ARX-ных примеров
вообще, не очень понятно - если занимаешься ARX-ом, значит есть лабы, а значит вопросов возникать не должно...

Допустим, где-то когда-то был создан объект AcDbLine:
AcDbLine *pLine=new AcDbLine;
pLine->setStartPoint(...);
...
добавить его в чертёж можно использую функцию из второй лабы
есть более правильные и быстрые способы, но если только начинаешь
лучше за них не браться, а пользоваться простым вариантом
AcDbObjectId outId;
AcDbLine *pLine=new AcDbLine;
pLine->setStartPoint(...);
postToDatabase(pLine, outId);
мало того, что объект добавляется в тазу банных,
ещё и получаешь его идентификатор
Да, и ещё, удалять pLine после всего не следует -
ты линию создал и отдал базе данных, она больше не твоя ;)
//================================
// Собссно, сама функция:
//================================
#include <dbents.h>
#include <dbsymtb.h>
#include <dbapserv.h>
//Назначение:
//  Добавление Ентити в MODEL_SPACE в CURRENT чертёж.
Acad::ErrorStatus
postToDatabase(/*[in]*/AcDbEntity* pEnt,/*[out]*/AcDbObjectId& idObj)
{
    Acad::ErrorStatus      es;
    AcDbBlockTable*        pBlockTable;
    AcDbBlockTableRecord*  pSpaceRecord;
    //Проверка наличия базы данных
    if (acdbHostApplicationServices()->workingDatabase()==NULL) return Acad::eNoDatabase;
    //Указатель на текущий чертёж
    //и получение его таблицы блоков
    if ((es = acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable, AcDb::kForRead))==Acad::eOk)
    {
        //получаем указатель на Model Space record, которая будет владельцем, и открываем для записи
        if ((es = pBlockTable->getAt(ACDB_MODEL_SPACE, pSpaceRecord, AcDb::kForWrite))==Acad::eOk)
        {
            //добавляем pEnt в Model Space и закрываем Model Space
            if ((es = pSpaceRecord->appendAcDbEntity(idObj, pEnt))==Acad::eOk) pEnt->close();
            pSpaceRecord->close();
        }
        //закрываем block table
        pBlockTable->close();
    }
    return es;
}

Re: Где можно найти примеры создания графических примитивов?

пардон, не совсем так, может заматериться насчёт неприведенных типов. Надо так:
postToDatabase((AcDbEntity*)pLine, outId);

Re: Где можно найти примеры создания графических примитивов?

На www.arxmaster.fatal.ru в разделе "Исходники"