天气与日历 切换到窄版

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

ObjectARX 添加图块坐标扩展数据

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
//图块坐标扩展数据
                                double w1 = GVI_Frame_Scale*291/2;
                                double h1 = GVI_Frame_Scale*176/2;
                                AcGePoint3d LDP = Inset_Center + AcGeVector3d(-w1,-h1,0);//图块左下点坐标
                                AcGePoint3d RUP = Inset_Center + AcGeVector3d(w1,h1,0);  //图块右上点坐标
                                ads_point p1;
                                ads_point p2;
                                Copy_ads_point(p1,LDP);
                                Copy_ads_point(p2,RUP);
                                struct resbuf *McA4PointInfo = acutBuildList(AcDb::kDxfInt32,fi,
                                                                                                                         AcDb::kDxfInt32,tsi,
                                                                                                                         AcDb::kDxfXCoord,p1,
                                                                                 AcDb::kDxfXCoord,p2,
                                                                                                                         0);
                                CString Strt1,Strt2;
                                Strt1.Format(_T("Mcquay%d%d"), fi, tsi);
                                Strt2.Format(_T("McA4PointInfo%d%d"), fi, tsi);
                                McAcad::addXrecorder(Strt1,Strt2,McA4PointInfo);       
                                acutRelRb(McA4PointInfo);
        /*
        函数名称:addXrecorder
        创建日期:
        功能描述:添加扩展记录
        参数描述:dName:
        */
        bool McAcad::addXrecorder(CString dName,CString xrName,struct resbuf* xrecord)
        {
                AcDbDatabase *pCurDb;
                AcDbXrecord *pXrec = new AcDbXrecord;
                AcDbObjectId dictObjId, xrecObjId;
                AcDbDictionary *pNamedObjD, *pDict;
                pCurDb = acdbHostApplicationServices()->workingDatabase();
                pCurDb->getNamedObjectsDictionary(pNamedObjD, AcDb::kForWrite);
                USES_CONVERSION;
                char *DName = W2A(dName);
                char *XrName = W2A(xrName);

                ZTCHAR *ddName = A2W(DName);
                ZTCHAR *xxrName = A2W(XrName);
                if (pNamedObjD->getAt(ddName,(AcDbObject*&)pDict, AcDb::kForWrite) == Acad::eKeyNotFound)
                {
                        pDict = new AcDbDictionary;
                        pNamedObjD->setAt(ddName, pDict, dictObjId);
                }
                pNamedObjD->close();
                pDict->setAt(xxrName, pXrec, xrecObjId);
                pDict->close();       
                pXrec->setFromRbChain(*xrecord);
                pXrec->close();
                return true;
        }
<pre class="cpp" name="code">//功能描述:坐标点转换
void Copy_ads_point(ads_point point_to, AcGePoint3d& point_frm)
{
        point_to[0] = point_frm[0];
        point_to[1] = point_frm[1];
        point_to[2] = point_frm[2];
}

 

 

 

 

ObjectARX 添加图块坐标扩展数据
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-1 10:26 , Processed in 0.143712 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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