天气与日历 切换到窄版

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

hatch原点修改arx

[复制链接]

该用户从未签到

主题

0

回帖

2912

积分

管理员

积分
2912
发表于 2024-6-22 09:46:18 | 显示全部楼层 |阅读模式
CString hatchName;
AcGePoint3d pt;
AcDbObjectId hatchId;
ads_name ent;

if (acedEntSel(_T("\nSelect hatch: "),ent,asDblArray(pt))!=RTNORM) return;
acdbGetObjectId(hatchId, ent);

if (acedGetPoint(NULL,_T("\nNew origin point: "),asDblArray(pt)) != RTNORM) return;

AcDbObjectPointer<AcDbHatch> pHatchPtr(hatchId,AcDb::kForWrite);
if (pHatchPtr.openStatus () == Acad::eOk)
{
        acdbUcs2Wcs(asDblArray(pt),asDblArray(pt),false);
        hatchName = pHatchPtr->patternName();
               
        AcGeMatrix3d ecsMat;
        pHatchPtr->getEcs(ecsMat);

        AcGePoint3d org;
        AcGeVector3d uAxis,vAxis, normal;
        ecsMat.getCoordSystem(org,uAxis,vAxis,normal);
        AcGePlane hatchPlane = AcGePlane(org,uAxis,vAxis);
                       
        AcGePoint2d originPoint2d = pt.convert2d(hatchPlane);
        Acad::ErrorStatus es;
        es = pHatchPtr->setOriginPoint(originPoint2d);
        es = pHatchPtr->setPattern(AcDbHatch::kPreDefined, hatchName.GetString());
        es = pHatchPtr->evaluateHatch();
        es = pHatchPtr->draw();

        AcGePoint2dArray arSt,arEnd;
        es = pHatchPtr->getHatchLinesData(arSt,arEnd);
        pHatchPtr->close();
        if (es == Acad::eOk && arSt.isEmpty() && arEnd.isEmpty())
                acutPrintf(_T("\nFailure in hatch modification."));

}

 

 

 

 

hatch原点修改arx
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-1 15:19 , Processed in 0.142520 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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