最近看了中望CAD上的锁定解锁图纸,发现其实是通过多重插入块来实现的,其设置的密码也毫无意义,对通过ARX代码来解锁毫无影响。下面是个人写的通过多重插入块锁定解锁的代码。注:使用了ArxDbg代码,ArxDbg见objectArx 安装目录下,例如:C:ObjectARX\samples\database\ARXDBG
void CLockDwg::doLockDwg()
{
auto state = m_selset.userSelect(L"请选择需要锁定的对象:", L"请选择需要移除的对象:");
if (state != ArxDbgSelSet::kSelected)
{
return;
}
AcDbBlockTableRecord *pBlkTblRec = ArxDbgUtils::openCurrentSpaceBlock(AcDb::kForRead, acdbCurDwg());
AcDbExtents extents;
extents.addBlockExt(pBlkTblRec);
pBlkTblRec->close();
m_basePt = AcGePoint3d(extents.minPoint().x, extents.maxPoint().y, 0);
AcDbObjectId blkdefId;
AcDbBlockTableRecord *pNewBlkTblRec;
//创建匿名块
ArxDbgUtils::defineNewAnonymousBlock(pNewBlkTblRec, blkdefId, acdbCurDwg());
pNewBlkTblRec->setOri
本文探讨了中望CAD中通过多重插入块来实现图纸锁定和解锁的机制,指出设置的密码在ARX代码面前无效。分享了一段使用ArxDbg库进行锁定解锁操作的代码示例,并提供了相关资源的下载链接。
订阅专栏 解锁全文
2405

被折叠的 条评论
为什么被折叠?



