Bentley Communities
Site
Search
User
Site
Search
User
Welcome
Products
Support
About
More
Cancel
Andy
Likes
Profile
Activity
Communities
Friends
Likes
Achievements
Bookmarks
Blog Posts
Questions
More
Cancel
RE: 在C++代码中设置创建的named boundary属性
Yongan.Fu
只需要在创建的graphicalElement后调用我说的这个函数即可。示例代码如下: void createNamedBoundary(WCharCP) { DPoint3d pts[4] = { {0,0,0}, {1000,0,0}, {1000, 500,0}, {0,500,0} }; EditElementHandle eeh; ShapeHandler::CreateShapeElement(eeh, nullptr, pts, 4, ACTIVEMODEL->Is3d…
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: [C# MSCE]model 转图片
Yongan.Fu
我写了以下代码,是可以完成你的要求的。其中的坐标点转换是难点。 IndexedViewportP pViewport = IViewManager::GetActiveViewSet().GetSelectedViewport(); int viewIndex = pViewport->GetViewNumber(); RotMatrix rMatrix; mdlView_getStandard(&rMatrix, StandardView::Top); mdlView_rotateToRMatrix…
over 3 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: MDL中关于扫描器ScanCriteria的问题
Yongan.Fu
1. 当你调用mdlScanCriteria_free后应该随之将其设置为NULL; 2. 对,空就用NULL参数即可。该函数的第三个参数表示第二个参数的大小。因为每个UShort含有16个二进制位,每个二进制位代表一种元素类别,用1个UShort可代表前16种元素,2个UShort代表前32种元素,以此类推。故第三个参数要表明你的第二个参数(是一个指针)到底是多大。 3. 每次只能扫描到一个模型中的内容,要多模型扫描只能针对每个模型做一次扫描。还可以用Fence方式来获得某个区域中的所有元素…
over 7 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
MSCE C++ SolidUtil::Modify::BooleanSubtract 失败的问题
平凡人生
老师好: 关于 布尔运算中的减法,失败的问题,辛苦您帮我分析一下,没有找到原因本人。具体可执行代码如下: 1、两个待做 布尔运算的 实体 均已经成功绘制出来,并可以正常显示。 void CreateHPing(DPoint3dCR basePt) { double TotalZLen=7000; double HuZLen=2000;//弧高度 //弧高度与半径 两个数据,只能有一个为已知条件,从而计算另一个已知条件。 //double HuR=2000;//半径,…
Answered
over 3 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: [C++/C# MSCE ]关闭参考文件的图层显示
Yongan.Fu
如下例子能关闭视图1中当前模型下参考的第一级参考模型中的所有的层。 void listReference(WCharCP unparsed) { DgnModelP pActiveModel = ISessionMgr::GetActiveDgnModelP(); DgnAttachmentArrayP pAttachArray = pActiveModel->GetDgnAttachmentsP(); if (NULL == pAttachArray) { mdlDialog_dmsgsPrint…
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: 【CE C#/C++】修改标注颜色
Yongan.Fu
标注相关的参数极其多,确实不容易一下子研究透。我推荐您一个方法: 先通过手工操作设置出你想要的DimStyle,然后在模型中放置一个这个的标注元素,而后用GetProperty去提取它的各个属性值来分析后台都是如何设置的。然后按照提取出来的值再去SetProperty一般就能搞定了。
over 5 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: 【CE C#/C++】修改标注颜色
HongQiang Guo
c/c++文档有注释,应该是元素本身就含有符号化的属性,这个参数应该是控制是使用元素本身的这些属性值,还是使用标注样式中设置的属性值。
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: [MSCE C++] 如何设置Viewport的旋转矩阵和中心
Yongan.Fu
ViewGroup下有GetViewInfo和SetViewInfo函数。先从viewNumber取得一个ViewInfo,然后调用ViewInfo下的SetGeometry设置视图的orgin、delta和rotmatrix,然后再调用SetViewInfo设置回去。
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: 标注的alignment arbitrary模式
Yongan.Fu
请如下方式使用: DimensionStylePtr pDimStyle = DimensionStyle::GetSettings(*pActiveDgnFile); pDimStyle->SetIntegerProp(DIMSTYLE_VALUE_General_Alignment_Arbitrary, DIMSTYLE_PROP_General_Alignment_INTEGER);
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: 标注的alignment arbitrary模式
Yongan.Fu
我刚刚研究出来。这个非正交矩阵就是在控制标注元素的倾斜的。skewFactor是倾斜角度(弧度值)的正切。所以,如下代码设置了正确的这个标注元素矩阵。 RotMatrix dimRMatrix = RotMatrix::FromAxisAndRotationAngle(2, atan2(pt2.y - pt1.y, pt2.x - pt1.x)); double skewFactor = tan(fc_piover4); RotMatrix skewMatrix = RotMatrix:…
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
单元、组、图形组和命名组的区别
Yongan.Fu
MiroStation中存在着许多基本的概念,它们之间有着细微的区别。掌握这些概念是学好软件甚至做二次开发必不可少的一步。 下面针对单元(Cell)和组(Group)、图形组(Graphic Group)和命名组(Named Group)这两组概念进行比较说明。 首先,单元和组是对多个图形元素的永久性结合。一旦创建了就可以把它们当做一个整体来操作,除非打散(Drop)。单元和组的区别在于:单元有名字,而组是无名单元。单元的创建大家可能比较熟悉了,那么组的创建是通过选择元素,然后在MSV8i中…
over 4 years ago
Bentley 中国优先社区
技术资料库
RE: [MSCE C++ U6]如何打开一个dgn文件并向其添加元素?
HongQiang Guo
每次迭代最后调一下DgnFIle的Release
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: [MSCE C++]想要创建一个dgn文件,创建依赖的dgndocument时提示错误
苏 东升
谢谢符工,还有一个小疑问,我所使用的这个CreateNew和CreateForNewFile函数是在什么时候使用,拥有createfor**的函数和Create**函数有什么区别?
over 6 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: [msce u7C++]编译连接错误
Yongan.Fu
我写了如下三行代码编译和链接都没有问题。应该是你mke文件中指定的lib文件缺失所致。 CaretPtr startCaret = pTextBlock->CreateStartCaret(); CaretPtr endCaret = pTextBlock->CreateEndCaret(); pTextBlock->ReplaceText(L"NewText", *startCaret, *endCaret); 请检查你mke中LINKER_LIBRARIES中是否有DgnPlatform…
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
RE: [C# CE]ReplaceInModel有些图形会有问题
Yongan.Fu
以前在移动或修改参数化单元时也遇到过这种情况。请改用如下写法可对各类元素都起作用。 Element oldEl = Element.GetFromElementRef(el.GetNativeElementRef()); el.ApplyTransform(transform); el.ReplaceInModel(oldEl);
over 4 years ago
Bentley 中国优先社区
◆ 二次开发(MicroStation编程, ProjectWise编程等)
>