明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1508|回复: 2

在图层中添加直线

[复制链接]
发表于 2014-9-26 21:01:44 | 显示全部楼层 |阅读模式
//将直线添加到指定的图层
AcDbObjectId CLayerUtil::CreateLine(AcGePoint3d& ptStart,AcGePoint3d& ptEnd,
                                                                        AcDbObjectId layer)
{
        AcDbLine* pLine = new AcDbLine(ptStart,ptEnd);

        //获取当前图形数据库的符号表
        AcDbBlockTable* pBlockTable;
        acdbHostApplicationServices()->workingDatabase()
                ->getSymbolTable(pBlockTable,AcDb::kForRead);

        //获取符号表中的模型空间块表记录指针,用于添加对象
        AcDbBlockTableRecord* pBlockTblRcd;
        pBlockTable->getAt(ACDB_MODEL_SPACE,pBlockTblRcd,AcDb::kForWrite);
        pBlockTable->close();

        //将直线添加到模型空间块表记录中
        AcDbObjectId lineId;

        pLine->setLayer(layer,Adesk::kTrue); //设置直线所在的图层
        pBlockTblRcd->appendAcDbEntity(lineId,pLine);
        //关闭块表记录和直线记录
        pBlockTblRcd->close();
        pLine->close();

        //返回直线的ID号
        return lineId;
}

//注册一个Newlayer命令,用测试“直线是否添加到图层中”
// This is command 'NEWLAYER'
void WhCHAP6NEWLAYER()
{
        // TODO: Implement the command
        TCHAR layerName[20]="钢筋";

        //新建图层
        AcDbObjectId layerId = CLayerUtil::GetLayerId(layerName);
        if (layerId.isValid())
        {
                acutPrintf(TEXT("\n图形中已经存在同名的图层!"));
        }
        else
        {
                CLayerUtil::Add(layerName);
                CLayerUtil::SetColor(layerName,1);
                CLayerUtil::SetWeight(layerName,35);
                acutPrintf(TEXT("\n图层创建成功!"));

        }

        AcGePoint3d pa(10,10,0),pb(100,100,0);
        AcDbObjectId layerId2 = CLayerUtil::GetLayerId("钢筋");
        CLayerUtil::CreateLine(pa,pb,layerId2);
}



 楼主| 发表于 2014-9-26 21:02:59 | 显示全部楼层
值得一看,学校ObjectARX的图层操作
发表于 2018-8-4 10:12:51 | 显示全部楼层
新手路过,感谢分享!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-22 02:48 , Processed in 0.164054 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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