执行ElementDoCopy动作,在CopyContext中有参数控制它复制后不添加到模型中的。
使用如下代码可以跳过这个Workset Warning的对话框:
extern "C" void mdlSystem_setBatchProcessingState(BatchProcessing_States state, const WChar*); void OpenFileWithoutWorkSetCheck() { mdlSystem_setBatchProcessingState(PROCESSSTATE_Processing, NULL); mdlSystem_newDesignFile…
我的理解是loaded只是加载了Model的信息到内存中,但是Model的内容(主要是包含的各种各样的元素,图形元素,非图形元素)并没有从硬盘中加载到内存,filled就是将这些内容从硬盘里边加载到内存了。
因为刚删除后只是给被删除元素做了一个删除标记,并未将其从DGN文件中实际移除(这样做的目的是为了提供整体工作效率)。退出DGN文件才会触发压缩功能。 当然,您也可以选菜单File > Compress手动压缩文件。压缩后应该就找不到这些被删除的元素了。 编程的话,可调用mdlSystem_compressDgnFile();
请参考如下C++样例代码:
void elemTempTest(WCharCP unparsed) { //create template by path DgnFileP dgnFile = ISessionMgr::GetActiveDgnFile(); ElementTemplateNodePtr elemTemp = nullptr; if (ETSTATUS_Success != ElementTemplateUtils::CreateByPath(elemTemp,…
我用MS自带的单元库sample2.cel测试,完全没有问题呀。测试代码如下。请对照您的代码哪里写错了。
void mdlCell_placeCellTest() { BeFileName rtnCellLib, inputCellLib(L"C:\\Program Files\\Bentley\\MicroStation CONNECT Edition\\MicroStation\\Default\\Cell\\sample2.cel"); if (SUCCESS != mdlCell_attachLibrary…
cell有三种类型:Graphic、Point和Parametric。您要放置的这个cell是什么类型的?
第0章、介绍与必备条件
第1章、建立一个最简单的Addin应用程序
第2章、在Addin中创建元素
第3章、运行并调试Addin
第4章、给Addins添加命令
第5章、给Addins添加Windows窗体
第6章、用DgnPrimitiveTool和DgnElementSetTool实现交互式命令
第7章、响应MicroStation事件
第8章、在Addins中调用C/C++函数
第9章、用C++/CLI编写Addins
有个更简便的方法,通过EC的方式设置其Thickness属性
拿到元素的EditElementHandle以后,如下所示的方法去判断:
DgnAttachmentP dgnAtta = dynamic_cast<DgnAttachmentP>(eeh.GetDgnModelP()); if (dgnAtta) { }
MS学习资源:
MicroStation Wednesday视频分享
深入探讨MicroStation DGN基本概念系列
一步步学习MicroStation CE Addin开发
一步步学习MicroStation…
以下代码是把选中的元素从 DisplaySet中移除,即隐藏选中的元素,供参考:
ViewportP vpActive = IViewManager::GetActiveViewSet().GetSelectedViewport(); mdlView_setDisplayControl(VIEWCONTROL_DISPLAYSET, vpActive->GetViewNumber(), true); mdlDisplaySet_addSelectionSet(false); mdlDisplaySet_removeSelectionSet…
如下实例代码供您参考:
FindInstancesScope scopeTemp = FindInstancesScope.CreateScope(Session.Instance.GetActiveDgnFile(), new FindInstancesScopeOption()); int verMaj = 0, verMin = 0; IECSchema mySchema = DgnECManager.Manager.LocateSchemaInScope…
Point3d vectorX = msApp.Point3dFromXYZ(0, 1, 0);
Point3d vectorY = msApp.Point3dFromXYZ(-1, 0, 0);
Point3d vectorZ = msApp.Point3dFromXYZ(0, 0, 1);
Matrix3d matrix = msApp.Matrix3dFromPoint3dColumns(vectorX, vectorY, vectorZ);
如图,我自己生成了TextBlock,然后利用设置了DimensionStyle的相关参数后,生成了NoteCellHeaderElement,但发现文字直有一部分有引线,我需要整个文字下面都有下划线,该如何设置呢?
DgnFile dgnFile = dgnModel.GetDgnFile(); DgnTextStyle txtStyle = DgnTextStyle.GetSettings(dgnFile); double uor = dgnModel.GetModelInfo().UorPerMaster;…