Тема: Пунктирная линия

Всем добрый день. Пытаюсь нарисовать пунктирную линию.

AcGePoint3d point1(0,0,0);
AcGePoint3d point2(300,300,0);
AcDbObjectId lineID;
AcDbLine *pLine = new AcDbLine(point1,point2);

AddBlockTable(pLine,lineID);    //функция добавления объекта в базу чертежа

AcDbLinetypeTableRecord *pLtype = new AcDbLinetypeTableRecord();
pLtype->setName(_T("MyLine"));
pLtype->setComments(_T("Программно созданный тип линии"));
pLtype->setPatternLength(14.22);   
pLtype->setNumDashes(4);      
pLtype->setDashLengthAt(0,12);   
pLtype->setDashLengthAt(1,-1);   
pLine->setLinetypeScale(1.0);
pLine->setLinetype(pLtype->id());

pLine->close();

Но эффекта никакого. Данная тема уже неоднократно поднималась на форуме, но рабочего варианта я так и не смог сделать. Заранее большое спасибо.

Re: Пунктирная линия

А где добавление pLtype в таблицу типов линий?

Re: Пунктирная линия

Большое спасибо. Хочу спросить немного не по теме. Когда я рисую текст с определенным стилем, затем передвигаю его, стиль текста меняется на стиль по умолчанию. Это вызвано тем, что я не сохраняю стиль в таблицу стилей?

Re: Пунктирная линия

Олег Бевз пишет:

Когда я рисую текст с определенным стилем, затем передвигаю его, стиль текста меняется на стиль по умолчанию.

А как это ты умудряешься рисовать текст с определенным стилем если стиль не добавлен в таблицу стилей?

Re: Пунктирная линия

Немного по другому создаю стиль.

AcGiTextStyle textStyle;
textStyle.setFont((ACHAR*)_T("GOST type A"),bAcBold,bAcItalic,0,0);
textStyle.setUnderlined(bAcUnderline);
AcDbObjectId textStyleID;
toAcDbTextStyle(textStyle,textStyleID);
        
pText->setTextStyle(textStyleID);

(изменено: Александр Ривилис, 26 ноября 2009г. 12:31:32)

Re: Пунктирная линия

Это ты делаешь внутри своего примитива или это обычный текст?
Код возврата toAcDbTextStyle проверяешь?

Re: Пунктирная линия

Это я делал для обычного текста AcDbText.
Возвращает ли функция код успешного завершения я не проверял. Текст выводился нормально. За исключением того, что стиль сбивался при перемещении. Наверное лучше стоит задать стиль традиционным способом, с помощью AcDbTextStyleTableRecord.

Re: Пунктирная линия

Олег Бевз пишет:

Наверное лучше стоит задать стиль традиционным способом, с помощью AcDbTextStyleTableRecord.

Безусловно.