<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://communities.bentley.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/communities/other_communities/chinafirst/f/microstation-projectwise/179369/msce-c</link><description>老师好，我现在想实现对一个模型的元素进行提取其相关属性。读取元素并进行判断代码： 
 我的代码实现思路是：先从模型中读取到元素，然后再判断元素是否我要提取的元素，再提取元素的属性写到XML文件。 
 但现在编译提示没有生成对象文件。 
 “E:\RebarSDKzuixinbeifen\RebarSDK\RebarSDKExample.vcxproj”(Rebuild 目标) (1) -&amp;gt; (ClCompile 目标) -&amp;gt; e:\rebarsdkzuixinbeifen\rebarsdk\exportproperties</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521258?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 09:34:54 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:24071c2c-0962-4231-b8be-4ca184f6d53c</guid><dc:creator>wu xuebin</dc:creator><description>&lt;p&gt;谢谢符老师的解答，已经成功实现提取属性&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521246?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 08:27:18 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:705cb7c1-889a-4817-8a7e-e0e779975342</guid><dc:creator>Yongan.Fu</dc:creator><description>&lt;p&gt;根据你列出的IsRebarElement函数的原型来看，你传递的没有问题。推测应该是你当前拿到的eeh不是钢筋元素从而if条件没有成立吧。你首先要确认你的模型中存在Rebar（钢筋）元素。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521224?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 07:21:03 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:b43a1e54-3e50-4d5b-887d-5b838b44703b</guid><dc:creator>wu xuebin</dc:creator><description>&lt;p&gt;符老师，我调试的时候，这个if条件里面的语句没有执行，也就是if条件为假，而 if条件的函数参数类型&amp;nbsp; static bool IsRebarElement(ElementHandleCR eh); 这里该怎么进行转换，是我传的值有问题？还是类型转换的有问题？若是类型转换这里该怎么转换呢？&lt;pre class="ui-code" data-mode="text"&gt;mdlDialog_dmsgsPrint(L&amp;quot;ProcessRebarElement222 start&amp;quot;);
	PersistentElementRefList *pGraElement = ISessionMgr::GetActiveDgnModelP()-&amp;gt;GetGraphicElementsP();
	for (PersistentElementRefP elemRef : *pGraElement) {
		EditElementHandle eeh(elemRef);		
		BeXMLNode *elmNode = dialog_xml_node.AddXMLNode(L&amp;quot;RebarElementAA&amp;quot;);
		mdlDialog_dmsgsPrint(L&amp;quot;ProcessRebarElement333 start&amp;quot;);
		if (RebarElement::IsRebarElement(eeh))
		{
			mdlDialog_dmsgsPrint(L&amp;quot;ProcessRebarElement444 start&amp;quot;);
			//MSElementP elP = const_cast&amp;lt;MSElementP&amp;gt; (eeh.GetElementCP());
			RebarElementCP rep = RebarElement::Fetch(eeh);
			mdlDialog_dmsgsPrint(L&amp;quot;ProcessRebarElement555 start&amp;quot;);
			RebarDataToXmlHelper::ProcessRebarElement(*elmNode, rep, eeh.GetModelRef());
			mdlDialog_dmsgsPrint(L&amp;quot;1_OnElementModify1 start&amp;quot;);
			return ERROR;
		}
		dialog_xml_node.WriteFile(L&amp;quot;E://RebarSDKProperties.xml&amp;quot;);
		mdlDialog_dmsgsPrint(L&amp;quot;ProcessRebarElement666 start&amp;quot;);
		return TRUE;
	  }&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521218?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 06:39:12 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:f6df22c1-14ea-40aa-8d56-082d31eb55d2</guid><dc:creator>Yongan.Fu</dc:creator><description>&lt;p&gt;这个写法是可以的。还有就是调用ScanCriteria根据一些准则扫描元素。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521200?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 04:00:31 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:6a4fa8cc-7b35-45ec-a53c-2131886173f3</guid><dc:creator>wu xuebin</dc:creator><description>&lt;p&gt;符老师你好，我上面这个写法，没有拿到具体元素的句柄。如果我要通过加载命令行，直接拿到模型的元素出来，然后再构造元素句柄，上面这个写法有什么问题吗？&lt;/p&gt;
&lt;p&gt;&lt;span&gt;PersistentElementRefList *pGraElement = ISessionMgr::GetActiveDgnModelP()-&amp;gt;GetGraphicElementsP();&lt;/span&gt;&lt;br style="background-color:transparent;color:#000000;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;" /&gt;&lt;span&gt;&amp;nbsp;for (PersistentElementRefP elemRef : *pGraElement) {&lt;/span&gt;&lt;br style="background-color:transparent;color:#000000;font-style:normal;font-weight:400;letter-spacing:normal;text-align:left;text-decoration:none;text-indent:0px;text-transform:none;white-space:normal;" /&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;EditElementHandle eeh(elemRef);&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;或者从模型中直接遍历拿到每一个元素还有其他什么写法吗？麻烦符老师解答&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521198?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 03:10:22 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:60ff4578-e0ee-4357-86b7-72f3158fb38a</guid><dc:creator>Yongan.Fu</dc:creator><description>&lt;p&gt;根据您黑窗口的提示，主要问题是你的函数ExportProperties写得有问题。推测该函数是有返回值的，但你的函数中并非每个分支都有正确的返回值。请先修正该函数后再编译。&lt;/p&gt;
&lt;p&gt;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&amp;mdash;&lt;/p&gt;
&lt;p&gt;不好意思，您已经贴出该函数的代码了。你函数无返回值，但你在循环中用了return ERROR; 从而造成警告错误。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521196?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 02:57:47 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:94fce88b-fcf7-4ef6-a78d-49b50680f827</guid><dc:creator>HongQiang Guo</dc:creator><description>&lt;p&gt;你这个是ProStructures SDK，需要ProStructures的工程师解答。请在标题中注明是ProStructures&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521184?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 01:50:13 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:94c7ad99-6cde-4766-881b-f1e021bcf986</guid><dc:creator>wu xuebin</dc:creator><description>&lt;p&gt;是用bmake编译的。&lt;img alt=" " src="/resized-image/__size/320x240/__key/communityserver-discussions-components-files/343510/TIM_FE564772_20190510094924.png" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521183?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 01:47:37 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:c9a392c6-9a89-4a82-bed1-4a9e48caa0be</guid><dc:creator>wu xuebin</dc:creator><description>&lt;p&gt;PersistentElementRefList *pGraElement = ISessionMgr::GetActiveDgnModelP()-&amp;gt;GetGraphicElementsP();&lt;br /&gt;&amp;nbsp;for (PersistentElementRefP elemRef : *pGraElement) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;EditElementHandle eeh(elemRef);&amp;nbsp;&lt;/p&gt;
&lt;p&gt;上面这两三行代码可以实现提取到模型文件的元素吗？现在编译报错指示就是这个函数导致没有生成&lt;span&gt;&amp;ldquo;object&amp;rdquo;文件。&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: 【MSCE C++】 遍历模型文件元素，并直接提取元素的属性</title><link>https://communities.bentley.com/thread/521181?ContentTypeID=1</link><pubDate>Fri, 10 May 2019 01:44:18 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:8377cd01-0d64-4c06-8166-b02586fed7d0</guid><dc:creator>HongQiang Guo</dc:creator><description>&lt;p&gt;你用的VS的编译命令直接编译的吧？c++的项目要用SDK的bmake工具编译。&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>