明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1640|回复: 4

为什么???为什么???

[复制链接]
发表于 2009-2-6 15:14:00 | 显示全部楼层 |阅读模式

我加载的线行在打开CAD的第一个文档视里起作用。。。如果新建一个一个文档(文档)就不起作用了

源码附上。。。大家帮帮

//CON1LINE  是我自己做的线形。。。

acdbHostApplicationServices()->workingDatabase()->loadLineTypeFile("CON1LINE","acadiso.lin");
 
 AcDbLayerTable *pLayerTbl;
    acdbHostApplicationServices()->workingDatabase()
        ->getSymbolTable(pLayerTbl, AcDb::kForWrite);
    if (!pLayerTbl->has("ASDK_TESTLAYER")) {
        AcDbLayerTableRecord *pLayerTblRcd
            = new AcDbLayerTableRecord;
        pLayerTblRcd->setName("ASDK_TESTLAYER");
        pLayerTblRcd->setIsFrozen(0);// layer to THAWED
        pLayerTblRcd->setIsOff(0);   // layer to ON
        pLayerTblRcd->setVPDFLT(0);  // viewport default
        pLayerTblRcd->setIsLocked(0);// un-locked
  
        AcCmColor color;
        color.setColorIndex(1); // set color to red
        pLayerTblRcd->setColor(color);
  
        // For linetype, we need to provide the object ID of
        // the linetype record for the linetype we want to
        // use.  First, we need to get the object ID.
        //
        AcDbLinetypeTable *pLinetypeTbl;
        AcDbObjectId ltId;
        acdbHostApplicationServices()->workingDatabase()
            ->getSymbolTable(pLinetypeTbl, AcDb::kForRead);
        if ((pLinetypeTbl->getAt("CON1LINE", ltId))
            != Acad::eOk)
        {
            acutPrintf("\nUnable to find DASHED"
                " linetype. Using CONTINUOUS");
           
            // CONTINUOUS is in every drawing, so use it.
            //
            pLinetypeTbl->getAt("CONTINUOUS", ltId);
        }
        pLinetypeTbl->close();
  
        pLayerTblRcd->setLinetypeObjectId(ltId);
        pLayerTbl->add(pLayerTblRcd);
        pLayerTblRcd->close();
        pLayerTbl->close();
    } else {
        pLayerTbl->close();
        acutPrintf("\nlayer already exists");

发表于 2009-2-9 10:05:00 | 显示全部楼层

起码基本功不扎实,除了“CONTINUOUS”,其他线型是不会自动加载到每一个新建的文档中的。

将你上面的程序写到一个过程中,再在On_kLoadDwgMsg中调用。。。

发表于 2009-2-10 12:21:00 | 显示全部楼层
acdbHostApplicationServices()->workingDatabase()当前工作的文档数据库
发表于 2009-2-10 12:21:00 | 显示全部楼层
acdbHostApplicationServices()->workingDatabase()指当前工作的文档数据库
 楼主| 发表于 2009-2-10 20:45:00 | 显示全部楼层
这几天有点忙。。。感谢明经的兄弟了。。。我试试先。。。我原来是自学VC的。。。学ARX还没都久。。。。我资料也不多。。。望大家都都回答我这个菜鸟的问题。。。。哈哈。。。感谢了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 14:53 , Processed in 0.164940 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表