xux4618 发表于 2003-10-11 19:53:00

哪位能够实现ARX编程中文字屏蔽功能,即文字遮盖其下面的线条不能显示,请给为帮忙

哪位能够实现ARX编程中文字屏蔽功能,即文字遮盖其下面的线条不能显示,请给为帮忙,多谢哪位能够实现ARX编程中文字屏蔽功能,即文字遮盖其下面的线条不能显示,请给为帮忙,多谢

topirol 发表于 2003-10-13 11:18:00

wipeout本来就是arx编的?!

qeelee 发表于 2003-10-14 12:41:00

express tools 里有这功能,还用编?

soleman 发表于 2003-10-24 17:13:00

可以做一个自定义实体的TEXT,自动遮挡后面背景

Adesk::Boolean myWipeOutText::worldDraw(AcGiWorldDraw* mode)
{
        assertReadEnabled();

        // Check to see whether the TILEMODE sysvar, or the regeneration context has changed
        // since the last time we regenerated.
        if((int)database()->tilemode()!=gLastTilemode || gpLastContext !=mode->context())
        {
                gLastTilemode=database()->tilemode();
                detectBackgroundColor(gLastTilemode);
                gpLastContext=mode->context();
        }
       
        AcDbEntity *pEnt=NULL;
        Acad::ErrorStatus es=acdbOpenObject(pEnt,m_EntityBlocked,AcDb::kForRead);
       
        // Get the extents boundary of the entity were blocking...
        AcDbExtents ext;
        es=pEnt->getGeomExtents(ext);
        es=pEnt->close();

       
        AcGePoint3d arr;
        arr=ext.minPoint();
        arr=ext.maxPoint();
       
        arr.x=arr.x;
        arr.y=arr.y;
        arr.z=arr.z;

        arr.x=arr.x;
        arr.y=arr.y;
        arr.z=arr.z;
       
        // Determine whether to use the host's background or white for plotting.
        if(!mode->context()->isPlotGeneration())
                mode->subEntityTraits().setTrueColor(gBackColor);
        else
                mode->subEntityTraits().setTrueColor(gWhiteColor);
        mode->subEntityTraits().setFillType( kAcGiFillAlways );
       
        // Draw the wipeout.       
        mode->geometry().polygon(4,arr);
       
        return AcDbEntity::worldDraw(mode);
}
页: [1]
查看完整版本: 哪位能够实现ARX编程中文字屏蔽功能,即文字遮盖其下面的线条不能显示,请给为帮忙