找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 192|回复: 0

[每日一码] 获取实体线型是BYLAYER的实际的线型

[复制链接]

0

主题

0

回帖

26

积分

管理员

积分
26
发表于 2024-2-23 22:44:59 | 显示全部楼层 |阅读模式
  1. // This is command 'GETLT'
  2. void asdktestergetlt()
  3. {
  4.             AcDbObjectId objId;
  5.             AcGePoint3d pick;
  6.             AcDbEntity *pEnt = selectEntity( "\nSelect entity: ", objId, pick,
  7. AcDb::kForRead );
  8.             if ( NULL == pEnt )
  9.                         return;
  10.             if ( pEnt->linetypeId() == pEnt->database()->byLayerLinetype() )
  11.             {
  12.                         AcDbObject *pObj;
  13.                         if ( Acad::eOk == acdbOpenAcDbObject( pObj, pEnt->layerId(),
  14. AcDb::kForRead ))
  15.                         {
  16.                                     AcDbLayerTableRecord *pLayer =
  17. AcDbLayerTableRecord::cast( pObj );
  18.                                     if ( NULL != pLayer )
  19.                                     {
  20.                                                 AcDbObject *pObj2;
  21.                                                 if ( Acad::eOk == acdbOpenAcDbObject( pObj2,
  22. pLayer->linetypeObjectId(), AcDb::kForRead ))
  23.                                                 {
  24.                                                             AcDbLinetypeTableRecord *pLinetype =
  25. AcDbLinetypeTableRecord::cast( pObj2 );
  26.                                                             if ( NULL != pLinetype )
  27.                                                             {
  28.                                                                         char *layerName, *linetypeName;
  29.                                                                         pLayer->getName( layerName );
  30.                                                                         pLinetype->getName( linetypeName
  31. );
  32.                                                                         acutPrintf( "\nEntity lives on
  33. layer %s which uses linetype %s.", layerName, linetypeName );
  34.                                                                         delete [] layerName;
  35.                                                                         delete [] linetypeName;
  36.                                                             }
  37.                                                             pObj2->close();
  38.                                                 }
  39.                                     }
  40.                                     pObj->close();
  41.                         }
  42.             }
  43.             pEnt->close();
  44. }
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2024-12-28 14:32 , Processed in 0.156419 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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