天气与日历 切换到窄版

 找回密码
 立即注册
中国膜结构网
十大进口膜材评选 十大国产膜材评选 十大膜结构设计评选 十大膜结构公司评选
查看: 168|回复: 2

insert dwf file

[复制链接]
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
    发表于 2024-3-4 08:57:38 | 显示全部楼层 |阅读模式
    1. AcDbObjectId CBlockUtil::InsertDwf(CString strFileFullPath, CString strFileName, AcGePoint3d insertPoint, double dbScale, double dbRotation)
    2. {
    3.         AcDbDictionary *pNamedobj = NULL;
    4.         AcDbDictionary *pAPPDict = NULL;
    5.         AcDbDictionary *pDict = NULL;
    6.         AcDbDatabase *pDb = acdbHostApplicationServices()->workingDatabase();
    7.         Acad::ErrorStatus es;
    8.         es = pDb->getNamedObjectsDictionary(pNamedobj, AcDb::kForWrite);
    9.         if (Acad::eOk != es) return false;
    10.         CString strAppName = TEXT("APP"), strFieldName = TEXT("PLOT");
    11.         if (pNamedobj->getAt(strAppName, (AcDbObject*&)pAPPDict, AcDb::kForWrite) == Acad::eKeyNotFound)
    12.         {
    13.                 pAPPDict = new AcDbDictionary;
    14.                 AcDbObjectId dictId;
    15.                 pNamedobj->setAt(strAppName, pAPPDict, dictId);
    16.         }
    17.         pNamedobj->close();
    18.         if (pAPPDict->getAt(strFieldName, (AcDbObject*&)pDict, AcDb::kForWrite) == Acad::eKeyNotFound)
    19.         {
    20.                 pDict = new AcDbDictionary;
    21.                 AcDbObjectId dictId;
    22.                 pAPPDict->setAt(strFieldName, pDict, dictId);
    23.         }
    24.         pAPPDict->close();
    25.         AcDbDwfDefinition *pDwfDef = new AcDbDwfDefinition;
    26.         pDwfDef->setSourceFileName(strFileFullPath);
    27.         AcDbObjectId entId;
    28.         es = pDict->setAt(strFileName, (AcDbObject*&)pDwfDef, entId);
    29.         pDict->close();
    30.         pDwfDef->close();
    31.         AcDbDwfReference *pDwfRef = new AcDbDwfReference;
    32.         es = pDwfRef->setDefinitionId(entId);
    33.         es = pDwfRef->setPosition(insertPoint);
    34.         es = pDwfRef->setRotation(dbRotation);
    35.         es = pDwfRef->setScaleFactors(dbScale);
    36.         es = pDwfRef->setIsOn(true);
    37.         es = pDwfRef->setFade(0);
    38.         AcDbObjectId idDwfRef = AcDbObjectId::kNull;
    39.         idDwfRef = CDwgDatabaseUtil::PostToModelSpace((AcDbEntity*)pDwfRef);
    40.         pDwfRef->close();
    41.         return idDwfRef;
    42. }
    复制代码

     

     

     

     

    insert dwf file
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
     楼主| 发表于 2024-3-4 08:57:50 | 显示全部楼层
    es = pDwfRef->setDefinitionId(entId);
            es = pDwfRef->setNormal(AcGeVector3d::kZAxis);
            es = pDwfRef->setPosition(insertPoint);
            es = pDwfRef->setRotation(dbRotation);

     

     

     

     

    insert dwf file
  • TA的每日心情
    开心
    昨天 06:36
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    105

    主题

    11

    回帖

    1308

    积分

    管理员

    积分
    1308
    QQ
     楼主| 发表于 2024-3-4 08:58:03 | 显示全部楼层
    es = pDwfRef->setDefinitionId(entId);
            es = pDwfRef->setNormal(AcGeVector3d::kZAxis);
            es = pDwfRef->setPosition(insertPoint);
            es = pDwfRef->setRotation(0.0);
            AcGeMatrix3d rot;
            rot.setToRotation(dbRotation, AcGeVector3d::kZAxis, insertPoint);
            pDwfRef->transformBy(rot);

     

     

     

     

    insert dwf file
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|Archiver|中国膜结构网|中国膜结构协会|进口膜材|国产膜材|ETFE|PVDF|PTFE|设计|施工|安装|车棚|看台|污水池|中国膜结构网_中国空间膜结构协会

    GMT+8, 2024-11-1 08:38 , Processed in 0.148971 second(s), 29 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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