<?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>[OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/products/building/building_analysis___design/f/aecosim-speedikon-forum/224936/obd-sdk-connect-update-8---modifying-structural-elements-with-open-building-sdk-stfc-api</link><description>Hello, 
 
 I need to change some Properties of a Steel Beam Element in Open Building Designer Update 8 using the C-Api &amp;quot;stfc-api&amp;quot;.. 
 Until now I&amp;#39;ve been able to read the &amp;quot;LinearMember&amp;quot; out of the EditElementHandle and to change some Properties in it</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/706500?ContentTypeID=1</link><pubDate>Wed, 13 Apr 2022 15:30:00 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:03e3a7dd-84cc-4142-922a-1836963d8139</guid><dc:creator>Mykolas Simutis</dc:creator><description>&lt;p&gt;It&amp;#39;s C++14 but I&amp;#39;m also using SKD Update 9&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/706436?ContentTypeID=1</link><pubDate>Wed, 13 Apr 2022 10:08:05 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:f8f526c3-4aca-43f1-8648-61f081f6263a</guid><dc:creator>Manuel H&amp;#246;ger</dc:creator><description>&lt;p&gt;Thanks again.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;But I&amp;#39;m a little bit surprised that you use C++17 Features. Is this possible with the MS-SDK? If I switch to c++17 I got a lot of Errors.&lt;/p&gt;
&lt;p&gt;What is your magic?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/706409?ContentTypeID=1</link><pubDate>Wed, 13 Apr 2022 07:12:05 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:c5f1abb0-10da-4ea2-92a7-d411cfa78613</guid><dc:creator>Mykolas Simutis</dc:creator><description>&lt;p&gt;Here are some simple examples to place concrete and steel beams for US dataset&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;template &amp;lt;typename T, typename DeleteF&amp;gt; static [[nodiscard]] std::unique_ptr&amp;lt;T, DeleteF&amp;gt; tfmake_unique(T* myObject, DeleteF deleteF) noexcept
    {
    return std::unique_ptr&amp;lt;T, DeleteF&amp;gt;(myObject, deleteF);
    }

static void placeMember(WChar const* catalogType, WChar const* catalogName, int sectionType, WChar const* sectionClass, WChar const* sectionName)
    {
    if (auto pStructuralList = tfmake_unique(mdlSTFStructuralMemberList_construct(), [](auto* p) { mdlSTFStructuralMemberList_free(&amp;amp;p); }))
        {
        STFStructuralMember* pMember = mdlSTFStructuralMemberList_getStructuralMember(pStructuralList.get());

        // hardcode the member&amp;#39;s end points
        DPoint3d startPt{ 0, 0, 0 };
        DPoint3d endPt{ 0, 0, 0 };
        double lengthMU{ 10 };

        mdlSTFStructuralMember_setCatalogItem2(pMember, catalogType, catalogName, true);
        mdlSTFStructuralMember_setCrossSection(pMember, sectionType, sectionClass, sectionName);

        mdlCnv_masterToUOR(&amp;amp;endPt.y, lengthMU, mdlModelRef_getActive());
        mdlSTFStructuralMember_setPQPoints(pMember, &amp;amp;startPt, &amp;amp;endPt);

        // hardcode the member&amp;#39;s placement point
        mdlSTFStructuralMember_setPlacementPoint(pMember, 8);

        //write and get the ElementDescriptor
        auto pED = tfmake_unique(mdlSTFStructuralMember_createElementWritten(pMember, mdlModelRef_getActive()), [](auto* p) { mdlElmdscr_freeAll(&amp;amp;p); });
        }
    }

//1 standard shape
//2 user shape
//4 combined shape
//5 weld shape
//6 parametric shape RECTANGLE or CIRCLE class
static void placeConcreteMember()
    {
    placeMember(L&amp;quot;Concrete Beam&amp;quot;, L&amp;quot;Beams&amp;quot;, 6, L&amp;quot;RECTANGLE&amp;quot;, L&amp;quot;1x1&amp;quot;); //same for all datasets
    placeMember(L&amp;quot;Concrete Beam&amp;quot;, L&amp;quot;Beams&amp;quot;, 6, L&amp;quot;CIRCLE&amp;quot;, L&amp;quot;1&amp;quot;); //same for all datasets
    placeMember(L&amp;quot;Concrete Beam&amp;quot;, L&amp;quot;Beams&amp;quot;, 2, L&amp;quot;HEXAGON&amp;quot;, L&amp;quot;H10.0DIA&amp;quot;); //class &amp;amp; section name unique for US dataset
    }

static void placeSteelMember()
    {
    placeMember(L&amp;quot;Steel Beam&amp;quot;, L&amp;quot;Beams&amp;quot;, 1, L&amp;quot;AISC_I_W&amp;quot;, L&amp;quot;W10X12&amp;quot;); //class &amp;amp; section name unique for US dataset
    placeMember(L&amp;quot;Steel Beam&amp;quot;, L&amp;quot;Beams&amp;quot;, 2, L&amp;quot;HEXAGON HOLLOW&amp;quot;, L&amp;quot;H18.0DIAX0.5&amp;quot;); //class &amp;amp; section name unique for US dataset
    placeMember(L&amp;quot;Steel Beam&amp;quot;, L&amp;quot;Beams&amp;quot;, 4, L&amp;quot;DOUBLE_ANGLES (AISC_I_C)&amp;quot;, L&amp;quot;2L2-1_2X2-1_2X5_16X3_8&amp;quot;); //class &amp;amp; section name unique for US dataset
    placeMember(L&amp;quot;Steel Beam&amp;quot;, L&amp;quot;Beams&amp;quot;, 5, L&amp;quot;IMPERIAL&amp;quot;, L&amp;quot;W10X15&amp;quot;); //class &amp;amp; section name unique for US dataset
    }&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/706246?ContentTypeID=1</link><pubDate>Tue, 12 Apr 2022 14:53:21 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:e1f25a3a-e267-4aa9-adc3-b3152c3fac03</guid><dc:creator>Manuel H&amp;#246;ger</dc:creator><description>&lt;p&gt;Great!&lt;/p&gt;
&lt;p&gt;I think, now I have&amp;nbsp;the tools I need.&lt;/p&gt;
&lt;p&gt;Thanks a lot! Maybe you- could give me a small example for a concrete shape and a steel beam. But only if it&amp;#39;s not too time intensive. I could find out by myself but probably it would cost me a lot of time.&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/706233?ContentTypeID=1</link><pubDate>Tue, 12 Apr 2022 13:49:46 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:e7e6e7f2-64a0-4157-b71a-034f68993dab</guid><dc:creator>Mykolas Simutis</dc:creator><description>&lt;p&gt;There is also additional helper class&lt;/p&gt;
&lt;p&gt;STFPSSectionList and&amp;nbsp;STFPSSection&lt;/p&gt;
&lt;p&gt;here&amp;#39;s header for them&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;TFAPI_EXPOSE StatusInt mdlSTFPSSectionList_append
(
STFPSSectionList** ppThis,     
STFPSSectionList*  pAppendList 
);

TFAPI_EXPOSE STFPSSectionList* mdlSTFPSSectionList_construct
(
void 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSectionList_construct2
(
STFPSSectionList** ppThis,    
STFPSSection*      pPsSection 
);

TFAPI_EXPOSE STFPSSectionList* mdlSTFPSSectionList_duplicate
(
STFPSSectionList* pThis 
);

TFAPI_EXPOSE void mdlSTFPSSectionList_free
(
STFPSSectionList** ppThis 
);

TFAPI_EXPOSE int mdlSTFPSSectionList_getCount
(
STFPSSectionList const* pThis 
);

TFAPI_EXPOSE int mdlSTFPSSectionList_getIndex
(
STFPSSectionList const* pThis,  
STFPSSectionList const* pSearch 
);

TFAPI_EXPOSE STFPSSectionList* mdlSTFPSSectionList_getLast
(
STFPSSectionList* pThis 
);

TFAPI_EXPOSE STFPSSectionList* mdlSTFPSSectionList_getNext
(
STFPSSectionList* pThis 
);

TFAPI_EXPOSE STFPSSectionList* mdlSTFPSSectionList_getNode
(
STFPSSectionList* pThis, 
int               index  
);

TFAPI_EXPOSE STFPSSection* mdlSTFPSSectionList_getPSSection
(
STFPSSectionList* pThis 
);

TFAPI_EXPOSE void mdlSTFPSSectionList_insertList
(
STFPSSectionList* pThis,  
STFPSSectionList* pInsert 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSectionList_prepend
(
STFPSSectionList** ppThis, 
STFPSSectionList*  pAdd    
);

TFAPI_EXPOSE StatusInt mdlSTFPSSectionList_reverse
(
STFPSSectionList** ppThis 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSectionList_setNext
(
STFPSSectionList* pThis, 
STFPSSectionList* pNext  
);

TFAPI_EXPOSE STFPSSectionList* mdlSTFPSSectionList_unlinkNode
(
STFPSSectionList** ppThis, 
STFPSSectionList*  pRemove 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_duplicate
(
STFPSSection*      pThis, 
STFPSSectionList** ppCopy 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_initialize
(
STFPSSection* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_setFullCrossSection
(
STFPSSection* pThis,          
WChar const*  fullSectionName 
);

TFAPI_EXPOSE TFWStringList* mdlSTFPSSection_getFullSectionName
(
STFPSSection const* pThis 
);

TFAPI_EXPOSE bool mdlSTFPSSection_taperingIsPossible
(
STFPSSection const* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_setCrossSection
(
STFPSSection* pThis,        
int           sectionType,  
WChar const*  sectionClass, 
WChar const*  sectionName   
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_swap
(
STFPSSection* pThis, 
STFPSSection* pThat  
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_init
(
STFPSSection* pThis,      
WChar const*  sectionName 
);

TFAPI_EXPOSE bool mdlSTFPSSection_isValid
(
STFPSSection const* pThis 
);

TFAPI_EXPOSE bool mdlSTFPSSection_hasCentroid
(
STFPSSection* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_getCentroid
(
STFPSSection* pThis,     
DPoint2d*     pCentroid, 
bool          reflected  
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_getInsertPointOffset
(
STFPSSection const* pThis,            
DPoint2d*           pOffset,          
int                 insertPointIndex, 
bool                reflected         
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_setModelRef
(
STFPSSection* pThis,    
DgnModelRefP  pModelRef 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_getWidth
(
STFPSSection const* pThis, 
double*             pWidth 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_getHeight
(
STFPSSection const* pThis,  
double*             pHeight 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_getWeight
(
STFPSSection const* pThis,  
double*             pWeight 
);

TFAPI_EXPOSE StatusInt mdlSTFPSSection_getFlangeThickness
(
STFPSSection const* pThis,           
double*             pFlangeThickness 
);


TFAPI_EXPOSE StatusInt mdlSTFPSSection_initByRectangularProps
(
STFPSSection* pThis, 
double        width, 
double        height 
);&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/706231?ContentTypeID=1</link><pubDate>Tue, 12 Apr 2022 13:48:23 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:6df44b68-4df4-469f-8b0b-f333413f936f</guid><dc:creator>Mykolas Simutis</dc:creator><description>&lt;p&gt;Here it is&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;TFAPI_EXPOSE void mdlSTFStructuralMemberClass_freeMem
(
void* pMem 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMemberList_constructFromCurveDescr
(
STFStructuralMemberList* pThis,    
MSElementDescr*          pDescr,   
DgnModelRefP             pModelRef 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_initialize
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_initFromElementDescr
(
STFStructuralMember* pThis, 
MSElementDescr*      pDescr 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_copeWithDefaults
(
STFStructuralMember* pThis,     
STFStructuralMember* pThat,     
bool                 cutAtStart 
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_constructFromElementDescr
(
MSElementDescr* pDescr 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setRotation
(
STFStructuralMember* pThis,   
double               rotation 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setRotationDegrees
(
STFStructuralMember* pThis,   
double               rotation 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getRotation
(
STFStructuralMember const* pThis,    
double*                    pRotation 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getRotationDegrees
(
STFStructuralMember const* pThis,    
double*                    pRotation 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setPlacementPoint
(
STFStructuralMember* pThis,         
int                  placementPoint 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getPlacementPoint
(
STFStructuralMember const* pThis,          
int*                       pPlacementPoint 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getInsertOffset
(
STFStructuralMember const* pThis,    
double*                    pOffsetX, 
double*                    pOffsetY  
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setInsertOffset
(
STFStructuralMember* pThis,   
double               offsetX, 
double               offsetY  
);

TFAPI_EXPOSE bool mdlSTFStructuralMember_isMirrored
(
STFStructuralMember const* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setMirror
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_resetMirror
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setSlope
(
STFStructuralMember* pThis, 
double               slope  
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setPQPoints
(
STFStructuralMember* pThis, 
DPoint3d*            pP,    
DPoint3d*            pQ     
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getPQPoints
(
STFStructuralMember* pThis, 
DPoint3d*            pP,    
DPoint3d*            pQ     
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setFullCrossSection
(
STFStructuralMember* pThis,          
WChar const*         fullSectionName 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setCrossSection
(
STFStructuralMember* pThis,      
int                  shapeType,  
WChar const*         shapeClass, 
WChar const*         sectionName 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setPSSection
(
STFStructuralMember* pThis,   
STFPSSection const*  pSection 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getCrossSection
(
STFStructuralMember const* pThis,       
STFPSSectionList**         pSectionList 
);

TFAPI_EXPOSE bool mdlSTFStructuralMember_hasFireproofing
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE MSElementDescr* mdlSTFStructuralMember_getFireproofingElement
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setCatalogItem
(
STFStructuralMember* pThis,       
TFCatalogItemList*   pCatalogItem 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setCatalogItem2
(
STFStructuralMember* pThis,                 
WChar const*         pDataGroupType,        
WChar const*         pDataGroupItem,        
bool                 updatePartFamilyValues 
);

TFAPI_EXPOSE TFCatalogItemList* mdlSTFStructuralMember_getCatalogItem
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_initNamedProperties
(
STFStructuralMember* pThis, 
TFWStringList const* pType, 
TFWStringList const* pName  
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getNamedPropertyValue
(
STFStructuralMember const* pThis,      
TFWStringList const*       pPropName,  
bool                       bDuplicate, 
TFWStringList**            ppPropValue 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setNamedPropertyValue
(
STFStructuralMember* pThis,     
TFWStringList const* pPropName, 
TFWStringList const* pPropValue 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setPartNameAndFamily
(
STFStructuralMember* pThis,      
TFWStringList const* pPartName,  
TFWStringList const* pPartFamily 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setPartFamily
(
STFStructuralMember* pThis,      
TFWStringList const* pPartFamily 
);

TFAPI_EXPOSE TFWStringList* mdlSTFStructuralMember_getPartFamily
(
STFStructuralMember const* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setPartName
(
STFStructuralMember* pThis,    
TFWStringList const* pPartName 
);

TFAPI_EXPOSE TFWStringList* mdlSTFStructuralMember_getPartName
(
STFStructuralMember const* pThis 
);

TFAPI_EXPOSE TFWStringList* mdlSTFStructuralMember_getMaterialName
(
STFStructuralMember const* pThis 
);

TFAPI_EXPOSE TFWStringList* mdlSTFStructuralMember_getMaterialGrade
(
STFStructuralMember const* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_initStructuralDataFromPart
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setTypeString
(
STFStructuralMember* pThis,      
WChar const*         pTypeString 
);
(
STFStructuralMember* pThis,        
int                  stringNumber, 
WChar const*         str           
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setMark
(
STFStructuralMember* pThis, 
WChar const*         pMark  
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setMaterial
(
STFStructuralMember* pThis, 
WChar const*         pName, 
WChar const*         pGrade 
);

TFAPI_EXPOSE MSElementDescr* mdlSTFStructuralMember_createElementWritten
(
STFStructuralMember* pThis,    
DgnModelRefP         pModelRef 
);

TFAPI_EXPOSE MSElementDescr* mdlSTFStructuralMember_createElement
(
STFStructuralMember const* pThis,    
DgnModelRefP               pModelRef 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_swap
(
STFStructuralMember* pThis, 
STFStructuralMember* pThat  
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_duplicate
(
STFStructuralMember*      pThis, 
STFStructuralMemberList** ppCopy 
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMember_getGeometryAtFraction
(
STFStructuralMember* pThis, 
double               start, 
double               end    
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_replaceInModel
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_updateWithObdDataInModel
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE bool mdlSTFStructuralMember_hasStructuralDataAttached
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE TFFormRecipeList* mdlSTFStructuralMember_getTFFormRecipeList
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_getNext
(
STFStructuralMemberList* pThis 
);

TFAPI_EXPOSE void mdlSTFStructuralMemberList_free
(
STFStructuralMemberList** ppThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMemberList_setNext
(
STFStructuralMemberList* pThis, 
STFStructuralMemberList* pNext  
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_construct
(
void 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMemberList_construct2
(
STFStructuralMemberList** ppThis,           
STFStructuralMember*      pStructuralMember 
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_getLast
(
STFStructuralMemberList* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMemberList_append
(
STFStructuralMemberList** ppThis,     
STFStructuralMemberList*  pAppendList 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMemberList_addMember
(
STFStructuralMemberList** ppThis,           
STFStructuralMember*      pStructuralMember 
);

TFAPI_EXPOSE STFStructuralMember* mdlSTFStructuralMemberList_getStructuralMember
(
STFStructuralMemberList* pThis 
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_duplicate
(
STFStructuralMemberList* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMemberList_prepend
(
STFStructuralMemberList** ppThis, 
STFStructuralMemberList*  pAdd    
);

TFAPI_EXPOSE void mdlSTFStructuralMemberList_insertList
(
STFStructuralMemberList* pThis,  
STFStructuralMemberList* pInsert 
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_unlinkNode
(
STFStructuralMemberList** ppThis, 
STFStructuralMemberList*  pRemove 
);

TFAPI_EXPOSE int mdlSTFStructuralMemberList_getIndex
(
STFStructuralMemberList const* pThis,  
STFStructuralMemberList const* pSearch 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMemberList_reverse
(
STFStructuralMemberList** ppThis 
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_getNode
(
STFStructuralMemberList* pThis, 
int                      index  
);

TFAPI_EXPOSE int mdlSTFStructuralMemberList_getCount
(
STFStructuralMemberList const* pThis 
);

TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_constructFromFilePos
(
ULong        filePos,  
DgnModelRefP pModelRef 
);

TFAPI_EXPOSE DgnModelRefP mdlSTFStructuralMember_getModelRef
(
STFStructuralMember const* pThis 
);

TFAPI_EXPOSE TFIdList* mdlSTFStructuralMember_getFireProofingIdList
(
STFStructuralMember const* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setFireProofingIdList
(
STFStructuralMember* pThis,  
TFIdList*            pIdList 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_reWriteFireProofingIdListToFile
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_replaceInDgn
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setStructuralPropertyByName
(
STFStructuralMember* pThis, 
WChar const*         name,  
WChar const*         value  
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_cope
(
STFStructuralMember* pThis,           
STFStructuralMember* pThat,           
bool                 cutAtStart,      
int                  layout,          
int                  edgeLayout,      
double               flangeClearance, 
double               webClearance,    
double               radiusCorner     
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_copeRich
(
STFStructuralMember* pThis,       
STFStructuralMember* pThat,       
bool                 cutAtStart,  
int                  layout,      
int                  edgeLayout,  
double               topOutside,  
double               topEdge,     
double               topInside,   
double               downOutside, 
double               downEdge,    
double               downInside,  
double               web,         
double               radius       
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_delete
(
STFStructuralMember* pThis 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setSymbology
(
STFStructuralMember* pThis,     
TFSymbology*         pSymbology 
);

TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getOrientationVectors
(
STFStructuralMember const* pThis,    
DVec3d*                    pXVec,    
DVec3d*                    pYVec,    
DVec3d*                    pZVec,    
DgnModelRefP               pModelRef 
);

&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/706208?ContentTypeID=1</link><pubDate>Tue, 12 Apr 2022 11:51:58 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:99e7c786-5f71-4b93-8f47-142c5fb5e111</guid><dc:creator>Manuel H&amp;#246;ger</dc:creator><description>&lt;p&gt;Hi Mykolas,&lt;/p&gt;
&lt;p&gt;Is it possible that you send me the rest of the mdlstfstructuralmember_ header signatures? I want to create a structural member as well and at the moment I&amp;#39;m doing this with a dotnet workaround. This is not very satisfying.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Greetings&lt;/p&gt;
&lt;p&gt;Manu&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/705959?ContentTypeID=1</link><pubDate>Mon, 11 Apr 2022 09:54:09 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:8835c59e-1296-46f6-a388-d263688fed92</guid><dc:creator>Manuel H&amp;#246;ger</dc:creator><description>&lt;p&gt;Not the normal parametric Cells, but the user defined Catalog Element Cells. Defined as &amp;quot;Paradef:Cel(Parametric)&amp;quot; in Calalog Manager. Just for clarity!&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Tanks again and in advance!&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/705957?ContentTypeID=1</link><pubDate>Mon, 11 Apr 2022 09:48:42 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:ade26bba-4397-48e8-a288-5712f1d9eb02</guid><dc:creator>Mykolas Simutis</dc:creator><description>&lt;p&gt;Wonderful, I will take a look at placing parametric cells with API&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/705956?ContentTypeID=1</link><pubDate>Mon, 11 Apr 2022 09:24:17 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:81a34a49-867b-4188-9967-8180b17bacd7</guid><dc:creator>Manuel H&amp;#246;ger</dc:creator><description>&lt;p&gt;Sorry my fault, Was too late yesterday... I missed to change this function. Now it works perfectly.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Wonderful! Thanks.&lt;/p&gt;
&lt;p&gt;Maybe you have some more additional Function hints about placing Architectural (TriForma) Elements like a ladder or other parametric cell Elements (I try to place a Parametric (CEL) cell.? This would be so nice!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="/products/building/building_analysis___design/f/aecosim-speedikon-forum/227370/obd-sdk-c-update-9-placing-triforma-element-with-loadables"&gt;[OBD SDK C++ Update 9] Placing Triforma Element with &amp;quot;Loadables&amp;quot; - OpenBuildings | AECOsim | Speedikon | Forum - OpenBuildings | AECOsim | Speedikon - Bentley Communities&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/705935?ContentTypeID=1</link><pubDate>Mon, 11 Apr 2022 07:39:30 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:b6aea045-7111-4c4d-b326-6881586db93b</guid><dc:creator>Manuel H&amp;#246;ger</dc:creator><description>&lt;p&gt;I tried your proposal and it works fine until the replaceInDgn Function. It returns a Heavy Memory Error:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="/resized-image/__size/320x240/__key/communityserver-discussions-components-files/5917/pastedimage1649662908103v2.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;I used following Code:&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Header:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#include &amp;lt;tfapi\tfdefines.h&amp;gt;

typedef void STFStructuralMember;
typedef void STFStructuralMemberList;

extern &amp;quot;C&amp;quot; {

	TFAPI_EXPOSE STFStructuralMemberList* mdlSTFStructuralMemberList_constructFromElementDescr

	(
		MSElementDescr* pDescr
	);

	TFAPI_EXPOSE STFStructuralMember* mdlSTFStructuralMemberList_getStructuralMember
	(
		STFStructuralMemberList* pThis
	);

	TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_getPQPoints
	(
		STFStructuralMember* pThis,
		DPoint3d* pP,
		DPoint3d* pQ
	);

	TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_setPQPoints
	(
		STFStructuralMember* pThis,
		DPoint3d* pP,
		DPoint3d* pQ
	);

	TFAPI_EXPOSE StatusInt mdlSTFStructuralMember_replaceInDgn
	(
		STFStructuralMember* pThis
	);

	TFAPI_EXPOSE StatusInt mdlSTFStructuralMemberList_free
	(
		STFStructuralMember* pThis
	);

}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Source&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;StatusInt ChangeStructuralLinearElementLength(EditElementHandleR eehSteelBeam)
	{

		StatusInt statusInt;



		MSElementDescrP elmDescrP = eehSteelBeam.GetElementDescrP(), elmDescrCopyP;
		auto elmDescrExtrP = eehSteelBeam.ExtractElementDescr();

		STFStructuralMemberList* structuralMemberListP = mdlSTFStructuralMemberList_constructFromElementDescr(elmDescrP);	//SUCCESS
		if (!structuralMemberListP)return ERROR;

		STFStructuralMember* structuralMemberP = mdlSTFStructuralMemberList_getStructuralMember(structuralMemberListP);	//SUCCESS
		if (!structuralMemberP)return ERROR;

		DPoint3d pP = { 0,0,0 };
		DPoint3d pQ = { 0,0,0 };
		mdlSTFStructuralMember_getPQPoints(structuralMemberP, &amp;amp;pP, &amp;amp;pQ);	//SUCCESS
		pQ.z += 2000000;
		statusInt = mdlSTFStructuralMember_setPQPoints(structuralMemberP, &amp;amp;pP, &amp;amp;pQ);	//SUCCESS

        
		//statusInt = mdlSTFLinearMember_replaceInDgn(structuralMemberP);		////Memory Exception
        //Edit:
        statusInt = mdlSTFStructuralMember_replaceInDgn(structuralMemberP);		//SUCCESS After Edit

		mdlSTFStructuralMemberList_free(&amp;amp;structuralMemberListP);

		return SUCCESS;


	}&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/705679?ContentTypeID=1</link><pubDate>Fri, 08 Apr 2022 15:06:57 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:ecfd1858-c29d-48be-8a65-1151234bfe92</guid><dc:creator>Mykolas Simutis</dc:creator><description>&lt;p&gt;That&amp;#39;s unfortunate. But the exports should still be there, can we try with forward declarations? Could you try to put this code before the _OnElementModify? If you&amp;#39;re working with C, don&amp;#39;t add the&amp;nbsp;&lt;em&gt;extern &amp;quot;C&amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;typedef void STFStructuralMember;&lt;br /&gt;typedef void STFStructuralMemberList;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:inherit;"&gt;extern &amp;quot;C&amp;quot; {&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:inherit;"&gt;&lt;br /&gt;STFStructuralMemberList* mdlSTFStructuralMemberList_constructFromElementDescr&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;(&lt;br /&gt;MSElementDescr* pDescr &lt;br /&gt;);&lt;/p&gt;
&lt;p&gt;STFStructuralMember* mdlSTFStructuralMemberList_getStructuralMember&lt;br /&gt;(&lt;br /&gt;STFStructuralMemberList* pThis &lt;br /&gt;);&lt;/p&gt;
&lt;p&gt;StatusInt mdlSTFStructuralMember_getPQPoints&lt;br /&gt;(&lt;br /&gt;STFStructuralMember* pThis, &lt;br /&gt;DPoint3d* pP, &lt;br /&gt;DPoint3d* pQ &lt;br /&gt;);&lt;/p&gt;
&lt;p&gt;StatusInt mdlSTFStructuralMember_setPQPoints&lt;br /&gt;(&lt;br /&gt;STFStructuralMember* pThis, &lt;br /&gt;DPoint3d* pP, &lt;br /&gt;DPoint3d* pQ &lt;br /&gt;);&lt;/p&gt;
&lt;p&gt;StatusInt mdlSTFStructuralMember_replaceInDgn&lt;br /&gt;(&lt;br /&gt;STFStructuralMember* pThis &lt;br /&gt;);&lt;br /&gt;}&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/705676?ContentTypeID=1</link><pubDate>Fri, 08 Apr 2022 14:23:45 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:c985803b-2fc2-4367-a95e-6d5b22485d9b</guid><dc:creator>Manuel H&amp;#246;ger</dc:creator><description>&lt;p&gt;Hello,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Thanks for your suggestion.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve looked 5 times now, but can&amp;#39;t find the&amp;nbsp;&lt;span&gt;mdlstfstructuralmember.fdf in my Update 9 SDK. I&amp;#39;m quite sure that it is not existent in my ODSDK.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Regards&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Manuel H&amp;ouml;ger&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/705668?ContentTypeID=1</link><pubDate>Fri, 08 Apr 2022 13:42:23 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:e6e53ec0-5a4d-4572-b434-7c9c6d1e3552</guid><dc:creator>Mykolas Simutis</dc:creator><description>&lt;p&gt;Hello,&lt;/p&gt;
&lt;p&gt;since Update 6, the default structural elements have been replaced with new generation structural&amp;nbsp;elements. Most likely, the element handle eehSteelBeam contains this new generation structural element.&amp;nbsp;The API for them is&amp;nbsp;mdlSTFStructuralMember found in&amp;nbsp;mdlstfstructuralmember.fdf and should be located next to&amp;nbsp;mdlstflnrmem.fdf&lt;/p&gt;
&lt;p&gt;The new functions to&amp;nbsp;replace old ones are&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;mdlSTFStructuralMemberList_constructFromElementDescr&lt;/p&gt;
&lt;p&gt;mdlSTFStructuralMemberList_getStructuralMember&lt;/p&gt;
&lt;p&gt;mdlSTFStructuralMember_getPQPoints&lt;/p&gt;
&lt;p&gt;mdlSTFStructuralMember_setPQPoints&lt;/p&gt;
&lt;p&gt;mdlSTFStructuralMember_replaceInDgn&lt;/p&gt;
&lt;p&gt;The old&amp;nbsp;mdlSTFLinearMember API is still available for these new elements as read-only.&lt;/p&gt;
&lt;p&gt;Please let me know if this solves the issue&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: [OBD SDK Connect Update 8] - modifying Structural Elements with Open Building SDK (STFC-Api)</title><link>https://communities.bentley.com/thread/693969?ContentTypeID=1</link><pubDate>Fri, 28 Jan 2022 15:30:10 GMT</pubDate><guid isPermaLink="false">6dad98f5-dbc9-4c4d-a9ba-e9da8dc6aa8e:e67b5ccf-d1f9-4464-9e77-17ea6e596da1</guid><dc:creator>Robert Hook</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;a class="internal-link view-user-profile" href="/members/26364a5a_2d00_b09a_2d00_40b5_2d00_be59_2d00_5b1b2abac7e8"&gt;Manuel H&amp;ouml;ger&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;One of our OBD developers saw this issue and filed &lt;strong&gt;Bug 792753&lt;/strong&gt;&amp;nbsp;(linked to SR 7001367497) for this issue to address in a future release and/or will provide any work-around recommendations if any can be provided.&lt;/p&gt;
&lt;p&gt;Thank you,&lt;br /&gt;Bob&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>