<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Auto-generation add-on for column CAD compatibility in Archicad C++ API</title>
    <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283599#M4067</link>
    <description>Take a look at the documentation for &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Element_GetMemo&lt;E&gt;&lt;/E&gt;. It lists the memos that are relevant to every element type. For &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;API_ColumnID&lt;E&gt;&lt;/E&gt;, this includes &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;gables&lt;E&gt;&lt;/E&gt;, &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;customOrigProfile&lt;E&gt;&lt;/E&gt; and &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;stretchedProfile&lt;E&gt;&lt;/E&gt;, but not &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;coords&lt;E&gt;&lt;/E&gt;.&lt;BR /&gt;
&lt;BR /&gt;
You should be able to make this work by setting &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;columnElem.column.coreWidth&lt;E&gt;&lt;/E&gt; and &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;columnElem.column.coreDepth&lt;E&gt;&lt;/E&gt;. You don't need to set a bounding polygon for a simple rectangle or circle.&lt;BR /&gt;
&lt;BR /&gt;
Edit: Be careful with your array bounds - I notice you allocate memory for 5 coordinates, but then reference &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;(*polyMemo.coords)[5]&lt;E&gt;&lt;/E&gt;. Remember that C/C++ arrays are zero-based, so you can safely reference [0]…[size - 1]</description>
    <pubDate>Thu, 19 Apr 2018 08:29:02 GMT</pubDate>
    <dc:creator>Ralph Wessel</dc:creator>
    <dc:date>2018-04-19T08:29:02Z</dc:date>
    <item>
      <title>Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283587#M4055</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;I'm still an API beginner. I've been dealing with C ++ 10 years ago.&lt;BR /&gt;Area(or Zone) and text were created by inserting the precast columns and column name layers drawn in CAD drawings using merge to worksheet function.&lt;BR /&gt;I want to create an add-on that uses this and calculates the outline size of the area to create a column object and select the column Text nearest to each area as this object and input it as the id of the column object. Would it be easy to develop based on an example&lt;/DIV&gt;</description>
      <pubDate>Tue, 06 Dec 2022 12:42:34 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283587#M4055</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2022-12-06T12:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283588#M4056</link>
      <description>Probably the most relevant example project is "Element_Test". This shows you have to create a new column, and how to find or edit existing elements.</description>
      <pubDate>Thu, 12 Apr 2018 09:52:30 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283588#M4056</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2018-04-12T09:52:30Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283589#M4057</link>
      <description>Hi, &lt;BR /&gt;
&lt;BR /&gt;
I had a similar idea once.  When its ready are you going to publish this Addin?</description>
      <pubDate>Mon, 16 Apr 2018 12:36:44 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283589#M4057</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-16T12:36:44Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283590#M4058</link>
      <description>We are reviewing the sample files. However, many results are written in a report window using a function called "WriterReport". Even if you run the add-on as a demo version and check the File / Information / Report menu,&lt;BR /&gt;
How can I see the result?&lt;BR /&gt;
For example, if you run Do_ListSelection (void) in the Selection example file, you do not know the result.</description>
      <pubDate>Mon, 16 Apr 2018 19:38:54 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283590#M4058</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-16T19:38:54Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283591#M4059</link>
      <description>Debug into the add-on and set breakpoints wherever you want to inspect variable contents.</description>
      <pubDate>Mon, 16 Apr 2018 20:19:49 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283591#M4059</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2018-04-16T20:19:49Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283592#M4060</link>
      <description>To install Debugging tools, download Graphisoft Visual Studio debug visualizers as directed by the Tools for debugging site, copy GS.natvis, IO.natvis 2 files to the / Documents / Visual Studio 2015 / Visualizers folder and restart Visual Studio . And I loaded the apx example files that I built in the Archicad 21 add-on manager.&lt;BR /&gt;
In Visual Studio, I set up breakpoints with F9 and started debugging by pressing F5&lt;BR /&gt;
The following error occurs. What is the problem?</description>
      <pubDate>Tue, 17 Apr 2018 01:00:35 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283592#M4060</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-17T01:00:35Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283593#M4061</link>
      <description>In Debugging in the Project Properties setting window, you specified the path of Archicad.exe to Command item, and Debug was able to execute. Thank you.</description>
      <pubDate>Tue, 17 Apr 2018 07:52:11 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283593#M4061</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-17T07:52:11Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283594#M4062</link>
      <description>Here is the big execution flow for the addons I'm going to develop.&lt;BR /&gt;
&lt;BR /&gt;
Using Archicad's Merge function, select the Column_layer and Column_Name_Layer layers in DWG to generate Polyline and Text.&lt;BR /&gt;
&lt;BR /&gt;
1, Find a polyline quadrilateral element list with a specific layer.&lt;BR /&gt;
2 Calculate the horizontal and vertical dimensions of the column by calculating the distance of the vertex of the polyline.&lt;BR /&gt;
3, Get a list of Text with a specific layer, and get the base point and Text value.&lt;BR /&gt;
4. Find the minimum distance between the diagonal intersection of the polyline and the text reference point.&lt;BR /&gt;
5. Enter Text as the ID of the column element and enter the horizontal and vertical dimensions.&lt;BR /&gt;
6. Create a column element.&lt;BR /&gt;
&lt;BR /&gt;
What functions should be used when developing an execution function in this order?&lt;BR /&gt;
&lt;BR /&gt;
ACAPI_Element_Get&lt;BR /&gt;
ACAPI_Element_GetMemo&lt;BR /&gt;
ACAPI_Element_GetDefaults&lt;BR /&gt;
ACAPI_Element_Create&lt;BR /&gt;
ACAPI_Element_ChangeParameters&lt;BR /&gt;
..&lt;BR /&gt;
What else is there?&lt;BR /&gt;
In particular, how do you find the distance of the four vertices of Polyline?</description>
      <pubDate>Tue, 17 Apr 2018 08:08:06 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283594#M4062</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-17T08:08:06Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283595#M4063</link>
      <description>You will probably want to use &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Element_GetElemList&lt;E&gt;&lt;/E&gt; to find the 2d elements to construct the columns from.&lt;BR /&gt;
&lt;BR /&gt;
I recommend also checking what 2D elements are created when the DWG is merged. Columns might be defined as any of the following:&lt;BR /&gt;
&lt;BR /&gt;
- Four separate lines&lt;BR /&gt;
- One to four polylines&lt;BR /&gt;
- A combination of lines and polylines&lt;BR /&gt;
- A fill (closed polygon)&lt;BR /&gt;
- A library part (from an AutoCAD block), which might include the text label&lt;BR /&gt;
&lt;BR /&gt;
The techniques for finding the elements and extracting relevant geometry will vary according to the element type. It's also possible there may be duplicates, e.g. a fill overlapping 4 bounding lines.</description>
      <pubDate>Tue, 17 Apr 2018 13:26:21 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283595#M4063</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2018-04-17T13:26:21Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283596#M4064</link>
      <description>I am considering how to create an Element.&lt;BR /&gt;
If column_outLine_layer calculates the column dimension value (500mm * 500mm) with 2D polyline&lt;BR /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If column_name_layer is 2D text and the column element id (13-101-0100) is input&lt;BR /&gt;
&lt;BR /&gt;
For API_ColumnType&lt;BR /&gt;
coreDepth = vertical dimension&lt;BR /&gt;
coreWidth = horizontal dimension&lt;BR /&gt;
height        = column height&lt;BR /&gt;
origoPos.x =x coordinate of  origin point &lt;BR /&gt;
origoPos.y = y coordinate of origin point&lt;BR /&gt;
&lt;BR /&gt;
To create an API_Element element&lt;BR /&gt;
I created the API_ElementMemo element at the same time&lt;BR /&gt;
&lt;BR /&gt;
We need to create a column element&lt;BR /&gt;
&lt;BR /&gt;
Column Element id value (13-101-0100) Could not find the value of the variable in the structure where you can enter the character variable.&lt;BR /&gt;
Can I enter the value of a column variable corresponding to the picture below in a variable value?</description>
      <pubDate>Wed, 18 Apr 2018 04:08:11 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283596#M4064</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-18T04:08:11Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283597#M4065</link>
      <description>The ID is set in API_ElementMemo.elemInfoString</description>
      <pubDate>Wed, 18 Apr 2018 07:44:51 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283597#M4065</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2018-04-18T07:44:51Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283598#M4066</link>
      <description>ACAPI_Element_Create (&amp;amp; columnElem, &amp;amp; columnMemo); An error has occurred during debugging.&lt;BR /&gt;
 What's wrong?&lt;BR /&gt;
---------------------------------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;
	GSErrCode			err;&lt;BR /&gt;
	GS::Array&amp;lt;API_Guid&amp;gt; polylineList, textList;&lt;BR /&gt;
&lt;BR /&gt;
	err = ACAPI_Element_GetElemList(API_PolyLineID, &amp;amp;polylineList);&lt;BR /&gt;
	WriteReport("Number of total polyline: %u", (GS::UIntForStdio) polylineList.GetSize());&lt;BR /&gt;
	err = ACAPI_Element_GetElemList(API_TextID, &amp;amp;textList);&lt;BR /&gt;
	WriteReport("Number of total Text: %u", (GS::UIntForStdio) textList.GetSize());&lt;BR /&gt;
&lt;BR /&gt;
	Int32	i,j;&lt;BR /&gt;
	API_Element polyElem, textElem, columnElem;&lt;BR /&gt;
	API_ElementMemo polyMemo, textMemo, columnMemo;&lt;BR /&gt;
	API_Coord cenCoord;&lt;BR /&gt;
	API_Guid guid;&lt;BR /&gt;
	char text[20];&lt;BR /&gt;
	double a, b,x,y,minDist,Dist;&lt;BR /&gt;
	for (i = 0 ; i &amp;lt; 1; i++) //polylineList.GetSize(); i++)&lt;BR /&gt;
	{&lt;BR /&gt;
		BNZeroMemory(&amp;amp;polyElem, sizeof(API_Element));&lt;BR /&gt;
		BNZeroMemory(&amp;amp;polyMemo, sizeof(API_ElementMemo));&lt;BR /&gt;
		polyElem.header.guid = polylineList&lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;;&lt;BR /&gt;
		err = ACAPI_Element_Get(&amp;amp;polyElem);&lt;BR /&gt;
		err = ACAPI_Element_GetMemo(polyElem.header.guid, &amp;amp;polyMemo);&lt;BR /&gt;
		b = DistCPtr(&amp;amp;(*polyMemo.coords)[1], &amp;amp;(*polyMemo.coords)[2]);&lt;BR /&gt;
		a = DistCPtr(&amp;amp;(*polyMemo.coords)[2], &amp;amp;(*polyMemo.coords)[3]);&lt;BR /&gt;
		cenCoord.x = ((*polyMemo.coords)[1].x + (*polyMemo.coords)[2].x + (*polyMemo.coords)[3].x + (*polyMemo.coords)[4].x) / 4;&lt;BR /&gt;
		cenCoord.y = ((*polyMemo.coords)[1].y + (*polyMemo.coords)[2].y + (*polyMemo.coords)[3].y + (*polyMemo.coords)[4].y) / 4;&lt;BR /&gt;
		minDist = 100000000000000;&lt;BR /&gt;
		for (j=0 ; j&amp;lt;textList.GetSize(); j++)&lt;BR /&gt;
		{&lt;BR /&gt;
			BNZeroMemory(&amp;amp;textElem, sizeof(API_Element));&lt;BR /&gt;
			BNZeroMemory(&amp;amp;textMemo, sizeof(API_ElementMemo));&lt;BR /&gt;
			textElem.header.guid = textList&lt;J&gt;;&lt;BR /&gt;
			err = ACAPI_Element_Get(&amp;amp;textElem);&lt;BR /&gt;
			err = ACAPI_Element_GetMemo(textElem.header.guid, &amp;amp;textMemo);&lt;BR /&gt;
			Dist = DistCPtr(&amp;amp;textElem.text.loc, &amp;amp;cenCoord);&lt;BR /&gt;
			&lt;BR /&gt;
			if (Dist &amp;lt; minDist)&lt;BR /&gt;
			{&lt;BR /&gt;
				minDist = Dist;&lt;BR /&gt;
				strcpy(text, *textMemo.textContent);&lt;BR /&gt;
				guid = textElem.header.guid;&lt;BR /&gt;
			}&lt;BR /&gt;
			&lt;BR /&gt;
		}&lt;BR /&gt;
		BNZeroMemory(&amp;amp;columnElem, sizeof(API_Element));&lt;BR /&gt;
		BNZeroMemory(&amp;amp;columnMemo, sizeof(API_ElementMemo));&lt;BR /&gt;
		&lt;BR /&gt;
		columnElem.header.typeID = API_ColumnID;&lt;BR /&gt;
&lt;BR /&gt;
		GSErrCode err = ACAPI_Element_GetDefaults(&amp;amp;columnElem, nullptr);&lt;BR /&gt;
		columnElem.column.coreWidth = a;&lt;BR /&gt;
		columnElem.column.coreDepth = b;&lt;BR /&gt;
		columnElem.column.origoPos = cenCoord;&lt;BR /&gt;
		columnMemo.coords = (API_Coord**)BMhAllClear((5) * sizeof(API_Coord));&lt;BR /&gt;
		columnMemo.elemInfoString = new GS::UniString(text);&lt;BR /&gt;
		GS::UniString	*elemInfoString= columnMemo.elemInfoString;&lt;BR /&gt;
		&lt;BR /&gt;
		(*columnMemo.coords)[1].x = (*polyMemo.coords)[1].x;&lt;BR /&gt;
		(*columnMemo.coords)[1].y = (*polyMemo.coords)[1].y;&lt;BR /&gt;
		(*columnMemo.coords)[2].x = (*polyMemo.coords)[2].x;&lt;BR /&gt;
		(*columnMemo.coords)[2].y = (*polyMemo.coords)[2].y;&lt;BR /&gt;
		(*columnMemo.coords)[3].x = (*polyMemo.coords)[3].x;&lt;BR /&gt;
		(*columnMemo.coords)[3].y = (*polyMemo.coords)[3].y;&lt;BR /&gt;
		(*columnMemo.coords)[4].x = (*polyMemo.coords)[4].x;&lt;BR /&gt;
		(*columnMemo.coords)[4].y = (*polyMemo.coords)[4].y;&lt;BR /&gt;
		(*columnMemo.coords)[5].x = (*polyMemo.coords)[5].x;&lt;BR /&gt;
		(*columnMemo.coords)[5].y = (*polyMemo.coords)[5].y;&lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;S&gt;&lt;B&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/S&gt;&lt;FONT size="150"&gt;err = ACAPI_Element_Create(&amp;amp;columnElem,    &amp;amp;columnMemo); //  nullptr);//  ==&amp;gt;  Error &lt;/FONT&gt;&lt;E&gt;&lt;/E&gt;&lt;BR /&gt;
	}&lt;BR /&gt;
	ACAPI_DisposeElemMemoHdls(&amp;amp;polyMemo);&lt;BR /&gt;
	ACAPI_DisposeElemMemoHdls(&amp;amp;textMemo);&lt;BR /&gt;
	ACAPI_DisposeElemMemoHdls(&amp;amp;columnMemo);&lt;/J&gt;</description>
      <pubDate>Thu, 19 Apr 2018 04:26:25 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283598#M4066</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-19T04:26:25Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283599#M4067</link>
      <description>Take a look at the documentation for &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Element_GetMemo&lt;E&gt;&lt;/E&gt;. It lists the memos that are relevant to every element type. For &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;API_ColumnID&lt;E&gt;&lt;/E&gt;, this includes &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;gables&lt;E&gt;&lt;/E&gt;, &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;customOrigProfile&lt;E&gt;&lt;/E&gt; and &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;stretchedProfile&lt;E&gt;&lt;/E&gt;, but not &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;coords&lt;E&gt;&lt;/E&gt;.&lt;BR /&gt;
&lt;BR /&gt;
You should be able to make this work by setting &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;columnElem.column.coreWidth&lt;E&gt;&lt;/E&gt; and &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;columnElem.column.coreDepth&lt;E&gt;&lt;/E&gt;. You don't need to set a bounding polygon for a simple rectangle or circle.&lt;BR /&gt;
&lt;BR /&gt;
Edit: Be careful with your array bounds - I notice you allocate memory for 5 coordinates, but then reference &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;(*polyMemo.coords)[5]&lt;E&gt;&lt;/E&gt;. Remember that C/C++ arrays are zero-based, so you can safely reference [0]…[size - 1]</description>
      <pubDate>Thu, 19 Apr 2018 08:29:02 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283599#M4067</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2018-04-19T08:29:02Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283600#M4068</link>
      <description>Thanks Ralph Wessel !&lt;BR /&gt;
&lt;BR /&gt;
Success Ha Ha Ha&lt;BR /&gt;
!</description>
      <pubDate>Fri, 20 Apr 2018 00:06:09 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283600#M4068</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-20T00:06:09Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283601#M4069</link>
      <description>What parts do I need to modify to make this add-on an API with a name other than Element_Test? What if I change the project name as well?</description>
      <pubDate>Fri, 20 Apr 2018 00:58:40 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283601#M4069</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-20T00:58:40Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283602#M4070</link>
      <description>I can't remember all the details off the top of my head, but I think it's primarily named from the project settings Linker &amp;gt; General &amp;gt; Output File&lt;BR /&gt;
&lt;BR /&gt;
This is generally easier to do by simply editing the files with a text editor, e.g. Find/Replace the expression "Element_Test". You can also rename the project/solution files.</description>
      <pubDate>Fri, 20 Apr 2018 08:55:05 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283602#M4070</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2018-04-20T08:55:05Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283603#M4071</link>
      <description>I'm developing a routine to automatically generate beams using CAD data.&lt;BR /&gt;
The basic development direction is&lt;BR /&gt;
1) Call up the line list representing the contour of the beam&lt;BR /&gt;
2) Find a line that is parallel and spaced by a certain width and calculates the width of the beam.&lt;BR /&gt;
3) After drawing the centerline of the same length&lt;BR /&gt;
4) Create a rectangular beam with the same information.&lt;BR /&gt;
So far development has been completed with the test data.&lt;BR /&gt;
In order to enter the height of the beam,&lt;BR /&gt;
You want to modify the value of the beam member with the same ID by inputting the beam name and the dimension together, and entering the horizontal and vertical dimensions of the member corresponding to the name, respectively.

I have the following questions.&lt;BR /&gt;
1) How to find a list of elements with a specific layer name (ex: "exp1")?&lt;BR /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;How do I find a text element with a layer name "t1"?&lt;BR /&gt;
2) What is the function formula that calculates the points that meet on the extension line in the algorithm that finds the intersection point of two straight lines in 2D plane?&lt;BR /&gt;
3) How can I retrieve a list of elements with a specific ID and change the attribute information?</description>
      <pubDate>Wed, 25 Apr 2018 01:47:15 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283603#M4071</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-25T01:47:15Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283604#M4072</link>
      <description>&lt;BLOCKQUOTE&gt;park wrote:&lt;BR /&gt;I have the following questions.&lt;BR /&gt;
1) How to find a list of elements with a specific layer name (ex: "exp1")?&lt;BR /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;How do I find a text element with a layer name "t1"?&lt;/BLOCKQUOTE&gt;
Elements store the index of the layer they are on (not the name), so you need to look up the layer first to retrieve its index. Don't hardcode the index because it can change. Then you will need to iterate through the elements to search for the required layer index. If you're searching for a specific element type, e.g. text, you can use &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Element_GetElemList&lt;E&gt;&lt;/E&gt; to filter for that type.&lt;BR /&gt;

&lt;BLOCKQUOTE&gt;park wrote:&lt;BR /&gt;2) What is the function formula that calculates the points that meet on the extension line in the algorithm that finds the intersection point of two straight lines in 2D plane?&lt;/BLOCKQUOTE&gt;
I wrote my own methods for this before the ARCHICAD  API existed, so I don't know what it has to offer in this respect.&lt;BR /&gt;

&lt;BLOCKQUOTE&gt;park wrote:&lt;BR /&gt;3) How can I retrieve a list of elements with a specific ID and change the attribute information?&lt;/BLOCKQUOTE&gt;
You will have to iterate through all the elements to find those with a specific ID –&amp;nbsp;I'm not aware of a shortcut. If you change any attribute, an element can be written back to the database with &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;ACAPI_Element_Change&lt;E&gt;&lt;/E&gt;.</description>
      <pubDate>Wed, 25 Apr 2018 08:39:15 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283604#M4072</guid>
      <dc:creator>Ralph Wessel</dc:creator>
      <dc:date>2018-04-25T08:39:15Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283605#M4073</link>
      <description>ACAPI_ELEMENT_MASK_CLEAR(mask);&lt;BR /&gt;
				ACAPI_ELEMENT_MASK_SET(mask, API_BeamType, height );&lt;BR /&gt;
&lt;BR /&gt;
				element.beam.height = beamList&lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;.height;&lt;BR /&gt;
&lt;BR /&gt;
				err = ACAPI_Element_Change(&amp;amp;element, &amp;amp;mask, &amp;amp;memo, 0, true);&lt;BR /&gt;
				err = ACAPI_Element_Get(&amp;amp;element);&lt;BR /&gt;
				err = ACAPI_Element_GetMemo(element.header.guid, &amp;amp;memo);&lt;BR /&gt;
&lt;BR /&gt;
Firstly, the beam member generated from the plan view is read by the list data&lt;BR /&gt;
We want to change the height of the beam member.&lt;BR /&gt;
I programmed the above to change the height of the beam member&lt;BR /&gt;
&lt;BR /&gt;
The height of the beam member is not changed.&lt;BR /&gt;
Why?</description>
      <pubDate>Wed, 09 May 2018 10:58:55 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283605#M4073</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-05-09T10:58:55Z</dc:date>
    </item>
    <item>
      <title>Re: Auto-generation add-on for column CAD compatibility</title>
      <link>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283606#M4074</link>
      <description>When I checked the error, I noticed a NotEditeable error and turned on the layer. But how do you edit attribute information with editability?</description>
      <pubDate>Thu, 10 May 2018 00:45:27 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Archicad-C-API/Auto-generation-add-on-for-column-CAD-compatibility/m-p/283606#M4074</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-05-10T00:45:27Z</dc:date>
    </item>
  </channel>
</rss>

